[hibernate-commits] Hibernate SVN: r16369 - beanvalidation/trunk/validation-api/src/main/java/javax/validation/spi and 2 other directories.
hibernate-commits at lists.jboss.org
hibernate-commits at lists.jboss.org
Tue Apr 21 05:55:35 EDT 2009
Author: epbernard
Date: 2009-04-21 05:55:35 -0400 (Tue, 21 Apr 2009)
New Revision: 16369
Modified:
beanvalidation/trunk/validation-api/src/main/java/javax/validation/Validation.java
beanvalidation/trunk/validation-api/src/main/java/javax/validation/spi/BootstrapState.java
validator/trunk/hibernate-validator/pom.xml
validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine/ConfigurationImpl.java
Log:
BVAL-149 Provide access to the ValidationProviderResolver via BootstrapState
Modified: beanvalidation/trunk/validation-api/src/main/java/javax/validation/Validation.java
===================================================================
--- beanvalidation/trunk/validation-api/src/main/java/javax/validation/Validation.java 2009-04-21 09:51:00 UTC (rev 16368)
+++ beanvalidation/trunk/validation-api/src/main/java/javax/validation/Validation.java 2009-04-21 09:55:35 UTC (rev 16369)
@@ -199,13 +199,16 @@
"builder is mandatory. Use Validation.byDefaultProvider() to use the generic provider discovery mechanism"
);
}
+ GenericBootstrapImpl state = new GenericBootstrapImpl();
if ( resolver == null ) {
- resolver = new DefaultValidationProviderResolver();
+ resolver = state.getDefaultValidationProviderResolver();
}
+ else {
+ //stay null if no resolver is defined
+ state.providerResolver( resolver );
+ }
for ( ValidationProvider provider : resolver.getValidationProviders() ) {
if ( provider.isSuitable( configurationType ) ) {
- GenericBootstrapImpl state = new GenericBootstrapImpl();
- state.providerResolver( resolver );
return provider.createSpecializedConfiguration( state, configurationType );
}
}
@@ -217,6 +220,7 @@
private static class GenericBootstrapImpl implements GenericBootstrap, BootstrapState {
private ValidationProviderResolver resolver;
+ private ValidationProviderResolver defaultResolver;
public GenericBootstrap providerResolver(ValidationProviderResolver resolver) {
this.resolver = resolver;
@@ -227,9 +231,16 @@
return resolver;
}
+ public ValidationProviderResolver getDefaultValidationProviderResolver() {
+ if (defaultResolver == null) {
+ defaultResolver = new DefaultValidationProviderResolver();
+ }
+ return defaultResolver;
+ }
+
public Configuration<?> configure() {
ValidationProviderResolver resolver = this.resolver == null ?
- new DefaultValidationProviderResolver() :
+ getDefaultValidationProviderResolver() :
this.resolver;
if ( resolver.getValidationProviders().size() == 0 ) {
Modified: beanvalidation/trunk/validation-api/src/main/java/javax/validation/spi/BootstrapState.java
===================================================================
--- beanvalidation/trunk/validation-api/src/main/java/javax/validation/spi/BootstrapState.java 2009-04-21 09:51:00 UTC (rev 16368)
+++ beanvalidation/trunk/validation-api/src/main/java/javax/validation/spi/BootstrapState.java 2009-04-21 09:55:35 UTC (rev 16369)
@@ -9,10 +9,17 @@
*/
public interface BootstrapState {
/**
- * returns the user defined ValidationProviderResolver strategy instance or <code>null</code>
+ * User defined ValidationProviderResolver strategy instance or <code>null</code>
* if undefined.
*
* @return ValidationProviderResolver instance or null
*/
ValidationProviderResolver getValidationProviderResolver();
+
+ /**
+ * Specification default ValidationProviderResolver strategy instance
+ *
+ * @return default implementation of ValidationProviderResolver
+ */
+ ValidationProviderResolver getDefaultValidationProviderResolver();
}
Modified: validator/trunk/hibernate-validator/pom.xml
===================================================================
--- validator/trunk/hibernate-validator/pom.xml 2009-04-21 09:51:00 UTC (rev 16368)
+++ validator/trunk/hibernate-validator/pom.xml 2009-04-21 09:55:35 UTC (rev 16369)
@@ -24,7 +24,7 @@
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
- <version>1.0.CR1</version>
+ <version>1.0.CR2-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine/ConfigurationImpl.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine/ConfigurationImpl.java 2009-04-21 09:51:00 UTC (rev 16368)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine/ConfigurationImpl.java 2009-04-21 09:55:35 UTC (rev 16369)
@@ -78,7 +78,7 @@
public ConfigurationImpl(BootstrapState state) {
if ( state.getValidationProviderResolver() == null ) {
- this.providerResolver = new DefaultValidationProviderResolver();
+ this.providerResolver = state.getDefaultValidationProviderResolver();
}
else {
this.providerResolver = state.getValidationProviderResolver();
More information about the hibernate-commits
mailing list