From: <one...@us...> - 2002-12-15 07:27:40
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/map In directory sc8-pr-cvs1:/tmp/cvs-serv5753/hibernate/map Modified Files: Collection.java Column.java Table.java Value.java Log Message: shorter name generation for indexes / foreign keys (needed for DB2) Index: Collection.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/map/Collection.java,v retrieving revision 1.50 retrieving revision 1.51 diff -C2 -d -r1.50 -r1.51 *** Collection.java 14 Dec 2002 09:27:55 -0000 1.50 --- Collection.java 15 Dec 2002 07:27:37 -0000 1.51 *************** *** 209,214 **** } public Index createIndex() { ! int indexID = table.generateConstraintID(getKey().getColumnIterator()); ! String name = StringHelper.suffix(table.getQualifiedName(), "IDX" + Integer.toHexString(indexID).toUpperCase()); Index index = table.getIndex(name); Iterator iter = getKey().getColumnIterator(); --- 209,213 ---- } public Index createIndex() { ! String name = "IX" + table.uniqueColumnString( getKey().getColumnIterator() ); Index index = table.getIndex(name); Iterator iter = getKey().getColumnIterator(); Index: Column.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/map/Column.java,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** Column.java 14 Dec 2002 09:27:55 -0000 1.21 --- Column.java 15 Dec 2002 07:27:38 -0000 1.22 *************** *** 79,83 **** catch (Exception e) { throw new MappingException( ! "Could not determine type for column " + name + " of type " + type.getClass().getName() + ": " + e.getClass().getName(), e ); } } --- 79,85 ---- catch (Exception e) { throw new MappingException( ! "Could not determine type for column " + name + " of type " + type.getClass().getName() + ": " + e.getClass().getName(), ! e ! ); } } *************** *** 92,102 **** } ! public boolean equals(Object object) ! { ! return object instanceof Column && equals((Column)object); } ! public boolean equals(Column column) ! { if (null == column) return false; if (this == column) return true; --- 94,102 ---- } ! public boolean equals(Object object) { ! return object instanceof Column && equals( (Column) object ); } ! public boolean equals(Column column) { if (null == column) return false; if (this == column) return true; *************** *** 105,110 **** } ! public int hashCode() ! { return name.hashCode(); } --- 105,109 ---- } ! public int hashCode() { return name.hashCode(); } Index: Table.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/map/Table.java,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** Table.java 14 Dec 2002 09:27:55 -0000 1.31 --- Table.java 15 Dec 2002 07:27:38 -0000 1.32 *************** *** 211,220 **** } ! public int generateConstraintID(Iterator iterator) { int result = 0; ! ! while (iterator.hasNext()) result += iterator.next().hashCode(); ! ! return result; } --- 211,218 ---- } ! public String uniqueColumnString(Iterator iterator) { int result = 0; ! while ( iterator.hasNext() ) result += iterator.next().hashCode(); ! return ( Integer.toHexString( name.hashCode() ) + Integer.toHexString(result) ).toUpperCase(); } Index: Value.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/map/Value.java,v retrieving revision 1.42 retrieving revision 1.43 diff -C2 -d -r1.42 -r1.43 *** Value.java 14 Dec 2002 09:27:55 -0000 1.42 --- Value.java 15 Dec 2002 07:27:38 -0000 1.43 *************** *** 7,11 **** import cirrus.hibernate.*; import cirrus.hibernate.helpers.ReflectHelper; - import cirrus.hibernate.helpers.StringHelper; import cirrus.hibernate.id.Assigned; import cirrus.hibernate.id.IdentifierGenerator; --- 7,10 ---- *************** *** 106,111 **** public void createForeignKeyOfClass(Root root, Table table, Class persistentClass) { //foreign key ! int keyID = table.generateConstraintID(getConstraintColumnIterator()); ! String name = StringHelper.suffix(table.getName(), "FK" + Integer.toHexString(keyID).toUpperCase()); ForeignKey fk = table.getForeignKey(name); Iterator iter = getConstraintColumnIterator(); --- 105,109 ---- public void createForeignKeyOfClass(Root root, Table table, Class persistentClass) { //foreign key ! String name = "FK" + table.uniqueColumnString( getConstraintColumnIterator() ); ForeignKey fk = table.getForeignKey(name); Iterator iter = getConstraintColumnIterator(); |