[hibernate-commits] Hibernate SVN: r19639 - in validator/trunk/hibernate-validator/src: main/docbook/en-US/modules and 5 other directories.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Tue Jun 1 07:52:21 EDT 2010


Author: hardy.ferentschik
Date: 2010-06-01 07:52:20 -0400 (Tue, 01 Jun 2010)
New Revision: 19639

Removed:
   validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/extensions.xml
Modified:
   validator/trunk/hibernate-validator/src/main/docbook/en-US/master.xml
   validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/annotationprocessor.xml
   validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/programmaticapi.xml
   validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/HibernateValidatorConfiguration.java
   validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/ConstraintDef.java
   validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/AssertFalseDef.java
   validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/AssertTrueDef.java
   validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/CreditCardNumberDef.java
   validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/DecimalMaxDef.java
   validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/DecimalMinDef.java
   validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/DigitsDef.java
   validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/EmailDef.java
   validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/FutureDef.java
   validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/GenericConstraintDef.java
   validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/LengthDef.java
   validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/MaxDef.java
   validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/MinDef.java
   validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/NotBlankDef.java
   validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/NotEmptyDef.java
   validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/NotNullDef.java
   validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/NullDef.java
   validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/PastDef.java
   validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/PatternDef.java
   validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/RangeDef.java
   validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/ScriptAssertDef.java
   validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/SizeDef.java
   validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/URLDef.java
   validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/engine/ConfigurationImpl.java
   validator/trunk/hibernate-validator/src/test/java/org/hibernate/validator/test/cfg/ConstraintMappingTest.java
Log:
HV-274 Added documentation and moved message, groups and payload into the ConstraintDef base class

Modified: validator/trunk/hibernate-validator/src/main/docbook/en-US/master.xml
===================================================================
--- validator/trunk/hibernate-validator/src/main/docbook/en-US/master.xml	2010-06-01 09:59:49 UTC (rev 19638)
+++ validator/trunk/hibernate-validator/src/main/docbook/en-US/master.xml	2010-06-01 11:52:20 UTC (rev 19639)
@@ -68,9 +68,12 @@
     <xi:include href="modules/integration.xml"
                 xmlns:xi="http://www.w3.org/2001/XInclude"/>
 
-    <xi:include href="modules/extensions.xml"
+    <xi:include href="modules/programmaticapi.xml"
                 xmlns:xi="http://www.w3.org/2001/XInclude"/>
 
+	<xi:include href="modules/annotationprocessor.xml"
+			    xmlns:xi="http://www.w3.org/2001/XInclude"/>
+
     <xi:include href="modules/furtherreading.xml"
                 xmlns:xi="http://www.w3.org/2001/XInclude"/>
 </book>

Modified: validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/annotationprocessor.xml
===================================================================
--- validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/annotationprocessor.xml	2010-06-01 09:59:49 UTC (rev 19638)
+++ validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/annotationprocessor.xml	2010-06-01 11:52:20 UTC (rev 19639)
@@ -21,9 +21,8 @@
 <!ENTITY % BOOK_ENTITIES SYSTEM "../hv.ent">
 %BOOK_ENTITIES;
 ]>
-<section>
-  <title id="annotation-processor">Hibernate Validator Annotation
-  Processor (EXPERIMENTAL)</title>
+<chapter>
+  <title id="annotation-processor">Annotation Processor (EXPERIMENTAL)</title>
 
   <para>Have you ever caught yourself by unintentionally doing things
   like</para>
@@ -482,4 +481,4 @@
       </listitem>
     </itemizedlist>
   </section>
-</section>
+</chapter>

