[hibernate-commits] Hibernate SVN: r16158 - validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine and 1 other directories.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Sun Mar 15 11:16:06 EDT 2009


Author: epbernard
Date: 2009-03-15 11:16:05 -0400 (Sun, 15 Mar 2009)
New Revision: 16158

Added:
   beanvalidation/trunk/validation-api/src/main/java/javax/validation/OverridesAttribute.java
Removed:
   beanvalidation/trunk/validation-api/src/main/java/javax/validation/OverridesParameter.java
   beanvalidation/trunk/validation-api/src/main/java/javax/validation/OverridesParameters.java
Modified:
   beanvalidation/trunk/validation-api/src/main/java/javax/validation/Constraint.java
   beanvalidation/trunk/validation-api/src/main/java/javax/validation/ReportAsSingleViolation.java
   validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine/ConstraintDescriptorImpl.java
   validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/constraints/composition/FrenchZipcode.java
Log:
BVAL-138 BVAL-139 Rework @OverrideAttribute, various typos

Modified: beanvalidation/trunk/validation-api/src/main/java/javax/validation/Constraint.java
===================================================================
--- beanvalidation/trunk/validation-api/src/main/java/javax/validation/Constraint.java	2009-03-13 09:51:14 UTC (rev 16157)
+++ beanvalidation/trunk/validation-api/src/main/java/javax/validation/Constraint.java	2009-03-15 15:16:05 UTC (rev 16158)
@@ -31,7 +31,7 @@
  * A given constraint annotation should be annotated by a @Constraint
  * annotation which refers to its list of constraint validation implementations.
  *
- * @author Emmanuel Bernard (emmanuel at hibernate.org)
+ * @author Emmanuel Bernard
  * @author Gavin King
  * @author Hardy Ferentschik
  */

Copied: beanvalidation/trunk/validation-api/src/main/java/javax/validation/OverridesAttribute.java (from rev 16157, beanvalidation/trunk/validation-api/src/main/java/javax/validation/OverridesParameter.java)
===================================================================
--- beanvalidation/trunk/validation-api/src/main/java/javax/validation/OverridesAttribute.java	                        (rev 0)
+++ beanvalidation/trunk/validation-api/src/main/java/javax/validation/OverridesAttribute.java	2009-03-15 15:16:05 UTC (rev 16158)
@@ -0,0 +1,71 @@
+// $Id$
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2008, Red Hat Middleware LLC, 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.
+*/
+package javax.validation;
+
+import java.lang.annotation.Annotation;
+import static java.lang.annotation.ElementType.METHOD;
+import java.lang.annotation.Retention;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import java.lang.annotation.Target;
+import java.lang.annotation.Documented;
+
+/**
+ * Mark an attribute as overriding the attribute of a composing constraint.
+ * Both attributes must share the same type.
+ *
+ * @author Emmanuel Bernard
+ */
+ at Retention(RUNTIME)
+ at Target({ METHOD })
+public @interface OverridesAttribute {
+	/**
+	 * @return Constraint type the attribute is overriding
+	 */
+	Class<? extends Annotation> constraint();
+
+	/**
+	 * Name of the Constraint attribute overridden.
+	 * Defaults to the name of the attribute hosting OverridesParameter.
+	 *
+	 * @return name of constraint attribute overridden.
+	 */
+	String parameter();
+
+	/**
+	 * The index of the targeted constraint declaration when using
+	 * multiple constraints of the same type.
+	 * The index represents the index of the constraint in the value() array.
+	 *
+	 * By default, no index is defined and the single constraint declaration
+	 * is targeted
+	 *
+	 * @return constraint declaration index if multivalued annotation is used
+	 */
+	int index() default -1;
+
+	/**
+	 * Defines several @OverridesAttribute annotations on the same element
+	 * @see {@link OverridesAttribute}
+	 */
+	@Documented
+	@Target({ METHOD })
+	@Retention(RUNTIME)
+	public @interface List {
+		OverridesAttribute[] value();
+	}
+}


