Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/impl
In directory sc8-pr-cvs1:/tmp/cvs-serv22505/cirrus/hibernate/impl
Modified Files:
SessionFactoryImpl.java
Log Message:
added polymorphism attribute to <class> element
Index: SessionFactoryImpl.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/impl/SessionFactoryImpl.java,v
retrieving revision 1.58
retrieving revision 1.59
diff -C2 -d -r1.58 -r1.59
*** SessionFactoryImpl.java 6 Nov 2002 00:58:02 -0000 1.58
--- SessionFactoryImpl.java 19 Nov 2002 10:42:17 -0000 1.59
***************
*** 596,605 ****
if ( p instanceof Queryable ) {
Queryable q = (Queryable) p;
! if ( clazz.equals( q.getMappedClass() ) ) {
! results.add( q.getClassName() );
}
! else if ( clazz.isAssignableFrom( q.getMappedClass() ) ) {
! if ( !q.isInherited() || !clazz.isAssignableFrom( q.getMappedSuperclass() ) ) {
! results.add( q.getClassName() );
}
}
--- 596,613 ----
if ( p instanceof Queryable ) {
Queryable q = (Queryable) p;
! String name = q.getClassName();
! boolean isMappedClass = clazz.equals( q.getMappedClass() );
! if ( q.isExplicitPolymorphism() ) {
! if (isMappedClass) return new String[] { name };
}
! else {
! if (isMappedClass) {
! results.add(name);
! }
! else if (
! clazz.isAssignableFrom( q.getMappedClass() ) &&
! ( !q.isInherited() || !clazz.isAssignableFrom( q.getMappedSuperclass() ) )
! ) {
! results.add(name);
}
}
|