Deleted: validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/extensions.xml
===================================================================
--- validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/extensions.xml	2010-06-01 09:59:49 UTC (rev 19638)
+++ validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/extensions.xml	2010-06-01 11:52:20 UTC (rev 19639)
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- $Id$ -->
-<!--
-	~ JBoss, Home of Professional Open Source
-	~ Copyright 2009, Red Hat, Inc. and/or its affiliates, and individual contributors
-	~ by the @authors tag. See the copyright.txt in the distribution for a
-	~ full listing of individual contributors.
-	~
-	~ Licensed under the Apache License, Version 2.0 (the "License");
-	~ you may not use this file except in compliance with the License.
-	~ You may obtain a copy of the License at
-	~ http://www.apache.org/licenses/LICENSE-2.0
-	~ Unless required by applicable law or agreed to in writing, software
-	~ distributed under the License is distributed on an "AS IS" BASIS,
-	~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-	~ See the License for the specific language governing permissions and
-	~ limitations under the License.
--->
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "../hv.ent">
-%BOOK_ENTITIES;
-]>
-<chapter id="extensions">
-  <title>Hibernate Validator Specific Extensions</title>
-
-  <para>Hibernate Validator offers on top of the Bean Validation requirements additional extensions which are described in the following sections.</para>
-
-  <xi:include href="programmaticapi.xml"
-              xmlns:xi="http://www.w3.org/2001/XInclude"/>
-  <xi:include href="annotationprocessor.xml"
-              xmlns:xi="http://www.w3.org/2001/XInclude"/>
- 
-</chapter>

Modified: validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/programmaticapi.xml
===================================================================
--- validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/programmaticapi.xml	2010-06-01 09:59:49 UTC (rev 19638)
+++ validator/trunk/hibernate-validator/src/main/docbook/en-US/modules/programmaticapi.xml	2010-06-01 11:52:20 UTC (rev 19639)
@@ -21,31 +21,101 @@
 <!ENTITY % BOOK_ENTITIES SYSTEM "../hv.ent">
 %BOOK_ENTITIES;
 ]>
-<section id="programmaticapi">
-  <title>Programmatic constraint definitions</title>
+<chapter id="programmaticapi">
+  <title>Programmatic constraint definition</title>
 
-  <para><example>
-      <title>Creating a Hibernate Validator specific configuration</title>
+  <note>
+    <para>Use of the features described in the following sections is not
+    portable between Bean Validation providers/implementations.</para>
+  </note>
 
-      <programlisting>HibernateValidatorConfiguration config = Validation.byProvider( HibernateValidator.class ).configure();</programlisting>
-    </example></para>
+  <para>Hibernate Validator allows to configure constraints not only via
+  annotations and xml, but also via a programmatic API. This API can be used
+  exclusively or in combination with annotations and xml. If used in
+  combination programmatic constraints are additive to otherwise configured
+  constraints.</para>
 
-  <para><example>
+  <para>The programmatic API is centered around the
+  <classname>ConstraintMapping</classname> class which can be found together
+  with its supporting classes in the
+  <package>org.hibernate.validator.cfg</package> package.
+  <classname>ConstraintMapping</classname> is the entry point to a fluent API
+  allowing the definition of constraints. <xref lang=""
+  linkend="example-constraint-mapping" /> shows how the API can be
+  used.</para>
+
+  <para><example id="example-constraint-mapping">
       <title>Programmatic constraint definition</title>
 
       <programlisting>ConstraintMapping mapping = new ConstraintMapping();
-mapping.type( Marathon.class )
-    .property( "name", METHOD )
+mapping.type( Car.class )
+    .property( "manufacturer", FIELD )
         .constraint( NotNullDef.class )
-    .property( "numberOfHelpers", FIELD )
-        .constraint( MinDef.class ).value( 1 );
+    .property( "licensePlate", FIELD )
+        .constraint( NotNullDef.class )
+        .constraint( SizeDef.class )
+            .min( 2 )
+            .max( 14 )
+    .property( "seatCount", FIELD )
+        .constraint( MinDef.class )
+            .value ( 2 )
+.type( RentalCar.class )
+    .property( "rentalStation", METHOD)
+        .constraint( NotNullDef.class );      </programlisting>
+    </example></para>
 
+  <para>As you can see you can configure constraints on multiple classes and
+  properties using method chaining. The constraint definition classes
+  <classname>NotNullDef</classname>, <classname>SizeDef</classname> and
+  <classname>MinDef</classname> are helper classes which allow to configure
+  constraint parameters in a type-safe fashion. Definition classes exists for
+  all built-in constraints in the
+  <classname>org.hibernate.validator.cfg.defs</classname> package. For a
+  custom constraint you can either create your own definition class extending
+  <classname>ConstraintDef</classname> or you can use
+  <classname>GenericConstraintDef</classname> as seen in <xref
+  linkend="example-generic-constraint-mapping" />.</para>
 