Property changes on: beanvalidation/trunk/validation-api/src/main/java/javax/validation/OverridesAttribute.java
___________________________________________________________________
Name: svn:keywords
   + Id

Deleted: beanvalidation/trunk/validation-api/src/main/java/javax/validation/OverridesParameter.java
===================================================================
--- beanvalidation/trunk/validation-api/src/main/java/javax/validation/OverridesParameter.java	2009-03-13 09:51:14 UTC (rev 16157)
+++ beanvalidation/trunk/validation-api/src/main/java/javax/validation/OverridesParameter.java	2009-03-15 15:16:05 UTC (rev 16158)
@@ -1,55 +0,0 @@
-// $Id$
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, Red Hat Middleware LLC, 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.
-*/
-package javax.validation;
-
-import java.lang.annotation.Annotation;
-import static java.lang.annotation.ElementType.METHOD;
-import java.lang.annotation.Retention;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-import java.lang.annotation.Target;
-
-/**
- * Mark a parameter as overriding the parameter of a composing constraint.
- * Both parameter must share the same type.
- *
- * @author Emmanuel Bernard
- */
- at Retention(RUNTIME)
- at Target({ METHOD })
-public @interface OverridesParameter {
-	/**
-	 * @return Constraint type the parameter is overriding
-	 */
-	Class<? extends Annotation> constraint();
-
-	/**
-	 * @return name of constraint parameter overridden.
-	 * Defaults to the name of the parameter hosting the annotation.
-	 */
-	String parameter();
-
-	/**
-	 * @return The index of the targeted constraint declaration when using
-	 * multiple constraints of the same type.
-	 * The index represents the index of the constraint in the value() array.
-	 *
-	 * By default, no index is defined and the single constraint declaration
-	 * is targeted
-	 */
-	int index() default -1;
-}

Deleted: beanvalidation/trunk/validation-api/src/main/java/javax/validation/OverridesParameters.java
===================================================================
--- beanvalidation/trunk/validation-api/src/main/java/javax/validation/OverridesParameters.java	2009-03-13 09:51:14 UTC (rev 16157)
+++ beanvalidation/trunk/validation-api/src/main/java/javax/validation/OverridesParameters.java	2009-03-15 15:16:05 UTC (rev 16158)
@@ -1,34 +0,0 @@
-// $Id$
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, Red Hat Middleware LLC, 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.
-*/
-package javax.validation;
-
-import java.lang.annotation.Documented;
-import static java.lang.annotation.ElementType.METHOD;
-import java.lang.annotation.Retention;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-import java.lang.annotation.Target;
-
-/**
- * @author Hardy Ferentschik
- */
- at Documented
- at Target({ METHOD })
- at Retention(RUNTIME)
-public @interface OverridesParameters {
-	OverridesParameter[] value();
-}
\ No newline at end of file

