Update of /cvsroot/hibernate/HibernateExt/metadata/src/java/org/hibernate/cfg
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7960/metadata/src/java/org/hibernate/cfg
Modified Files:
AnnotationBinder.java AnnotationConfiguration.java
Log Message:
ANN-234 validation has to be dones after the 2nd pass
Index: AnnotationBinder.java
===================================================================
RCS file: /cvsroot/hibernate/HibernateExt/metadata/src/java/org/hibernate/cfg/AnnotationBinder.java,v
retrieving revision 1.171
retrieving revision 1.172
diff -u -d -r1.171 -r1.172
--- AnnotationBinder.java 26 Jan 2006 15:02:55 -0000 1.171
+++ AnnotationBinder.java 10 Feb 2006 16:32:55 -0000 1.172
@@ -13,6 +13,7 @@
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.DiscriminatorType;
+import javax.persistence.DiscriminatorValue;
import javax.persistence.Embeddable;
import javax.persistence.Embedded;
import javax.persistence.EmbeddedId;
@@ -42,7 +43,6 @@
import javax.persistence.SqlResultSetMapping;
import javax.persistence.TableGenerator;
import javax.persistence.Version;
-import javax.persistence.DiscriminatorValue;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -113,7 +113,6 @@
import org.hibernate.type.ForeignKeyDirection;
import org.hibernate.type.TypeFactory;
import org.hibernate.util.StringHelper;
-import org.hibernate.validator.ClassValidator;
/**
* JSR 175 annotation binder
@@ -666,9 +665,6 @@
entityBinder.addIndexes( annotatedClass.getAnnotation( org.hibernate.annotations.Table.class ) );
entityBinder.addIndexes( annotatedClass.getAnnotation( org.hibernate.annotations.Tables.class ) );
- //integrate the validate framework
- // TODO: migrate the Validator to the X layer
- new ClassValidator( clazzToProcess.toClass() ).apply( persistentClass );
}
/**
Index: AnnotationConfiguration.java
===================================================================
RCS file: /cvsroot/hibernate/HibernateExt/metadata/src/java/org/hibernate/cfg/AnnotationConfiguration.java,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -d -r1.48 -r1.49
--- AnnotationConfiguration.java 25 Jan 2006 21:48:21 -0000 1.48
+++ AnnotationConfiguration.java 10 Feb 2006 16:32:55 -0000 1.49
@@ -12,6 +12,7 @@
import java.util.Properties;
import java.util.Set;
import java.util.StringTokenizer;
+import java.util.Collection;
import javax.persistence.MappedSuperclass;
import javax.persistence.Entity;
@@ -22,14 +23,17 @@
import org.dom4j.Element;
import org.hibernate.AnnotationException;
import org.hibernate.MappingException;
+import org.hibernate.validator.ClassValidator;
import org.hibernate.mapping.Column;
import org.hibernate.mapping.Join;
import org.hibernate.mapping.Table;
import org.hibernate.mapping.UniqueKey;
+import org.hibernate.mapping.PersistentClass;
import org.hibernate.reflection.ReflectionManager;
import org.hibernate.reflection.XClass;
import org.hibernate.util.JoinedIterator;
import org.hibernate.util.ReflectHelper;
+import org.hibernate.util.StringHelper;
/**
* Add JSR 175 configuration capability.
@@ -107,7 +111,7 @@
* @return the configuration object
*/
public AnnotationConfiguration addAnnotatedClass(Class persistentClass) throws MappingException {
- XClass persistentXClass = ReflectionManager.INSTANCE.toXClass( persistentClass );
+ XClass persistentXClass = ReflectionManager.INSTANCE.toXClass( persistentClass );
try {
if ( persistentXClass.isAnnotationPresent( Entity.class ) ) {
annotatedClassEntities.put( persistentXClass.getName(), persistentXClass );
@@ -255,6 +259,19 @@
buildUniqueKeyFromColumnNames( columnNames, table, keyName );
}
}
+ for (PersistentClass persistentClazz : ( Collection < PersistentClass > ) classes.values() ) {
+ //integrate the validate framework
+ // TODO: migrate the Validator to the X layer
+ String className = persistentClazz.getClassName();
+ if ( StringHelper.isNotEmpty( className ) ) {
+ try {
+ new ClassValidator( ReflectHelper.classForName( className ) ).apply( persistentClazz );
+ }
+ catch (ClassNotFoundException e) {
+ //swallow them
+ }
+ }
+ }
}
private void processArtifactsOfType(String artifact) {
@@ -379,7 +396,7 @@
ncdf
);
}
-
+
addAnnotatedClass( loadedClass );
}
else {
|