+  <para><example id="example-generic-constraint-mapping">
+      <title>Programmatic constraint definition using
+      <classname>GenericConstraintDef</classname></title>
+
+      <programlisting>ConstraintMapping mapping = new ConstraintMapping();
+mapping.type( Car.class )
+    .property( "licensePlate", FIELD )
+        .constraint( GenericConstraintDef.class )
+            .constraintType( CheckCase.class )
+            .param( "value", CaseMode.UPPER );   </programlisting>
+    </example></para>
+
+  <para>Last but not least, you can also define cascading constraints as well
+  as the default group sequence of an entity.</para>
+
+  <para><example>
+      <title>Cascading constraints and group redefinition</title>
+
+      <programlisting>ConstraintMapping mapping = new ConstraintMapping();
+mapping.type( Car.class )
+    .valid( "driver", FIELD )
+.type( RentalCar.class)
+    .defaultGroupSequence( RentalCar.class, CarChecks.class ); </programlisting>
+    </example></para>
+
+  <para>Once you have your <classname>ConstraintMapping</classname> you will
+  have to pass it to the configuration. Since the programmatic configuration
+  is not part of the official Bean Validation specification you will have to
+  get hold of the Hibernate Validator specific configuration instance. See
+  <xref linkend="example-hibernate-specific-config" />.</para>
+
+  <para><example id="example-hibernate-specific-config">
+      <title>Creating a Hibernate Validator specific configuration</title>
+
+      <programlisting>ConstraintMapping mapping = new ConstraintMapping();
+// configure mapping instance
+
 HibernateValidatorConfiguration config = Validation.byProvider( HibernateValidator.class ).configure();
+config.addMapping( mapping );
 ValidatorFactory factory = config.buildValidatorFactory();
-Validator validator = factory.getValidator();
-validator.validate( new Marathon() );</programlisting>
-
-      <para></para>
+Validator validator = factory.getValidator();</programlisting>
     </example></para>
-</section>
+</chapter>

Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/HibernateValidatorConfiguration.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/HibernateValidatorConfiguration.java	2010-06-01 09:59:49 UTC (rev 19638)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/HibernateValidatorConfiguration.java	2010-06-01 11:52:20 UTC (rev 19639)
@@ -63,5 +63,15 @@
 	 */
 	ResourceBundleLocator getDefaultResourceBundleLocator();
 
+	/**
+	 * Adds the specified {@link ConstraintMapping} instance to the configuration. Constraints configured in {@code mapping}
+	 * will be added to the constraints configured via annotations and/or xml.
+	 *
+	 * @param mapping {@code ConstraintMapping} instance containing programmatic configured constraints
+	 *
+	 * @return {@code this} following the chaining method pattern
+	 *
+	 * @throws IllegalArgumentException if {@code mapping} is {@code null}
+	 */
 	HibernateValidatorConfiguration addMapping(ConstraintMapping mapping);
 }

Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/ConstraintDef.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/ConstraintDef.java	2010-06-01 09:59:49 UTC (rev 19638)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/ConstraintDef.java	2010-06-01 11:52:20 UTC (rev 19639)
@@ -22,6 +22,7 @@
 import java.lang.reflect.Constructor;
 import java.util.HashMap;
 import java.util.Map;
+import javax.validation.Payload;
 import javax.validation.ValidationException;
 
 import org.hibernate.validator.util.ReflectionHelper;
@@ -29,7 +30,7 @@
 /**
  * @author Hardy Ferentschik
  */