Modified: beanvalidation/trunk/validation-api/src/main/java/javax/validation/ReportAsSingleViolation.java
===================================================================
--- beanvalidation/trunk/validation-api/src/main/java/javax/validation/ReportAsSingleViolation.java	2009-03-13 09:51:14 UTC (rev 16157)
+++ beanvalidation/trunk/validation-api/src/main/java/javax/validation/ReportAsSingleViolation.java	2009-03-15 15:16:05 UTC (rev 16158)
@@ -23,7 +23,7 @@
 import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
 
 /**
- * A constraint annotation annotated with this annotation
+ * A constraint annotation hosting this annotation
  * will return the composed annotation error report if any of the composing annotations
  * fail. The error reports of each individual composing constraint is ignored.
  *

Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine/ConstraintDescriptorImpl.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine/ConstraintDescriptorImpl.java	2009-03-13 09:51:14 UTC (rev 16157)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/engine/ConstraintDescriptorImpl.java	2009-03-15 15:16:05 UTC (rev 16158)
@@ -31,8 +31,7 @@
 import javax.validation.Constraint;
 import javax.validation.ConstraintDescriptor;
 import javax.validation.ConstraintValidator;
-import javax.validation.OverridesParameter;
-import javax.validation.OverridesParameters;
+import javax.validation.OverridesAttribute;
 import javax.validation.ReportAsSingleViolation;
 import javax.validation.ValidationException;
 import javax.validation.groups.Default;
@@ -227,31 +226,31 @@
 	private Map<ClassIndexWrapper, Map<String, Object>> parseOverrideParameters() {
 		Map<ClassIndexWrapper, Map<String, Object>> overrideParameters = new HashMap<ClassIndexWrapper, Map<String, Object>>();
 		for ( Method m : annotation.annotationType().getMethods() ) {
-			if ( m.getAnnotation( OverridesParameter.class ) != null ) {
-				addOverrideParameter(
-						overrideParameters, getMethodValue( annotation, m ), m.getAnnotation( OverridesParameter.class )
+			if ( m.getAnnotation( OverridesAttribute.class ) != null ) {
+				addOverrideAttributes(
+						overrideParameters, getMethodValue( annotation, m ), m.getAnnotation( OverridesAttribute.class )
 				);
 			}
-			else if ( m.getAnnotation( OverridesParameters.class ) != null ) {
-				addOverrideParameter(
+			else if ( m.getAnnotation( OverridesAttribute.List.class ) != null ) {
+				addOverrideAttributes(
 						overrideParameters,
 						getMethodValue( annotation, m ),
-						m.getAnnotation( OverridesParameters.class ).value()
+						m.getAnnotation( OverridesAttribute.List.class ).value()
 				);
 			}
 		}
 		return overrideParameters;
 	}
 
-	private void addOverrideParameter(Map<ClassIndexWrapper, Map<String, Object>> overrideParameters, Object value, OverridesParameter... parameters) {
-		for ( OverridesParameter parameter : parameters ) {
-			ClassIndexWrapper wrapper = new ClassIndexWrapper( parameter.constraint(), parameter.index() );
+	private void addOverrideAttributes(Map<ClassIndexWrapper, Map<String, Object>> overrideParameters, Object value, OverridesAttribute... attributes) {
+		for ( OverridesAttribute attribute : attributes ) {
+			ClassIndexWrapper wrapper = new ClassIndexWrapper( attribute.constraint(), attribute.index() );
 			Map<String, Object> map = overrideParameters.get( wrapper );
 			if ( map == null ) {
 				map = new HashMap<String, Object>();
 				overrideParameters.put( wrapper, map );
 			}
-			map.put( parameter.parameter(), value );
+			map.put( attribute.parameter(), value );
 		}
 	}
 

Modified: validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/constraints/composition/FrenchZipcode.java
===================================================================
--- validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/constraints/composition/FrenchZipcode.java	2009-03-13 09:51:14 UTC (rev 16157)
+++ validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/constraints/composition/FrenchZipcode.java	2009-03-15 15:16:05 UTC (rev 16158)
@@ -25,8 +25,7 @@
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
 import java.lang.annotation.Target;
 import javax.validation.Constraint;
-import javax.validation.OverridesParameter;
-import javax.validation.OverridesParameters;
+import javax.validation.OverridesAttribute;
 import javax.validation.constraints.NotNull;
 import javax.validation.constraints.Size;
 import javax.validation.constraints.Pattern;
@@ -48,14 +47,14 @@
 
 	Class<?>[] groups() default { };
 
-	@OverridesParameters({
-			@OverridesParameter(constraint = Size.class, parameter = "min"),
-			@OverridesParameter(constraint = Size.class, parameter = "max")
+	@OverridesAttribute.List({
+			@OverridesAttribute(constraint = Size.class, parameter = "min"),
+			@OverridesAttribute(constraint = Size.class, parameter = "max")
 	}) int size() default 5;
 
-	@OverridesParameter(constraint = Size.class,
+	@OverridesAttribute(constraint = Size.class,
 			parameter = "message") String sizeMessage() default "A french zip code has a length of 5";
 
 
-	@OverridesParameter(constraint = Pattern.class, parameter = "regexp", index = 2) String regex() default "\\d*";
+	@OverridesAttribute(constraint = Pattern.class, parameter = "regexp", index = 2) String regex() default "\\d*";
 }




More information about the hibernate-commits mailing list