Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/mapping In directory sc8-pr-cvs1:/tmp/cvs-serv2323/sf/hibernate/mapping Modified Files: Index.java PrimaryKey.java Root.java Subclass.java Table.java UniqueKey.java Log Message: major refactoring to create SQL Generation layer more efficient queries against normalized mappings Index: Index.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/mapping/Index.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Index.java 5 Jan 2003 02:11:22 -0000 1.3 --- Index.java 20 Jan 2003 12:48:13 -0000 1.4 *************** *** 24,34 **** while ( iter.hasNext() ) { buf.append( ( (Column) iter.next() ).getName() ); ! if ( iter.hasNext() ) buf.append(", "); } ! buf.append(")"); return buf.toString(); } public String sqlDropString(Dialect dialect) { ! return "drop index " + table.getQualifiedName() + '.' + name; } public Table getTable() { --- 24,34 ---- while ( iter.hasNext() ) { buf.append( ( (Column) iter.next() ).getName() ); ! if ( iter.hasNext() ) buf.append(StringHelper.COMMA_SPACE); } ! buf.append(StringHelper.CLOSE_PAREN); return buf.toString(); } public String sqlDropString(Dialect dialect) { ! return "drop index " + table.getQualifiedName() + StringHelper.DOT + name; } public Table getTable() { Index: PrimaryKey.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/mapping/PrimaryKey.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** PrimaryKey.java 5 Jan 2003 02:11:22 -0000 1.3 --- PrimaryKey.java 20 Jan 2003 12:48:13 -0000 1.4 *************** *** 5,8 **** --- 5,9 ---- import net.sf.hibernate.dialect.Dialect; + import net.sf.hibernate.util.StringHelper; public class PrimaryKey extends Constraint { *************** *** 13,19 **** while ( iter.hasNext() ) { buf.append( ( (Column) iter.next() ).getName() ); ! if ( iter.hasNext() ) buf.append(", "); } ! return buf.append(")").toString(); } --- 14,20 ---- while ( iter.hasNext() ) { buf.append( ( (Column) iter.next() ).getName() ); ! if ( iter.hasNext() ) buf.append(StringHelper.COMMA_SPACE); } ! return buf.append(StringHelper.CLOSE_PAREN).toString(); } *************** *** 25,31 **** while ( iter.hasNext() ) { buf.append( ( (Column) iter.next() ).getName() ); ! if ( iter.hasNext() ) buf.append(", "); } ! return buf.append(")").toString(); } } --- 26,32 ---- while ( iter.hasNext() ) { buf.append( ( (Column) iter.next() ).getName() ); ! if ( iter.hasNext() ) buf.append(StringHelper.COMMA_SPACE); } ! return buf.append(StringHelper.CLOSE_PAREN).toString(); } } Index: Root.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/mapping/Root.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Root.java 9 Jan 2003 12:24:51 -0000 1.5 --- Root.java 20 Jan 2003 12:48:13 -0000 1.6 *************** *** 18,25 **** import net.sf.hibernate.cache.ReadWriteCache; import net.sf.hibernate.type.Type; public class Root { ! static final String ROOT_ROLE_NAME = ""; static final char ROLE_SEPERATOR = '/'; --- 18,26 ---- import net.sf.hibernate.cache.ReadWriteCache; import net.sf.hibernate.type.Type; + import net.sf.hibernate.util.StringHelper; public class Root { ! static final String ROOT_ROLE_NAME = StringHelper.EMPTY_STRING; static final char ROLE_SEPERATOR = '/'; Index: Subclass.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/mapping/Subclass.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Subclass.java 19 Jan 2003 11:47:07 -0000 1.5 --- Subclass.java 20 Jan 2003 12:48:13 -0000 1.6 *************** *** 8,14 **** import net.sf.hibernate.cache.CacheConcurrencyStrategy; import net.sf.hibernate.persister.EntityPersister; - import net.sf.hibernate.persister.MultiTableEntityPersister; import net.sf.hibernate.util.JoinedIterator; import net.sf.hibernate.util.StringHelper; import org.w3c.dom.NamedNodeMap; --- 8,15 ---- import net.sf.hibernate.cache.CacheConcurrencyStrategy; import net.sf.hibernate.persister.EntityPersister; import net.sf.hibernate.util.JoinedIterator; import net.sf.hibernate.util.StringHelper; + import net.sf.hibernate.persister.EntityPersister; + import net.sf.hibernate.persister.NormalizedEntityPersister; import org.w3c.dom.NamedNodeMap; *************** *** 105,109 **** if ( getPersister()==null ) { ! getRootClass().setPersister(MultiTableEntityPersister.class); } --- 106,110 ---- if ( getPersister()==null ) { ! getRootClass().setPersister(NormalizedEntityPersister.class); } Index: Table.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/mapping/Table.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Table.java 9 Jan 2003 12:24:51 -0000 1.4 --- Table.java 20 Jan 2003 12:48:13 -0000 1.5 *************** *** 14,17 **** --- 14,18 ---- import net.sf.hibernate.tool.hbm2ddl.JdbcColumnInfo; import net.sf.hibernate.tool.hbm2ddl.JdbcTableInfo; + import net.sf.hibernate.util.StringHelper; import org.apache.commons.collections.SequencedHashMap; *************** *** 34,42 **** public String getQualifiedName() { ! return (schema==null) ? name : schema + '.' + name; } public String getQualifiedName(String defaultQualifier) { ! return ( schema==null ) ? ( (defaultQualifier==null) ? name : defaultQualifier + '.' + name ) : getQualifiedName(); } --- 35,43 ---- public String getQualifiedName() { ! return (schema==null) ? name : schema + StringHelper.DOT + name; } public String getQualifiedName(String defaultQualifier) { ! return ( schema==null ) ? ( (defaultQualifier==null) ? name : defaultQualifier + StringHelper.DOT + name ) : getQualifiedName(); } *************** *** 86,90 **** // the column doesnt exist at all. if (buf.length()!=0) ! buf.append(", "); buf.append(col.getName()).append(' ').append(col.getSqlType(dialect,p)); if (col.isUnique()&&dialect.supportsUnique()) { --- 87,91 ---- // the column doesnt exist at all. if (buf.length()!=0) ! buf.append(StringHelper.COMMA_SPACE); buf.append(col.getName()).append(' ').append(col.getSqlType(dialect,p)); if (col.isUnique()&&dialect.supportsUnique()) { *************** *** 139,143 **** buf.append(" unique"); } ! if ( iter.hasNext() ) buf.append(", "); } --- 140,144 ---- buf.append(" unique"); } ! if ( iter.hasNext() ) buf.append(StringHelper.COMMA_SPACE); } *************** *** 158,162 **** } } ! buf.append(")"); return buf.toString(); --- 159,163 ---- } } ! buf.append(StringHelper.CLOSE_PAREN); return buf.toString(); Index: UniqueKey.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/mapping/UniqueKey.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** UniqueKey.java 5 Jan 2003 02:11:22 -0000 1.3 --- UniqueKey.java 20 Jan 2003 12:48:13 -0000 1.4 *************** *** 14,20 **** while ( iter.hasNext() ) { buf.append( ( (Column) iter.next() ).getName() ); ! if ( iter.hasNext() ) buf.append(", "); } ! return buf.append(")").toString(); } --- 14,20 ---- while ( iter.hasNext() ) { buf.append( ( (Column) iter.next() ).getName() ); ! if ( iter.hasNext() ) buf.append(StringHelper.COMMA_SPACE); } ! return buf.append(StringHelper.CLOSE_PAREN).toString(); } *************** *** 26,32 **** while ( iter.hasNext() ) { buf.append( ( (Column) iter.next() ).getName() ); ! if ( iter.hasNext() ) buf.append(", "); } ! return StringHelper.replace( buf.append(")").toString(), "primary key", "unique" ); //TODO: improve this hack! } } --- 26,32 ---- while ( iter.hasNext() ) { buf.append( ( (Column) iter.next() ).getName() ); ! if ( iter.hasNext() ) buf.append(StringHelper.COMMA_SPACE); } ! return StringHelper.replace( buf.append(StringHelper.CLOSE_PAREN).toString(), "primary key", "unique" ); //TODO: improve this hack! } } |