-public class ConstraintDef<A extends Annotation> {
+public abstract class ConstraintDef<A extends Annotation> {
 	protected Class<A> constraintType;
 	protected final Map<String, Object> parameters;
 	protected final Class<?> beanType;
@@ -76,6 +77,21 @@
 		return this;
 	}
 
+	public ConstraintDef message(String message) {
+		addParameter( "message", message );
+		return this;
+	}
+
+	public ConstraintDef groups(Class<?>... groups) {
+		addParameter( "groups", groups );
+		return this;
+	}
+
+	public ConstraintDef payload(Class<? extends Payload>... payload) {
+		addParameter( "payload", payload );
+		return this;
+	}
+
 	public <A extends Annotation, T extends ConstraintDef<A>> T constraint(Class<T> definition) {
 		final Constructor<T> constructor = ReflectionHelper.getConstructor(
 				definition, Class.class, String.class, ElementType.class, ConstraintMapping.class

Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/AssertFalseDef.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/AssertFalseDef.java	2010-06-01 09:59:49 UTC (rev 19638)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/AssertFalseDef.java	2010-06-01 11:52:20 UTC (rev 19639)
@@ -18,7 +18,6 @@
 package org.hibernate.validator.cfg.defs;
 
 import java.lang.annotation.ElementType;
-import javax.validation.Payload;
 import javax.validation.constraints.AssertFalse;
 
 import org.hibernate.validator.cfg.ConstraintDef;
@@ -31,19 +30,4 @@
 	public AssertFalseDef(Class<?> beanType, String property, ElementType elementType, ConstraintMapping mapping) {
 		super( beanType, AssertFalse.class, property, elementType, mapping );
 	}
-
-	public AssertFalseDef message(String message) {
-		addParameter( "message", message );
-		return this;
-	}
-
-	public AssertFalseDef groups(Class<?>... groups) {
-		addParameter( "groups", groups );
-		return this;
-	}
-
-	public AssertFalseDef payload(Class<? extends Payload>... payload) {
-		addParameter( "payload", payload );
-		return this;
-	}
 }
\ No newline at end of file

Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/AssertTrueDef.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/AssertTrueDef.java	2010-06-01 09:59:49 UTC (rev 19638)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/AssertTrueDef.java	2010-06-01 11:52:20 UTC (rev 19639)
@@ -18,7 +18,6 @@
 package org.hibernate.validator.cfg.defs;
 
 import java.lang.annotation.ElementType;
-import javax.validation.Payload;
 import javax.validation.constraints.AssertTrue;
 
 import org.hibernate.validator.cfg.ConstraintDef;
@@ -31,19 +30,4 @@
 	public AssertTrueDef(Class<?> beanType, String property, ElementType elementType, ConstraintMapping mapping) {
 		super( beanType, AssertTrue.class, property, elementType, mapping );
 	}
-
-	public AssertTrueDef message(String message) {
-		addParameter( "message", message );
-		return this;
-	}
-
-	public AssertTrueDef groups(Class<?>... groups) {
-		addParameter( "groups", groups );
-		return this;
-	}
-
-	public AssertTrueDef payload(Class<? extends Payload>... payload) {
-		addParameter( "payload", payload );
-		return this;
-	}
 }
\ No newline at end of file

Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/CreditCardNumberDef.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/CreditCardNumberDef.java	2010-06-01 09:59:49 UTC (rev 19638)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/CreditCardNumberDef.java	2010-06-01 11:52:20 UTC (rev 19639)
@@ -19,7 +19,6 @@
 package org.hibernate.validator.cfg.defs;
 
 import java.lang.annotation.ElementType;
-import javax.validation.Payload;
 
 import org.hibernate.validator.cfg.ConstraintDef;
 import org.hibernate.validator.cfg.ConstraintMapping;
@@ -32,19 +31,4 @@
 	public CreditCardNumberDef(Class<?> beanType, String property, ElementType elementType, ConstraintMapping mapping) {
 		super( beanType, CreditCardNumber.class, property, elementType, mapping );
 	}
-
-	public CreditCardNumberDef message(String message) {
-		addParameter( "message", message );
-		return this;
-	}
-
-	public CreditCardNumberDef groups(Class<?>... groups) {
-		addParameter( "groups", groups );
-		return this;
-	}
-
-	public CreditCardNumberDef payload(Class<? extends Payload>... payload) {
-		addParameter( "payload", payload );
-		return this;
-	}
 }
