From: <one...@us...> - 2002-11-03 06:20:03
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/map In directory usw-pr-cvs1:/tmp/cvs-serv16944/hibernate/map Modified Files: PersistentClass.java RootClass.java Log Message: removed reliance upon discriminator column in MultiTableEntityPersistser Index: PersistentClass.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/map/PersistentClass.java,v retrieving revision 1.38 retrieving revision 1.39 diff -C2 -d -r1.38 -r1.39 *** PersistentClass.java 27 Oct 2002 03:11:33 -0000 1.38 --- PersistentClass.java 3 Nov 2002 06:19:59 -0000 1.39 *************** *** 114,127 **** return n; } public Iterator getSubclassIterator() { Iterator[] iters = new Iterator[ subclasses.size() + 1 ]; - iters[0] = subclasses.iterator(); Iterator iter = subclasses.iterator(); ! int i=1; while ( iter.hasNext() ) { iters[i++] = ( (Subclass) iter.next() ).getSubclassIterator(); } return new JoinedIterator(iters); } public void addProperty(Property p) { properties.add(p); --- 114,136 ---- return n; } + /** + * Iterate over subclasses in a special 'order', most derived subclasses + * first. + */ public Iterator getSubclassIterator() { Iterator[] iters = new Iterator[ subclasses.size() + 1 ]; Iterator iter = subclasses.iterator(); ! int i=0; while ( iter.hasNext() ) { iters[i++] = ( (Subclass) iter.next() ).getSubclassIterator(); } + iters[i] = subclasses.iterator(); return new JoinedIterator(iters); } + + public Iterator getDirectSubclasses() { + return subclasses.iterator(); + } + public void addProperty(Property p) { properties.add(p); Index: RootClass.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/map/RootClass.java,v retrieving revision 1.48 retrieving revision 1.49 diff -C2 -d -r1.48 -r1.49 *** RootClass.java 31 Oct 2002 14:00:27 -0000 1.48 --- RootClass.java 3 Nov 2002 06:19:59 -0000 1.49 *************** *** 64,70 **** public void setPolymorphic(boolean polymorphic) { this.polymorphic = polymorphic; - if (polymorphic && discriminator == null ) { - discriminator = new Value( Hibernate.STRING, table, "class" ); - } } --- 64,67 ---- |