From: <one...@us...> - 2003-01-09 12:24:54
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/persister In directory sc8-pr-cvs1:/tmp/cvs-serv16192/net/sf/hibernate/persister Modified Files: AbstractEntityPersister.java EntityPersister.java MultiTableEntityPersister.java Log Message: redesigned id generator package applied Mark Woon's patch for generated alias lengths minor refactoring of Transaction package Index: AbstractEntityPersister.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/persister/AbstractEntityPersister.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** AbstractEntityPersister.java 5 Jan 2003 02:11:22 -0000 1.3 --- AbstractEntityPersister.java 9 Jan 2003 12:24:51 -0000 1.4 *************** *** 27,31 **** import net.sf.hibernate.util.StringHelper; import net.sf.hibernate.id.IdentifierGenerator; ! import net.sf.hibernate.id.NativeGenerator; import net.sf.hibernate.mapping.Column; import net.sf.hibernate.mapping.PersistentClass; --- 27,31 ---- import net.sf.hibernate.util.StringHelper; import net.sf.hibernate.id.IdentifierGenerator; ! import net.sf.hibernate.id.IdentityGenerator; import net.sf.hibernate.mapping.Column; import net.sf.hibernate.mapping.PersistentClass; *************** *** 131,135 **** .append( cols[i] ) .append(" as ") ! .append( aliasColumn(cols[i], suffix) ); if (i!=cols.length-1) buf.append(", "); } --- 131,135 ---- .append( cols[i] ) .append(" as ") ! .append( StringHelper.suffix(cols[i], suffix) ); if (i!=cols.length-1) buf.append(", "); } *************** *** 480,484 **** hasEmbeddedIdentifier = model.hasEmbeddedIdentifier(); identifierPropertyName = model.hasIdentifierProperty() ? model.getIdentifierProperty().getName() : null; - idgen = model.getIdentifier().getIdentifierGenerator(); Value idValue = model.getIdentifier(); identifierType = idValue.getType(); --- 480,483 ---- *************** *** 550,556 **** } ! IdentifierGenerator idgen = model.getIdentifier().getIdentifierGenerator(); ! useIdentityColumn = dialect.supportsIdentityColumns() && ( idgen instanceof NativeGenerator ); identitySelectString = (useIdentityColumn) ? dialect.getIdentitySelectString() : null; --- 549,556 ---- } + // GENERATOR ! idgen = model.getIdentifier().createIdentifierGenerator(dialect); ! useIdentityColumn = idgen instanceof IdentityGenerator; identitySelectString = (useIdentityColumn) ? dialect.getIdentitySelectString() : null; *************** *** 687,709 **** return concreteProxyClass; } - - //TODO: refactor! this is a duplicate of a method in the Loader heirarchy - protected static String aliasColumn(String name, String suffix) { - - char quote = name.charAt(0); - boolean nameEscaped = Dialect.QUOTE.indexOf(quote) > -1; - - if (nameEscaped) name = name.substring(1, name.length()-1); - - StringBuffer aliasBuilder = new StringBuffer(name.length()); - - if (nameEscaped) aliasBuilder.append(quote); - aliasBuilder.append(name); - aliasBuilder.append(suffix); - if (nameEscaped) aliasBuilder.append(quote); - return aliasBuilder.toString(); - } - public Class getMappedSuperclass() { return superclass; --- 687,691 ---- Index: EntityPersister.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/persister/EntityPersister.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** EntityPersister.java 5 Jan 2003 02:11:22 -0000 1.3 --- EntityPersister.java 9 Jan 2003 12:24:51 -0000 1.4 *************** *** 36,39 **** --- 36,40 ---- import net.sf.hibernate.StaleObjectStateException; import net.sf.hibernate.hql.PathExpressionParser; + import net.sf.hibernate.id.IdentifierGeneratorFactory; import net.sf.hibernate.type.AbstractComponentType; import net.sf.hibernate.type.DiscriminatorType; *************** *** 522,526 **** try { if ( !rs.next() ) throw new HibernateException("The database returned no natively generated identity value"); ! id = dialect.getIdentityFrom(rs); } finally { --- 523,527 ---- try { if ( !rs.next() ) throw new HibernateException("The database returned no natively generated identity value"); ! id = IdentifierGeneratorFactory.get( rs, getIdentifierType().returnedClass() ); } finally { *************** *** 900,904 **** .append(discr) .append(" as ") ! .append( aliasColumn(discr, suffix) ); } --- 901,905 ---- .append(discr) .append(" as ") ! .append( StringHelper.suffix(discr, suffix) ); } *************** *** 911,915 **** .append( cols[i] ) .append(" as ") ! .append( aliasColumn(cols[i], suffix) ); } return buf.toString(); --- 912,916 ---- .append( cols[i] ) .append(" as ") ! .append( StringHelper.suffix(cols[i], suffix) ); } return buf.toString(); Index: MultiTableEntityPersister.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/persister/MultiTableEntityPersister.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** MultiTableEntityPersister.java 5 Jan 2003 02:11:22 -0000 1.3 --- MultiTableEntityPersister.java 9 Jan 2003 12:24:51 -0000 1.4 *************** *** 38,41 **** --- 38,42 ---- import net.sf.hibernate.StaleObjectStateException; import net.sf.hibernate.hql.PathExpressionParser; + import net.sf.hibernate.id.IdentifierGeneratorFactory; import net.sf.hibernate.type.AbstractComponentType; import net.sf.hibernate.type.DiscriminatorType; *************** *** 555,559 **** try { if ( !rs.next() ) throw new HibernateException("The database returned no natively generated identity value"); ! id = dialect.getIdentityFrom(rs); } finally { --- 556,560 ---- try { if ( !rs.next() ) throw new HibernateException("The database returned no natively generated identity value"); ! id = IdentifierGeneratorFactory.get( rs, getIdentifierType().returnedClass() ); } finally { *************** *** 1094,1098 **** } buf.append(" end as ") ! .append( aliasColumn( getDiscriminatorColumnName(), suffix) ); } --- 1095,1099 ---- } buf.append(" end as ") ! .append( StringHelper.suffix( getDiscriminatorColumnName(), suffix) ); } *************** *** 1107,1111 **** .append( cols[i] ) .append(" as ") ! .append( aliasColumn( subclassColumnClosureAliases[i], suffix) ); } return buf.toString(); --- 1108,1112 ---- .append( cols[i] ) .append(" as ") ! .append( StringHelper.suffix( subclassColumnClosureAliases[i], suffix) ); } return buf.toString(); |