\ No newline at end of file

Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/DecimalMaxDef.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/DecimalMaxDef.java	2010-06-01 09:59:49 UTC (rev 19638)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/DecimalMaxDef.java	2010-06-01 11:52:20 UTC (rev 19639)
@@ -35,17 +35,17 @@
 	}
 
 	public DecimalMaxDef message(String message) {
-		addParameter( "message", message );
+		super.message( message );
 		return this;
 	}
 
 	public DecimalMaxDef groups(Class<?>... groups) {
-		addParameter( "groups", groups );
+		super.groups( groups );
 		return this;
 	}
 
 	public DecimalMaxDef payload(Class<? extends Payload>... payload) {
-		addParameter( "payload", payload );
+		super.payload( payload );
 		return this;
 	}
 

Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/DecimalMinDef.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/DecimalMinDef.java	2010-06-01 09:59:49 UTC (rev 19638)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/DecimalMinDef.java	2010-06-01 11:52:20 UTC (rev 19639)
@@ -34,17 +34,17 @@
 	}
 
 	public DecimalMinDef message(String message) {
-		addParameter( "message", message );
+		super.message( message );
 		return this;
 	}
 
 	public DecimalMinDef groups(Class<?>... groups) {
-		addParameter( "groups", groups );
+		super.groups( groups );
 		return this;
 	}
 
 	public DecimalMinDef payload(Class<? extends Payload>... payload) {
-		addParameter( "payload", payload );
+		super.payload( payload );
 		return this;
 	}
 

Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/DigitsDef.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/DigitsDef.java	2010-06-01 09:59:49 UTC (rev 19638)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/DigitsDef.java	2010-06-01 11:52:20 UTC (rev 19639)
@@ -35,17 +35,17 @@
 	}
 
 	public DigitsDef message(String message) {
-		addParameter( "message", message );
+		super.message( message );
 		return this;
 	}
 
 	public DigitsDef groups(Class<?>... groups) {
-		addParameter( "groups", groups );
+		super.groups( groups );
 		return this;
 	}
 
 	public DigitsDef payload(Class<? extends Payload>... payload) {
-		addParameter( "payload", payload );
+		super.payload( payload );
 		return this;
 	}
 

Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/EmailDef.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/EmailDef.java	2010-06-01 09:59:49 UTC (rev 19638)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/EmailDef.java	2010-06-01 11:52:20 UTC (rev 19639)
@@ -19,7 +19,6 @@
 package org.hibernate.validator.cfg.defs;
 
 import java.lang.annotation.ElementType;
-import javax.validation.Payload;
 
 import org.hibernate.validator.cfg.ConstraintDef;
 import org.hibernate.validator.cfg.ConstraintMapping;
@@ -32,19 +31,4 @@
 	public EmailDef(Class<?> beanType, String property, ElementType elementType, ConstraintMapping mapping) {
 		super( beanType, Email.class, property, elementType, mapping );
 	}
-
-	public EmailDef message(String message) {
-		addParameter( "message", message );
-		return this;
-	}
-
-	public EmailDef groups(Class<?>... groups) {
-		addParameter( "groups", groups );
-		return this;
-	}
-
-	public EmailDef payload(Class<? extends Payload>... payload) {
-		addParameter( "payload", payload );
-		return this;
-	}
 }
\ No newline at end of file

Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/FutureDef.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/FutureDef.java	2010-06-01 09:59:49 UTC (rev 19638)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/FutureDef.java	2010-06-01 11:52:20 UTC (rev 19639)
@@ -18,7 +18,6 @@
 package org.hibernate.validator.cfg.defs;
 
 import java.lang.annotation.ElementType;
-import javax.validation.Payload;
 import javax.validation.constraints.Future;
 
 import org.hibernate.validator.cfg.ConstraintDef;
@@ -31,19 +30,4 @@
 	public FutureDef(Class<?> beanType, String property, ElementType elementType, ConstraintMapping mapping) {
 		super( beanType, Future.class, property, elementType, mapping );
 	}
-
-	public FutureDef message(String message) {
-		addParameter( "message", message );
-		return this;
-	}
-
-	public FutureDef groups(Class<?>... groups) {
-		addParameter( "groups", groups );
-		return this;
-	}
-
-	public FutureDef payload(Class<? extends Payload>... payload) {
-		addParameter( "payload", payload );
-		return this;
-	}
 }
