You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2012/02/14 14:46:59 UTC
svn commit: r1243918 - in /openejb/trunk/openejb/container/openejb-core/src:
main/java/org/apache/openejb/assembler/classic/
test/java/org/apache/openejb/bval/ test/java/org/apache/openejb/bval/util/
test/resources/META-INF/services/
Author: rmannibucau
Date: Tue Feb 14 13:46:59 2012
New Revision: 1243918
URL: http://svn.apache.org/viewvc?rev=1243918&view=rev
Log:
OPENEJB-1773 using a custom valition provider to be able to switch easily at runtime of provider
Added:
openejb/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/bval/util/
openejb/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/bval/util/CustomValidatorProvider.java
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorBuilder.java
openejb/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/bval/BeanValidationCustomProviderTest.java
openejb/trunk/openejb/container/openejb-core/src/test/resources/META-INF/services/javax.validation.spi.ValidationProvider
Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorBuilder.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorBuilder.java?rev=1243918&r1=1243917&r2=1243918&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorBuilder.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorBuilder.java Tue Feb 14 13:46:59 2012
@@ -96,7 +96,7 @@ public final class ValidatorBuilder {
String providerClassName = info.providerClassName;
if (providerClassName == null) {
- providerClassName = System.getProperty(VALIDATION_PROVIDER_KEY, "org.apache.bval.jsr303.ApacheValidationProvider");
+ providerClassName = System.getProperty(VALIDATION_PROVIDER_KEY);
}
if (providerClassName != null) {
Modified: openejb/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/bval/BeanValidationCustomProviderTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/bval/BeanValidationCustomProviderTest.java?rev=1243918&r1=1243917&r2=1243918&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/bval/BeanValidationCustomProviderTest.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/bval/BeanValidationCustomProviderTest.java Tue Feb 14 13:46:59 2012
@@ -16,7 +16,9 @@
*/
package org.apache.openejb.bval;
+import org.apache.bval.jsr303.ApacheValidationProvider;
import org.apache.openejb.assembler.classic.ValidatorBuilder;
+import org.apache.openejb.bval.util.CustomValidatorProvider;
import org.apache.openejb.jee.Empty;
import org.apache.openejb.jee.StatelessBean;
import org.apache.openejb.junit.ApplicationComposer;
@@ -31,19 +33,7 @@ import javax.ejb.EJB;
import javax.ejb.Stateless;
import javax.ejb.TransactionAttribute;
import javax.ejb.TransactionAttributeType;
-import javax.validation.ConstraintValidatorFactory;
-import javax.validation.ConstraintViolation;
-import javax.validation.MessageInterpolator;
-import javax.validation.TraversableResolver;
import javax.validation.Validator;
-import javax.validation.ValidatorContext;
-import javax.validation.ValidatorFactory;
-import javax.validation.metadata.BeanDescriptor;
-import javax.validation.spi.BootstrapState;
-import javax.validation.spi.ConfigurationState;
-import javax.validation.spi.ValidationProvider;
-import java.io.InputStream;
-import java.util.Set;
import static org.junit.Assert.assertTrue;
@@ -54,11 +44,13 @@ public class BeanValidationCustomProvide
@BeforeClass
public static void initProvider() {
+ CustomValidatorProvider.provider = new CustomValidatorProvider.NullValidatorProvider();
System.setProperty(ValidatorBuilder.VALIDATION_PROVIDER_KEY, CustomValidatorProvider.class.getName());
}
@AfterClass
public static void resetProvider() {
+ CustomValidatorProvider.provider = new ApacheValidationProvider();
System.clearProperty(ValidatorBuilder.VALIDATION_PROVIDER_KEY);
}
@@ -82,156 +74,6 @@ public class BeanValidationCustomProvide
@Test
public void valid() {
- assertTrue(bean.getValidator() instanceof CustomValidator);
- }
-
- public static class CustomValidatorProvider implements ValidationProvider<NullConfig> {
- @Override
- public NullConfig createSpecializedConfiguration(BootstrapState state) {
- return new NullConfig();
- }
-
- @Override
- public javax.validation.Configuration<?> createGenericConfiguration(BootstrapState state) {
- return new NullConfig();
- }
-
- @Override
- public ValidatorFactory buildValidatorFactory(ConfigurationState configurationState) {
- return null;
- }
- }
-
- private static class NullConfig implements javax.validation.Configuration<NullConfig> {
- @Override
- public NullConfig ignoreXmlConfiguration() {
- return null;
- }
-
- @Override
- public NullConfig messageInterpolator(MessageInterpolator interpolator) {
- return null;
- }
-
- @Override
- public NullConfig traversableResolver(TraversableResolver resolver) {
- return null;
- }
-
- @Override
- public NullConfig constraintValidatorFactory(ConstraintValidatorFactory constraintValidatorFactory) {
- return null;
- }
-
- @Override
- public NullConfig addMapping(InputStream stream) {
- return null;
- }
-
- @Override
- public NullConfig addProperty(String name, String value) {
- return null;
- }
-
- @Override
- public MessageInterpolator getDefaultMessageInterpolator() {
- return null;
- }
-
- @Override
- public TraversableResolver getDefaultTraversableResolver() {
- return null;
- }
-
- @Override
- public ConstraintValidatorFactory getDefaultConstraintValidatorFactory() {
- return null;
- }
-
- @Override
- public ValidatorFactory buildValidatorFactory() {
- return new CustomValidatorFactory();
- }
- }
-
- private static class CustomValidatorFactory implements ValidatorFactory {
- @Override
- public Validator getValidator() {
- return new CustomValidator();
- }
-
- @Override
- public ValidatorContext usingContext() {
- return new CustomValidatorContext();
- }
-
- @Override
- public MessageInterpolator getMessageInterpolator() {
- return null;
- }
-
- @Override
- public TraversableResolver getTraversableResolver() {
- return null;
- }
-
- @Override
- public ConstraintValidatorFactory getConstraintValidatorFactory() {
- return null;
- }
-
- @Override
- public <T> T unwrap(Class<T> type) {
- return null;
- }
- }
-
- private static class CustomValidatorContext implements ValidatorContext {
- @Override
- public ValidatorContext messageInterpolator(MessageInterpolator messageInterpolator) {
- return null;
- }
-
- @Override
- public ValidatorContext traversableResolver(TraversableResolver traversableResolver) {
- return null;
- }
-
- @Override
- public ValidatorContext constraintValidatorFactory(ConstraintValidatorFactory factory) {
- return null;
- }
-
- @Override
- public Validator getValidator() {
- return new CustomValidator();
- }
- }
-
- private static class CustomValidator implements Validator {
- @Override
- public <T> Set<ConstraintViolation<T>> validate(T object, Class<?>... groups) {
- return null;
- }
-
- @Override
- public <T> Set<ConstraintViolation<T>> validateProperty(T object, String propertyName, Class<?>... groups) {
- return null;
- }
-
- @Override
- public <T> Set<ConstraintViolation<T>> validateValue(Class<T> beanType, String propertyName, Object value, Class<?>... groups) {
- return null;
- }
-
- @Override
- public BeanDescriptor getConstraintsForClass(Class<?> clazz) {
- return null;
- }
-
- @Override
- public <T> T unwrap(Class<T> type) {
- return null;
- }
+ assertTrue(bean.getValidator() instanceof CustomValidatorProvider.CustomValidator);
}
}
Added: openejb/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/bval/util/CustomValidatorProvider.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/bval/util/CustomValidatorProvider.java?rev=1243918&view=auto
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/bval/util/CustomValidatorProvider.java (added)
+++ openejb/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/bval/util/CustomValidatorProvider.java Tue Feb 14 13:46:59 2012
@@ -0,0 +1,195 @@
+package org.apache.openejb.bval.util;
+
+import org.apache.bval.jsr303.ApacheValidationProvider;
+import org.apache.bval.jsr303.ApacheValidatorConfiguration;
+import org.apache.bval.jsr303.ConfigurationImpl;
+
+import javax.validation.ConstraintValidatorFactory;
+import javax.validation.ConstraintViolation;
+import javax.validation.MessageInterpolator;
+import javax.validation.TraversableResolver;
+import javax.validation.Validator;
+import javax.validation.ValidatorContext;
+import javax.validation.ValidatorFactory;
+import javax.validation.metadata.BeanDescriptor;
+import javax.validation.spi.BootstrapState;
+import javax.validation.spi.ConfigurationState;
+import javax.validation.spi.ValidationProvider;
+import java.io.InputStream;
+import java.util.Set;
+
+// simply a provider which is by default apache validation provider
+// but it can be changed for test purpose
+public class CustomValidatorProvider implements ValidationProvider<ApacheValidatorConfiguration> {
+ public static ValidationProvider provider = new ApacheValidationProvider();
+
+ @Override
+ public ApacheValidatorConfiguration createSpecializedConfiguration(BootstrapState state) {
+ return (ApacheValidatorConfiguration) provider.createSpecializedConfiguration(state);
+ }
+
+ @Override
+ public javax.validation.Configuration<?> createGenericConfiguration(BootstrapState state) {
+ return provider.createGenericConfiguration(state);
+ }
+
+ @Override
+ public ValidatorFactory buildValidatorFactory(ConfigurationState configurationState) {
+ return provider.buildValidatorFactory(configurationState);
+ }
+
+ public static class NullValidatorProvider implements ValidationProvider<ApacheValidatorConfiguration> {
+ @Override
+ public ApacheValidatorConfiguration createSpecializedConfiguration(BootstrapState state) {
+ return new NullConfig(state, provider);
+ }
+
+ @Override
+ public javax.validation.Configuration<?> createGenericConfiguration(BootstrapState state) {
+ return new NullConfig(state, provider);
+ }
+
+ @Override
+ public ValidatorFactory buildValidatorFactory(ConfigurationState configurationState) {
+ return null;
+ }
+ }
+
+
+ public static class NullConfig extends ConfigurationImpl {
+ public NullConfig(BootstrapState aState, ValidationProvider<?> aProvider) {
+ super(aState, aProvider);
+ }
+
+ @Override
+ public NullConfig ignoreXmlConfiguration() {
+ return null;
+ }
+
+ @Override
+ public NullConfig messageInterpolator(MessageInterpolator interpolator) {
+ return null;
+ }
+
+ @Override
+ public NullConfig traversableResolver(TraversableResolver resolver) {
+ return null;
+ }
+
+ @Override
+ public NullConfig constraintValidatorFactory(ConstraintValidatorFactory constraintValidatorFactory) {
+ return null;
+ }
+
+ @Override
+ public NullConfig addMapping(InputStream stream) {
+ return null;
+ }
+
+ @Override
+ public NullConfig addProperty(String name, String value) {
+ return null;
+ }
+
+ @Override
+ public MessageInterpolator getDefaultMessageInterpolator() {
+ return null;
+ }
+
+ @Override
+ public TraversableResolver getDefaultTraversableResolver() {
+ return null;
+ }
+
+ @Override
+ public ConstraintValidatorFactory getDefaultConstraintValidatorFactory() {
+ return null;
+ }
+
+ @Override
+ public ValidatorFactory buildValidatorFactory() {
+ return new CustomValidatorFactory();
+ }
+ }
+
+ public static class CustomValidatorFactory implements ValidatorFactory {
+ @Override
+ public Validator getValidator() {
+ return new CustomValidator();
+ }
+
+ @Override
+ public ValidatorContext usingContext() {
+ return new CustomValidatorContext();
+ }
+
+ @Override
+ public MessageInterpolator getMessageInterpolator() {
+ return null;
+ }
+
+ @Override
+ public TraversableResolver getTraversableResolver() {
+ return null;
+ }
+
+ @Override
+ public ConstraintValidatorFactory getConstraintValidatorFactory() {
+ return null;
+ }
+
+ @Override
+ public <T> T unwrap(Class<T> type) {
+ return null;
+ }
+ }
+
+ public static class CustomValidatorContext implements ValidatorContext {
+ @Override
+ public ValidatorContext messageInterpolator(MessageInterpolator messageInterpolator) {
+ return null;
+ }
+
+ @Override
+ public ValidatorContext traversableResolver(TraversableResolver traversableResolver) {
+ return null;
+ }
+
+ @Override
+ public ValidatorContext constraintValidatorFactory(ConstraintValidatorFactory factory) {
+ return null;
+ }
+
+ @Override
+ public Validator getValidator() {
+ return new CustomValidator();
+ }
+ }
+
+ public static class CustomValidator implements Validator {
+ @Override
+ public <T> Set<ConstraintViolation<T>> validate(T object, Class<?>... groups) {
+ return null;
+ }
+
+ @Override
+ public <T> Set<ConstraintViolation<T>> validateProperty(T object, String propertyName, Class<?>... groups) {
+ return null;
+ }
+
+ @Override
+ public <T> Set<ConstraintViolation<T>> validateValue(Class<T> beanType, String propertyName, Object value, Class<?>... groups) {
+ return null;
+ }
+
+ @Override
+ public BeanDescriptor getConstraintsForClass(Class<?> clazz) {
+ return null;
+ }
+
+ @Override
+ public <T> T unwrap(Class<T> type) {
+ return null;
+ }
+ }
+}
Modified: openejb/trunk/openejb/container/openejb-core/src/test/resources/META-INF/services/javax.validation.spi.ValidationProvider
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/test/resources/META-INF/services/javax.validation.spi.ValidationProvider?rev=1243918&r1=1243917&r2=1243918&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/test/resources/META-INF/services/javax.validation.spi.ValidationProvider (original)
+++ openejb/trunk/openejb/container/openejb-core/src/test/resources/META-INF/services/javax.validation.spi.ValidationProvider Tue Feb 14 13:46:59 2012
@@ -1 +1 @@
-org.apache.openejb.bval.BeanValidationCustomProviderTest$CustomValidatorProvider
+org.apache.openejb.bval.util.CustomValidatorProvider