[hibernate-commits] Hibernate SVN: r17391 - in validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation: xml and 1 other directory.
hibernate-commits at lists.jboss.org
hibernate-commits at lists.jboss.org
Fri Aug 21 07:06:00 EDT 2009
Author: hardy.ferentschik
Date: 2009-08-21 07:06:00 -0400 (Fri, 21 Aug 2009)
New Revision: 17391
Modified:
validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/metadata/AnnotationIgnores.java
validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/xml/XmlMappingParser.java
Log:
fixed some class level orverride logic
Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/metadata/AnnotationIgnores.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/metadata/AnnotationIgnores.java 2009-08-21 11:04:54 UTC (rev 17390)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/metadata/AnnotationIgnores.java 2009-08-21 11:06:00 UTC (rev 17391)
@@ -51,7 +51,7 @@
*/
private final Map<Class<?>, List<Member>> ignoreAnnotationOnMember = new HashMap<Class<?>, List<Member>>();
- private final List<Class<?>> ignoreAnnotationOnClass = new ArrayList<Class<?>>();
+ private final Map<Class<?>, Boolean> ignoreAnnotationOnClass = new HashMap<Class<?>, Boolean>();
public void setDefaultIgnoreAnnotation(Class<?> clazz, Boolean b) {
if ( b == null ) {
@@ -105,12 +105,18 @@
log.debug( type + " level annotations are getting ignored for " + clazz.getName() + "." + member.getName() );
}
- public void setIgnoreAnnotationsOnClass(Class<?> clazz) {
- ignoreAnnotationOnClass.add( clazz );
+ public void setIgnoreAnnotationsOnClass(Class<?> clazz, boolean b) {
+ ignoreAnnotationOnClass.put( clazz, b );
}
public boolean isIgnoreAnnotations(Class<?> clazz) {
- boolean ignoreAnnotation = ignoreAnnotationOnClass.contains( clazz ) || getDefaultIgnoreAnnotation( clazz );
+ boolean ignoreAnnotation;
+ if ( ignoreAnnotationOnClass.containsKey( clazz ) ) {
+ ignoreAnnotation = ignoreAnnotationOnClass.get( clazz );
+ }
+ else {
+ ignoreAnnotation = getDefaultIgnoreAnnotation( clazz );
+ }
if ( log.isDebugEnabled() && ignoreAnnotation ) {
log.debug( "Class level annotation are getting ignored for " + clazz.getName() );
}
Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/xml/XmlMappingParser.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/xml/XmlMappingParser.java 2009-08-21 11:04:54 UTC (rev 17390)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/xml/XmlMappingParser.java 2009-08-21 11:06:00 UTC (rev 17391)
@@ -157,7 +157,7 @@
if ( !clazz.isAnnotation() ) {
throw new ValidationException( annotationClassName + " is not an annotation" );
}
- Class<? extends Annotation> annotationClass = (Class<? extends Annotation>) clazz;
+ Class<? extends Annotation> annotationClass = ( Class<? extends Annotation> ) clazz;
ValidatedByType validatedByType = constraintDefinition.getValidatedBy();
List<Class<? extends ConstraintValidator<? extends Annotation, ?>>> constraintValidatorClasses = new ArrayList<Class<? extends ConstraintValidator<? extends Annotation, ?>>>();
@@ -328,9 +328,8 @@
}
// ignore annotation
- boolean ignoreClassAnnotation = classType.isIgnoreAnnotations() == null ? false : classType.isIgnoreAnnotations();
- if ( ignoreClassAnnotation ) {
- annotationIgnores.setIgnoreAnnotationsOnClass( beanClass );
+ if ( classType.isIgnoreAnnotations() != null ) {
+ annotationIgnores.setIgnoreAnnotationsOnClass( beanClass, classType.isIgnoreAnnotations() );
}
// group sequence
@@ -370,9 +369,11 @@
private List<Class<?>> createGroupSequence(GroupSequenceType groupSequenceType, String defaultPackage) {
List<Class<?>> groupSequence = new ArrayList<Class<?>>();
- for ( JAXBElement<String> groupName : groupSequenceType.getValue() ) {
- Class<?> group = getClass( groupName.getValue(), defaultPackage );
- groupSequence.add( group );
+ if ( groupSequenceType != null ) {
+ for ( JAXBElement<String> groupName : groupSequenceType.getValue() ) {
+ Class<?> group = getClass( groupName.getValue(), defaultPackage );
+ groupSequence.add( group );
+ }
}
return groupSequence;
}
More information about the hibernate-commits
mailing list