\ No newline at end of file

Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/GenericConstraintDef.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/GenericConstraintDef.java	2010-06-01 09:59:49 UTC (rev 19638)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/GenericConstraintDef.java	2010-06-01 11:52:20 UTC (rev 19639)
@@ -27,7 +27,7 @@
 
 /**
  * A {@code ConstraintDef} class which can be used to configure any constraint type. For this purpose the class defines
- * a {@code constraintType}  method to specify the constraint type and a generic {@code param(Stringkey,Objectvalue)}
+ * a {@code constraintType}  method to specify the constraint type and a generic {@code param(String key,Object value)}
  * to add arbitrary constraint parameters.
  *
  * @author Hardy Ferentschik
@@ -39,17 +39,17 @@
 	}
 
 	public GenericConstraintDef message(String message) {
-		addParameter( "message", message );
+		super.message( message );
 		return this;
 	}
 
 	public GenericConstraintDef groups(Class<?>... groups) {
-		addParameter( "groups", groups );
+		super.groups( groups );
 		return this;
 	}
 
 	public GenericConstraintDef payload(Class<? extends Payload>... payload) {
-		addParameter( "payload", payload );
+		super.payload( payload );
 		return this;
 	}
 

Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/LengthDef.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/LengthDef.java	2010-06-01 09:59:49 UTC (rev 19638)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/LengthDef.java	2010-06-01 11:52:20 UTC (rev 19639)
@@ -36,17 +36,17 @@
 	}
 
 	public LengthDef message(String message) {
-		addParameter( "message", message );
+		super.message( message );
 		return this;
 	}
 
 	public LengthDef groups(Class<?>... groups) {
-		addParameter( "groups", groups );
+		super.groups( groups );
 		return this;
 	}
 
 	public LengthDef payload(Class<? extends Payload>... payload) {
-		addParameter( "payload", payload );
+		super.payload( payload );
 		return this;
 	}
 

Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/MaxDef.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/MaxDef.java	2010-06-01 09:59:49 UTC (rev 19638)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/MaxDef.java	2010-06-01 11:52:20 UTC (rev 19639)
@@ -34,17 +34,17 @@
 	}
 
 	public MaxDef message(String message) {
-		addParameter( "message", message );
+		super.message( message );
 		return this;
 	}
 
 	public MaxDef groups(Class<?>... groups) {
-		addParameter( "groups", groups );
+		super.groups( groups );
 		return this;
 	}
 
 	public MaxDef payload(Class<? extends Payload>... payload) {
-		addParameter( "payload", payload );
+		super.payload( payload );
 		return this;
 	}
 

Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/MinDef.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/MinDef.java	2010-06-01 09:59:49 UTC (rev 19638)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/MinDef.java	2010-06-01 11:52:20 UTC (rev 19639)
@@ -34,17 +34,17 @@
 	}
 
 	public MinDef message(String message) {
-		addParameter( "message", message );
+		super.message( message );
 		return this;
 	}
 
 	public MinDef groups(Class<?>... groups) {
-		addParameter( "groups", groups );
+		super.groups( groups );
 		return this;
 	}
 
 	public MinDef payload(Class<? extends Payload>... payload) {
-		addParameter( "payload", payload );
+		super.payload( payload );
 		return this;
 	}
 

Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/NotBlankDef.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/NotBlankDef.java	2010-06-01 09:59:49 UTC (rev 19638)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/NotBlankDef.java	2010-06-01 11:52:20 UTC (rev 19639)
@@ -18,7 +18,6 @@
 package org.hibernate.validator.cfg.defs;
 
 import java.lang.annotation.ElementType;
-import javax.validation.Payload;
 
 import org.hibernate.validator.cfg.ConstraintDef;
 import org.hibernate.validator.cfg.ConstraintMapping;
@@ -31,19 +30,4 @@
 	public NotBlankDef(Class<?> beanType, String property, ElementType elementType, ConstraintMapping mapping) {
 		super( beanType, NotBlank.class, property, elementType, mapping );
 	}
-
-	public NotBlankDef message(String message) {
-		addParameter( "message", message );
-		return this;
-	}
-
-	public NotBlankDef groups(Class<?>... groups) {
-		addParameter( "groups", groups );
-		return this;
-	}
-
-	public NotBlankDef payload(Class<? extends Payload>... payload) {
-		addParameter( "payload", payload );
-		return this;
-	}
 }
\ No newline at end of file

Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/NotEmptyDef.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/NotEmptyDef.java	2010-06-01 09:59:49 UTC (rev 19638)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/NotEmptyDef.java	2010-06-01 11:52:20 UTC (rev 19639)
@@ -18,7 +18,6 @@
 package org.hibernate.validator.cfg.defs;
 
 import java.lang.annotation.ElementType;
-import javax.validation.Payload;
 
 import org.hibernate.validator.cfg.ConstraintDef;
 import org.hibernate.validator.cfg.ConstraintMapping;
@@ -31,19 +30,4 @@
 	public NotEmptyDef(Class<?> beanType, String property, ElementType elementType, ConstraintMapping mapping) {
 		super( beanType, NotEmpty.class, property, elementType, mapping );
 	}
-
-	public NotEmptyDef message(String message) {
-		addParameter( "message", message );
-		return this;
-	}
-
-	public NotEmptyDef groups(Class<?>... groups) {
-		addParameter( "groups", groups );
-		return this;
-	}
-
-	public NotEmptyDef payload(Class<? extends Payload>... payload) {
-		addParameter( "payload", payload );
-		return this;
-	}
 }
\ No newline at end of file

Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/NotNullDef.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/NotNullDef.java	2010-06-01 09:59:49 UTC (rev 19638)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/NotNullDef.java	2010-06-01 11:52:20 UTC (rev 19639)
@@ -18,7 +18,6 @@
 package org.hibernate.validator.cfg.defs;
 
 import java.lang.annotation.ElementType;
-import javax.validation.Payload;
 import javax.validation.constraints.NotNull;
 
 import org.hibernate.validator.cfg.ConstraintDef;
@@ -31,19 +30,4 @@
 	public NotNullDef(Class<?> beanType, String property, ElementType elementType, ConstraintMapping mapping) {
 		super( beanType, NotNull.class, property, elementType, mapping );
 	}
-
-	public NotNullDef message(String message) {
-		addParameter( "message", message );
-		return this;
-	}
-
-	public NotNullDef groups(Class<?>... groups) {
-		addParameter( "groups", groups );
-		return this;
-	}
-
-	public NotNullDef payload(Class<? extends Payload>... payload) {
-		addParameter( "payload", payload );
-		return this;
-	}
 }
\ No newline at end of file

Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/NullDef.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/NullDef.java	2010-06-01 09:59:49 UTC (rev 19638)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/NullDef.java	2010-06-01 11:52:20 UTC (rev 19639)
@@ -18,7 +18,6 @@
 package org.hibernate.validator.cfg.defs;
 
 import java.lang.annotation.ElementType;
-import javax.validation.Payload;
 import javax.validation.constraints.Null;
 
 import org.hibernate.validator.cfg.ConstraintDef;
@@ -31,19 +30,4 @@
 	public NullDef(Class<?> beanType, String property, ElementType elementType, ConstraintMapping mapping) {
 		super( beanType, Null.class, property, elementType, mapping );
 	}
-
-	public NullDef message(String message) {
-		addParameter( "message", message );
-		return this;
-	}
-
-	public NullDef groups(Class<?>... groups) {
-		addParameter( "groups", groups );
-		return this;
-	}
-
-	public NullDef payload(Class<? extends Payload>... payload) {
-		addParameter( "payload", payload );
-		return this;
-	}
 }
\ No newline at end of file

Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/PastDef.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/PastDef.java	2010-06-01 09:59:49 UTC (rev 19638)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/PastDef.java	2010-06-01 11:52:20 UTC (rev 19639)
@@ -18,7 +18,6 @@
 package org.hibernate.validator.cfg.defs;
 
 import java.lang.annotation.ElementType;
-import javax.validation.Payload;
 import javax.validation.constraints.Past;
 
 import org.hibernate.validator.cfg.ConstraintDef;
@@ -31,19 +30,4 @@
 	public PastDef(Class<?> beanType, String property, ElementType elementType, ConstraintMapping mapping) {
 		super( beanType, Past.class, property, elementType, mapping );
 	}
-
-	public PastDef message(String message) {
-		addParameter( "message", message );
-		return this;
-	}
-
-	public PastDef groups(Class<?>... groups) {
-		addParameter( "groups", groups );
-		return this;
-	}
-
-	public PastDef payload(Class<? extends Payload>... payload) {
-		addParameter( "payload", payload );
-		return this;
-	}
 }
\ No newline at end of file

Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/PatternDef.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/PatternDef.java	2010-06-01 09:59:49 UTC (rev 19638)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/PatternDef.java	2010-06-01 11:52:20 UTC (rev 19639)
@@ -35,17 +35,17 @@
 	}
 
 	public PatternDef message(String message) {
-		addParameter( "message", message );
+		super.message( message );
 		return this;
 	}
 
 	public PatternDef groups(Class<?>... groups) {
-		addParameter( "groups", groups );
+		super.groups( groups );
 		return this;
 	}
 
 	public PatternDef payload(Class<? extends Payload>... payload) {
-		addParameter( "payload", payload );
+		super.payload( payload );
 		return this;
 	}
 

Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/RangeDef.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/RangeDef.java	2010-06-01 09:59:49 UTC (rev 19638)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/RangeDef.java	2010-06-01 11:52:20 UTC (rev 19639)
@@ -34,17 +34,17 @@
 	}
 
 	public RangeDef message(String message) {
-		addParameter( "message", message );
+		super.message( message );
 		return this;
 	}
 
 	public RangeDef groups(Class<?>... groups) {
-		addParameter( "groups", groups );
+		super.groups( groups );
 		return this;
 	}
 
 	public RangeDef payload(Class<? extends Payload>... payload) {
-		addParameter( "payload", payload );
+		super.payload( payload );
 		return this;
 	}
 

Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/ScriptAssertDef.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/ScriptAssertDef.java	2010-06-01 09:59:49 UTC (rev 19638)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/ScriptAssertDef.java	2010-06-01 11:52:20 UTC (rev 19639)
@@ -34,17 +34,17 @@
 	}
 
 	public ScriptAssertDef message(String message) {
-		addParameter( "message", message );
+		super.message( message );
 		return this;
 	}
 
 	public ScriptAssertDef groups(Class<?>... groups) {
-		addParameter( "groups", groups );
+		super.groups( groups );
 		return this;
 	}
 
 	public ScriptAssertDef payload(Class<? extends Payload>... payload) {
-		addParameter( "payload", payload );
+		super.payload( payload );
 		return this;
 	}
 

Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/SizeDef.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/SizeDef.java	2010-06-01 09:59:49 UTC (rev 19638)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/SizeDef.java	2010-06-01 11:52:20 UTC (rev 19639)
@@ -35,17 +35,17 @@
 	}
 
 	public SizeDef message(String message) {
-		addParameter( "message", message );
+		super.message( message );
 		return this;
 	}
 
 	public SizeDef groups(Class<?>... groups) {
-		addParameter( "groups", groups );
+		super.groups( groups );
 		return this;
 	}
 
 	public SizeDef payload(Class<? extends Payload>... payload) {
-		addParameter( "payload", payload );
+		super.payload( payload );
 		return this;
 	}
 

Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/URLDef.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/URLDef.java	2010-06-01 09:59:49 UTC (rev 19638)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/cfg/defs/URLDef.java	2010-06-01 11:52:20 UTC (rev 19639)
@@ -33,17 +33,17 @@
 	}
 
 	public URLDef message(String message) {
-		addParameter( "message", message );
+		super.message( message );
 		return this;
 	}
 
 	public URLDef groups(Class<?>... groups) {
-		addParameter( "groups", groups );
+		super.groups( groups );
 		return this;
 	}
 
 	public URLDef payload(Class<? extends Payload>... payload) {
-		addParameter( "payload", payload );
+		super.payload( payload );
 		return this;
 	}
 

Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/engine/ConfigurationImpl.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/engine/ConfigurationImpl.java	2010-06-01 09:59:49 UTC (rev 19638)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validator/engine/ConfigurationImpl.java	2010-06-01 11:52:20 UTC (rev 19639)
@@ -120,6 +120,14 @@
 		return this;
 	}
 
+	public HibernateValidatorConfiguration addMapping(ConstraintMapping mapping) {
+		if ( mapping == null ) {
+			throw new IllegalArgumentException( "The mapping cannot be null." );
+		}
+		this.mapping = mapping;
+		return this;
+	}
+
 	public HibernateValidatorConfiguration addProperty(String name, String value) {
 		if ( value != null ) {
 			validationBootstrapParameters.configProperties.put( name, value );
@@ -212,11 +220,6 @@
 		return defaultResourceBundleLocator;
 	}
 
-	public HibernateValidatorConfiguration addMapping(ConstraintMapping mapping) {
-		this.mapping = mapping;
-		return this;
-	}
-
 	public ConstraintMapping getMapping() {
 		return mapping;
 	}

Modified: validator/trunk/hibernate-validator/src/test/java/org/hibernate/validator/test/cfg/ConstraintMappingTest.java
===================================================================
--- validator/trunk/hibernate-validator/src/test/java/org/hibernate/validator/test/cfg/ConstraintMappingTest.java	2010-06-01 09:59:49 UTC (rev 19638)
+++ validator/trunk/hibernate-validator/src/test/java/org/hibernate/validator/test/cfg/ConstraintMappingTest.java	2010-06-01 11:52:20 UTC (rev 19639)
@@ -55,6 +55,13 @@
 public class ConstraintMappingTest {
 	private static final Logger log = LoggerFactory.make();
 
+	@Test(expectedExceptions = IllegalArgumentException.class)
+	public void testNullConstraintMapping() {
+		HibernateValidatorConfiguration config = TestUtil.getConfiguration( HibernateValidator.class );
+		config.addMapping( ( ConstraintMapping ) null );
+		config.buildValidatorFactory();
+	}
+
 	@Test
 	public void testConstraintMapping() {
 		ConstraintMapping mapping = new ConstraintMapping();



More information about the hibernate-commits mailing list