You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(22) |
Nov
(308) |
Dec
(131) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(369) |
Feb
(171) |
Mar
(236) |
Apr
(187) |
May
(218) |
Jun
(217) |
Jul
(127) |
Aug
(448) |
Sep
(270) |
Oct
(231) |
Nov
(422) |
Dec
(255) |
2004 |
Jan
(111) |
Feb
(73) |
Mar
(338) |
Apr
(351) |
May
(349) |
Jun
(495) |
Jul
(394) |
Aug
(1048) |
Sep
(499) |
Oct
(142) |
Nov
(269) |
Dec
(638) |
2005 |
Jan
(825) |
Feb
(1272) |
Mar
(593) |
Apr
(690) |
May
(950) |
Jun
(958) |
Jul
(767) |
Aug
(839) |
Sep
(525) |
Oct
(449) |
Nov
(585) |
Dec
(455) |
2006 |
Jan
(603) |
Feb
(656) |
Mar
(195) |
Apr
(114) |
May
(136) |
Jun
(100) |
Jul
(128) |
Aug
(68) |
Sep
(7) |
Oct
(1) |
Nov
(1) |
Dec
(8) |
2007 |
Jan
(4) |
Feb
(3) |
Mar
(8) |
Apr
(16) |
May
(5) |
Jun
(4) |
Jul
(6) |
Aug
(23) |
Sep
(15) |
Oct
(5) |
Nov
(7) |
Dec
(5) |
2008 |
Jan
(5) |
Feb
(1) |
Mar
(1) |
Apr
(5) |
May
(1) |
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
2012 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
(1) |
Jul
(1) |
Aug
(1) |
Sep
|
Oct
(2) |
Nov
(3) |
Dec
(2) |
2013 |
Jan
(1) |
Feb
|
Mar
(2) |
Apr
(1) |
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
(2) |
Jun
(1) |
Jul
|
Aug
(1) |
Sep
(1) |
Oct
|
Nov
(1) |
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2017 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <one...@us...> - 2002-12-06 12:22:24
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/impl In directory sc8-pr-cvs1:/tmp/cvs-serv1496 Modified Files: SessionImpl.java Log Message: fixed a bug parsing upper case IS NOT NULL, NOT IN, etc improved some exception messages (incl patch by Max Andersen) added Resin support Index: SessionImpl.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/impl/SessionImpl.java,v retrieving revision 1.154 retrieving revision 1.155 diff -C2 -d -r1.154 -r1.155 *** SessionImpl.java 28 Nov 2002 23:29:23 -0000 1.154 --- SessionImpl.java 6 Dec 2002 12:22:20 -0000 1.155 *************** *** 519,528 **** } ! if ( log.isTraceEnabled() ) log.trace( "saving " + persister.getClassName() + '#' + ( (id==null) ? "native" : id ) ); if (!identityCol) { // if the id is generated by the database, we assign the key later key = new Key(id, persister); ! if ( getEntity(key) != null ) throw new HibernateException("The generated ID is already in use"); persister.setIdentifier(object, id); --- 519,528 ---- } ! if ( log.isTraceEnabled() ) log.trace( "saving " + infoString(persister,id)); if (!identityCol) { // if the id is generated by the database, we assign the key later key = new Key(id, persister); ! if ( getEntity(key) != null ) throw new HibernateException("The generated ID is already in use" + infoString(persister, id)); persister.setIdentifier(object, id); *************** *** 567,571 **** key = new Key(id, persister); ! if ( getEntity(key) != null ) throw new HibernateException("The natively generated ID is already in use"); persister.setIdentifier(object, id); --- 567,571 ---- key = new Key(id, persister); ! if ( getEntity(key) != null ) throw new HibernateException("The natively generated ID is already in use " + infoString(persister,id)); persister.setIdentifier(object, id); *************** *** 717,726 **** persister = entry.persister; } ! if ( !persister.isMutable() ) throw new HibernateException( "attempted to delete an object of immutable class: " + persister.getClassName() ); if (entry.status!=LOADED) throw new ObjectDeletedException("Object was already deleted", entry.id); ! if ( log.isTraceEnabled() ) log.trace( "deleting " + persister.getClassName() + '#' + entry.id ); Type[] propTypes = persister.getPropertyTypes(); --- 717,726 ---- persister = entry.persister; } ! if ( !persister.isMutable() ) throw new HibernateException( "attempted to delete an object of immutable class: " + infoString(persister)); if (entry.status!=LOADED) throw new ObjectDeletedException("Object was already deleted", entry.id); ! if ( log.isTraceEnabled() ) log.trace( "deleting " + infoString(persister, entry.id) ); Type[] propTypes = persister.getPropertyTypes(); *************** *** 890,894 **** if (id==null) { // assume this is a newly instantiated transient object ! throw new HibernateException("The given object has a null identifier property"); } else { --- 890,894 ---- if (id==null) { // assume this is a newly instantiated transient object ! throw new HibernateException("The given object has a null identifier property " + infoString(persister)); } else { *************** *** 900,904 **** } else { ! throw new HibernateException("The given object has no identifier property - you must supply an id"); } --- 900,904 ---- } else { ! throw new HibernateException("The given object has no identifier property - you must supply an id " + infoString(persister)); } *************** *** 955,971 **** if ( !persister.isMutable() ) throw new HibernateException( ! "attempted to update an object of immutable class: " + persister.getClassName() ); ! if ( log.isTraceEnabled() ) log.trace( "updating " + persister.getClassName() + '#' + id ); Key key = new Key(id, persister); Object old = getEntity(key); if (old==object) { ! throw new AssertionFailure("Hibernate has a bug in update() ... or you are using an illegal id type"); } else if ( old!=null ) { throw new HibernateException( ! "Another object was associated with this id (the object with the given id was already loaded)" ); } --- 955,975 ---- if ( !persister.isMutable() ) throw new HibernateException( ! "attempted to update an object of immutable class: " + infoString(persister) ); ! if ( log.isTraceEnabled() ) log.trace( "updating " + infoString(persister, id) ); Key key = new Key(id, persister); Object old = getEntity(key); if (old==object) { ! throw new AssertionFailure( ! "Hibernate has a bug in update() ... or you are using an illegal id type" + ! infoString(persister, id) ! ); } else if ( old!=null ) { throw new HibernateException( ! "Another object was associated with this id (the object with the given id was already loaded) " + ! infoString(persister, id) ); } *************** *** 1179,1183 **** if (e.status!=LOADED) throw new TransientObjectException("attempted to lock a deleted instance"); ! if ( log.isTraceEnabled() ) log.trace( "locking " + persister.getClassName() + '#' + e.id + " in mode: " + lockMode ); if ( persister.hasCache() ) persister.getCache().lock(e.id); --- 1183,1187 ---- if (e.status!=LOADED) throw new TransientObjectException("attempted to lock a deleted instance"); ! if ( log.isTraceEnabled() ) log.trace( "locking " + infoString(persister, e.id) + " in mode: " + lockMode ); if ( persister.hasCache() ) persister.getCache().lock(e.id); *************** *** 1403,1407 **** private Object doLoadByClass(Class clazz, Serializable id, boolean checkDeleted, boolean allowProxyCreation) throws SQLException, HibernateException { ! if ( log.isTraceEnabled() ) log.trace( "loading " + clazz.getName() + '#' + id ); ClassPersister persister = getPersister(clazz); --- 1407,1411 ---- private Object doLoadByClass(Class clazz, Serializable id, boolean checkDeleted, boolean allowProxyCreation) throws SQLException, HibernateException { ! if ( log.isTraceEnabled() ) log.trace( "loading " + infoString(clazz, id) ); ClassPersister persister = getPersister(clazz); *************** *** 1457,1461 **** if (lockMode==LockMode.WRITE) throw new HibernateException("Invalid lock mode for load()"); ! if ( log.isTraceEnabled() ) log.trace( "loading " + clazz.getName() + '#' + id + " in lock mode: " + lockMode ); if (id==null) throw new NullPointerException("null is not a valid identifier"); --- 1461,1465 ---- if (lockMode==LockMode.WRITE) throw new HibernateException("Invalid lock mode for load()"); ! if ( log.isTraceEnabled() ) log.trace( "loading " + infoString(clazz, id) + " in lock mode: " + lockMode ); if (id==null) throw new NullPointerException("null is not a valid identifier"); *************** *** 1494,1498 **** //DONT need to flush before a load by id ! if ( log.isTraceEnabled() ) log.trace( "attempting to resolve " + theClass.getName() + '#' + id ); final Object finalResult; --- 1498,1502 ---- //DONT need to flush before a load by id ! if ( log.isTraceEnabled() ) log.trace( "attempting to resolve " + infoString(theClass, id) ); final Object finalResult; *************** *** 1756,1760 **** ) { // its dirty! ! if ( log.isTraceEnabled() ) log.trace("Updating entity: " + persister.getMappedClass().getName() + "#" + entry.id); substitute = interceptor.onFlushDirty( --- 1760,1764 ---- ) { // its dirty! ! if ( log.isTraceEnabled() ) log.trace("Updating entity: " + infoString(persister, entry.id) ); substitute = interceptor.onFlushDirty( *************** *** 2560,2563 **** --- 2564,2633 ---- return many ? new JoinedIterator(results) : result; + } + + // Exception message helpers + /** + * Generate small message that can be used in traces and exception + * messages. + * @param persister The persister for the class in question + * @param id The id + * @return String on the form [FooBar#id] + */ + private String infoString(ClassPersister persister, Serializable id) { + StringBuffer s = new StringBuffer(); + s.append("["); + if(persister==null) { + s.append("<ClassPersister is null>"); + } + else { + s.append(persister.getClassName()); + } + s.append("#"); + + if (id==null) { + s.append("native"); + } + else { + s.append(id); + } + s.append("]"); + + return s.toString(); + + } + + private String infoString(Class clazz, Serializable id) { + StringBuffer s = new StringBuffer(); + s.append("["); + if(clazz==null) { + s.append("<Class is null>"); + } + else { + s.append(clazz.getName()); + } + s.append("#"); + + if (id==null) { + s.append("native"); + } + else { + s.append(id); + } + s.append("]"); + + return s.toString(); + } + + private String infoString(ClassPersister persister) { + StringBuffer s = new StringBuffer(); + s.append("["); + if (persister == null) { + s.append("<ClassPersister is null>"); + } + else { + s.append(persister.getClassName()); + } + s.append("]"); + return s.toString(); } |
From: <one...@us...> - 2002-11-30 14:24:10
|
Update of /cvsroot/hibernate/Hibernate In directory sc8-pr-cvs1:/tmp/cvs-serv20440 Modified Files: hibernate.properties Log Message: FooBarTest reworking against Mckoi Index: hibernate.properties =================================================================== RCS file: /cvsroot/hibernate/Hibernate/hibernate.properties,v retrieving revision 1.92 retrieving revision 1.93 diff -C2 -d -r1.92 -r1.93 *** hibernate.properties 30 Nov 2002 03:57:30 -0000 1.92 --- hibernate.properties 30 Nov 2002 14:24:07 -0000 1.93 *************** *** 86,89 **** --- 86,90 ---- #hibernate.connection.driver_class com.mckoi.JDBCDriver #hibernate.connection.url jdbc:mckoi:/// + #hibernate.connection.url jdbc:mckoi:local://C:/mckoi0.94h/db.conf #hibernate.connection.username admin #hibernate.connection.password nimda |
From: <one...@us...> - 2002-11-30 14:24:10
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/test In directory sc8-pr-cvs1:/tmp/cvs-serv20440/cirrus/hibernate/test Modified Files: FooBarTest.java Log Message: FooBarTest reworking against Mckoi Index: FooBarTest.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/test/FooBarTest.java,v retrieving revision 1.232 retrieving revision 1.233 diff -C2 -d -r1.232 -r1.233 *** FooBarTest.java 27 Nov 2002 15:09:22 -0000 1.232 --- FooBarTest.java 30 Nov 2002 14:24:07 -0000 1.233 *************** *** 112,116 **** s.find("select fum1.fo from fum1 in class Fum where fum1.fo.fum is not null"); s.find("from fum1 in class Fum where fum1.fo.fum is not null order by fum1.fo.fum"); ! if ( !(dialect instanceof MySQLDialect) && !(dialect instanceof HSQLDialect) && !(dialect instanceof PointbaseDialect) ) { s.find("from fum1 in class Fum where exists fum1.friends.elements"); s.find("from fum1 in class Fum where fum1.friends.size = 0"); --- 112,116 ---- s.find("select fum1.fo from fum1 in class Fum where fum1.fo.fum is not null"); s.find("from fum1 in class Fum where fum1.fo.fum is not null order by fum1.fo.fum"); ! if ( !(dialect instanceof MySQLDialect) && !(dialect instanceof HSQLDialect) && !(dialect instanceof MckoiDialect) && !(dialect instanceof PointbaseDialect) ) { s.find("from fum1 in class Fum where exists fum1.friends.elements"); s.find("from fum1 in class Fum where fum1.friends.size = 0"); |
From: <one...@us...> - 2002-11-30 08:28:18
|
Update of /cvsroot/hibernate/Hibernate In directory sc8-pr-cvs1:/tmp/cvs-serv15625 Modified Files: changelog.txt Log Message: introduced Getter and Setter classes and improved an exception message setting null to a primitive property Index: changelog.txt =================================================================== RCS file: /cvsroot/hibernate/Hibernate/changelog.txt,v retrieving revision 1.281 retrieving revision 1.282 diff -C2 -d -r1.281 -r1.282 *** changelog.txt 30 Nov 2002 03:57:29 -0000 1.281 --- changelog.txt 30 Nov 2002 08:28:12 -0000 1.282 *************** *** 1,4 **** --- 1,8 ---- Hibernate Changelog =================== + Changes in version 1.2 final + ---------------------------- + * improved exception message when setting null to primitive type (Max Andersen) + Changes in version 1.2 beta 4 (29.11.2002) ------------------------------------------ |
From: <one...@us...> - 2002-11-30 08:27:30
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/type In directory sc8-pr-cvs1:/tmp/cvs-serv15245/hibernate/type Modified Files: ComponentType.java Log Message: removed some unnecessary exception handling Index: ComponentType.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/type/ComponentType.java,v retrieving revision 1.48 retrieving revision 1.49 diff -C2 -d -r1.48 -r1.49 *** ComponentType.java 30 Nov 2002 08:19:00 -0000 1.48 --- ComponentType.java 30 Nov 2002 08:27:27 -0000 1.49 *************** *** 99,108 **** if (x==null || y==null) return false; for ( int i=0; i<getters.length; i++ ) { ! try { ! if ( !types[i].equals( getters[i].get(x), getters[i].get(y) ) ) return false; ! } ! catch (Exception e) { ! throw new HibernateException( "Could not compare component property values: " + componentClass.getName() ); ! } } return true; --- 99,103 ---- if (x==null || y==null) return false; for ( int i=0; i<getters.length; i++ ) { ! if ( !types[i].equals( getters[i].get(x), getters[i].get(y) ) ) return false; } return true; *************** *** 113,122 **** if (x==null || y==null) return true; for ( int i=0; i<getters.length; i++ ) { ! try { ! if ( types[i].isDirty( getters[i].get(x), getters[i].get(y), owner, factory ) ) return true; ! } ! catch (Exception e) { ! throw new HibernateException( "Could not compare component property values: " + componentClass.getName() ); ! } } return false; --- 108,112 ---- if (x==null || y==null) return true; for ( int i=0; i<getters.length; i++ ) { ! if ( types[i].isDirty( getters[i].get(x), getters[i].get(y), owner, factory ) ) return true; } return false; |
From: <one...@us...> - 2002-11-30 08:19:03
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/type In directory sc8-pr-cvs1:/tmp/cvs-serv13167/hibernate/type Modified Files: ComponentType.java Log Message: introduced Getter and Setter classes and improved an exception message setting null to a primitive property Index: ComponentType.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/type/ComponentType.java,v retrieving revision 1.47 retrieving revision 1.48 diff -C2 -d -r1.47 -r1.48 *** ComponentType.java 26 Nov 2002 03:35:45 -0000 1.47 --- ComponentType.java 30 Nov 2002 08:19:00 -0000 1.48 *************** *** 4,8 **** import java.io.Serializable; import java.lang.reflect.Constructor; - import java.lang.reflect.Method; import java.sql.PreparedStatement; import java.sql.ResultSet; --- 4,7 ---- *************** *** 24,29 **** private final Constructor constructor; private final Type[] types; ! private final Method[] getters; ! private final Method[] setters; private final String[] propertyNames; private final Cascades.CascadeStyle[] cascade; --- 23,28 ---- private final Constructor constructor; private final Type[] types; ! private final ReflectHelper.Getter[] getters; ! private final ReflectHelper.Setter[] setters; private final String[] propertyNames; private final Cascades.CascadeStyle[] cascade; *************** *** 31,35 **** private final int[] joinedFetch; private final String parentProperty; ! private final Method parentSetter; public int[] sqlTypes(Mapping pi) throws MappingException { --- 30,34 ---- private final int[] joinedFetch; private final String parentProperty; ! private final ReflectHelper.Setter parentSetter; public int[] sqlTypes(Mapping pi) throws MappingException { *************** *** 68,78 **** this.types = types; propertySpan = properties.length; ! getters = new Method[propertySpan]; ! setters = new Method[propertySpan]; for ( int i=0; i<properties.length; i++ ) { ! getters[i] = ReflectHelper.getGetterMethod( componentClass, properties[i] ); ! setters[i] = ReflectHelper.getSetterMethod( componentClass, properties[i] ); } ! this.parentSetter = (parentProperty==null) ? null : ReflectHelper.getSetterMethod(componentClass, parentProperty); this.parentProperty = parentProperty; this.propertyNames = properties; --- 67,77 ---- this.types = types; propertySpan = properties.length; ! getters = new ReflectHelper.Getter[propertySpan]; ! setters = new ReflectHelper.Setter[propertySpan]; for ( int i=0; i<properties.length; i++ ) { ! getters[i] = ReflectHelper.getGetter( componentClass, properties[i] ); ! setters[i] = ReflectHelper.getSetter( componentClass, properties[i] ); } ! this.parentSetter = (parentProperty==null) ? null : ReflectHelper.getSetter(componentClass, parentProperty); this.parentProperty = parentProperty; this.propertyNames = properties; *************** *** 101,105 **** for ( int i=0; i<getters.length; i++ ) { try { ! if ( !types[i].equals( getters[i].invoke(x, null), getters[i].invoke(y, null) ) ) return false; } catch (Exception e) { --- 100,104 ---- for ( int i=0; i<getters.length; i++ ) { try { ! if ( !types[i].equals( getters[i].get(x), getters[i].get(y) ) ) return false; } catch (Exception e) { *************** *** 115,119 **** for ( int i=0; i<getters.length; i++ ) { try { ! if ( types[i].isDirty( getters[i].invoke(x, null), getters[i].invoke(y, null), owner, factory ) ) return true; } catch (Exception e) { --- 114,118 ---- for ( int i=0; i<getters.length; i++ ) { try { ! if ( types[i].isDirty( getters[i].get(x), getters[i].get(y), owner, factory ) ) return true; } catch (Exception e) { *************** *** 142,146 **** Object result = instantiate(owner); for ( int i=0; i<propertySpan; i++ ) { ! ReflectHelper.set( setters[i], result, values[i], componentClass, propertyNames[i] ); } return result; --- 141,145 ---- Object result = instantiate(owner); for ( int i=0; i<propertySpan; i++ ) { ! setters[i].set( result, values[i] ); } return result; *************** *** 178,182 **** public Object getPropertyValue(Object component, int i) throws HibernateException { ! return ReflectHelper.get( getters[i], component, componentClass, propertyNames[i] ); } --- 177,181 ---- public Object getPropertyValue(Object component, int i) throws HibernateException { ! return getters[i].get(component); } *************** *** 191,195 **** public void setPropertyValues(Object component, Object[] values) throws HibernateException { for ( int i=0; i<propertySpan; i++ ) { ! ReflectHelper.set( setters[i], component, values[i], componentClass, propertyNames[i] ); } } --- 190,194 ---- public void setPropertyValues(Object component, Object[] values) throws HibernateException { for ( int i=0; i<propertySpan; i++ ) { ! setters[i].set( component, values[i] ); } } *************** *** 220,224 **** try { Object inst = constructor.newInstance(null); ! if (parentSetter!=null) ReflectHelper.set(parentSetter, inst, parent, componentClass, parentProperty); return inst; } --- 219,223 ---- try { Object inst = constructor.newInstance(null); ! if (parentSetter!=null) parentSetter.set(inst, parent); return inst; } |
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/map In directory sc8-pr-cvs1:/tmp/cvs-serv13167/hibernate/map Modified Files: Component.java ManyToOne.java OneToOne.java PersistentClass.java RootClass.java Log Message: introduced Getter and Setter classes and improved an exception message setting null to a primitive property Index: Component.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/map/Component.java,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -d -r1.35 -r1.36 *** Component.java 26 Nov 2002 03:35:43 -0000 1.35 --- Component.java 30 Nov 2002 08:19:00 -0000 1.36 *************** *** 109,113 **** } else if ( "component".equals(name) || "nested-composite-element".equals(name) ) { ! Class subreflectedClass = ReflectHelper.getGetterMethod( componentClass, propertyName ).getReturnType(); value = new Component(subnode, subreflectedClass, path, owner, isNullable, table, root); } --- 109,113 ---- } else if ( "component".equals(name) || "nested-composite-element".equals(name) ) { ! Class subreflectedClass = ReflectHelper.getGetter( componentClass, propertyName ).getReturnType(); value = new Component(subnode, subreflectedClass, path, owner, isNullable, table, root); } Index: ManyToOne.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/map/ManyToOne.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** ManyToOne.java 27 Oct 2002 03:11:33 -0000 1.4 --- ManyToOne.java 30 Nov 2002 08:19:00 -0000 1.5 *************** *** 35,39 **** try { if (getType()==null) setType( TypeFactory.manyToOne( ! ReflectHelper.getGetterMethod(propertyClass, propertyName).getReturnType() ) ); } --- 35,39 ---- try { if (getType()==null) setType( TypeFactory.manyToOne( ! ReflectHelper.getGetter(propertyClass, propertyName).getReturnType() ) ); } Index: OneToOne.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/map/OneToOne.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** OneToOne.java 27 Oct 2002 03:11:33 -0000 1.4 --- OneToOne.java 30 Nov 2002 08:19:00 -0000 1.5 *************** *** 48,52 **** try { if (getType()==null) setType( TypeFactory.oneToOne( ! ReflectHelper.getGetterMethod(propertyClass, propertyName).getReturnType(), foreignKeyType ) ); } --- 48,52 ---- try { if (getType()==null) setType( TypeFactory.oneToOne( ! ReflectHelper.getGetter(propertyClass, propertyName).getReturnType(), foreignKeyType ) ); } Index: PersistentClass.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/map/PersistentClass.java,v retrieving revision 1.42 retrieving revision 1.43 diff -C2 -d -r1.42 -r1.43 *** PersistentClass.java 26 Nov 2002 08:37:25 -0000 1.42 --- PersistentClass.java 30 Nov 2002 08:19:00 -0000 1.43 *************** *** 86,90 **** } else if ( "component".equals(name) ) { ! Class reflectedClass = ReflectHelper.getGetterMethod( getPersistentClass(), propertyName ).getReturnType(); value = new Component(subnode, reflectedClass, path, this, true, table, root); } --- 86,90 ---- } else if ( "component".equals(name) ) { ! Class reflectedClass = ReflectHelper.getGetter( getPersistentClass(), propertyName ).getReturnType(); value = new Component(subnode, reflectedClass, path, this, true, table, root); } Index: RootClass.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/map/RootClass.java,v retrieving revision 1.52 retrieving revision 1.53 diff -C2 -d -r1.52 -r1.53 *** RootClass.java 26 Nov 2002 08:37:25 -0000 1.52 --- RootClass.java 30 Nov 2002 08:19:00 -0000 1.53 *************** *** 166,170 **** } else { ! Class reflectedClass = ReflectHelper.getGetterMethod( getPersistentClass(), propertyName ).getReturnType(); identifier = new Component(subnode, reflectedClass, null, this, false, table, root); identifierProperty = new Property(subnode, identifier, root); --- 166,170 ---- } else { ! Class reflectedClass = ReflectHelper.getGetter( getPersistentClass(), propertyName ).getReturnType(); identifier = new Component(subnode, reflectedClass, null, this, false, table, root); identifierProperty = new Property(subnode, identifier, root); |
From: <one...@us...> - 2002-11-30 08:19:02
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/helpers In directory sc8-pr-cvs1:/tmp/cvs-serv13167/hibernate/helpers Modified Files: ReflectHelper.java Log Message: introduced Getter and Setter classes and improved an exception message setting null to a primitive property Index: ReflectHelper.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/helpers/ReflectHelper.java,v retrieving revision 1.34 retrieving revision 1.35 diff -C2 -d -r1.34 -r1.35 *** ReflectHelper.java 26 Nov 2002 03:35:42 -0000 1.34 --- ReflectHelper.java 30 Nov 2002 08:18:59 -0000 1.35 *************** *** 21,24 **** --- 21,98 ---- private static final Method OBJECT_EQUALS; + public static final class Setter { + private Class clazz; + private final Method method; + private final String propertyName; + + private Setter(Class clazz, Method method, String propertyName) { + this.clazz=clazz; + this.method=method; + this.propertyName=propertyName; + } + + public void set(Object target, Object value) throws HibernateException { + try { + method.invoke( target, new Object[] { value } ); + } + catch (NullPointerException npe) { + if ( value==null && method.getParameterTypes()[0].isPrimitive() ) { + throw new PropertyAccessException(npe, "Null values was assigned to a property of primitive type", true, clazz, propertyName); + } + else { + throw new PropertyAccessException(npe, "NullPointerException occurred while calling", true, clazz, propertyName); + } + } + catch (InvocationTargetException ite) { + throw new PropertyAccessException(ite, "Exception occurred inside", true, clazz, propertyName); + } + catch (IllegalAccessException iae) { + throw new PropertyAccessException(iae, "IllegalAccessException occurred while calling", true, clazz, propertyName); + //cannot occur + } + catch (IllegalArgumentException iae) { + throw new PropertyAccessException(iae, "IllegalArgumentException occurred while calling", true, clazz, propertyName); + } + } + + } + + public static final class Getter { + private Class clazz; + private final Method method; + private final String propertyName; + + private Getter(Class clazz, Method method, String propertyName) { + this.clazz=clazz; + this.method=method; + this.propertyName=propertyName; + } + + public Object get(Object target) throws HibernateException { + try { + return method.invoke(target, null); + } + catch (InvocationTargetException ite) { + throw new PropertyAccessException(ite, "Exception occurred inside", false, clazz, propertyName); + } + catch (IllegalAccessException iae) { + throw new PropertyAccessException(iae, "IllegalAccessException occurred while calling", false, clazz, propertyName); + //cannot occur + } + catch (IllegalArgumentException iae) { + throw new PropertyAccessException(iae, "IllegalArgumentException occurred calling", false, clazz, propertyName); + } + } + + public Class getReturnType() { + return method.getReturnType(); + } + + public Method getMethod() { + return method; + } + + } + static { Method eq; *************** *** 66,70 **** } ! public static Method getSetterMethod(Class theClass, String propertyName) throws MappingException { if (theClass==Object.class || theClass==null) throw new MappingException( "Could not find a setter" ); // will be swallowed --- 140,144 ---- } ! public static Setter getSetter(Class theClass, String propertyName) throws MappingException { if (theClass==Object.class || theClass==null) throw new MappingException( "Could not find a setter" ); // will be swallowed *************** *** 74,78 **** if(result==null) { try { ! return getSetterMethod( theClass.getSuperclass(), propertyName ); } catch (MappingException me) { --- 148,152 ---- if(result==null) { try { ! return getSetter( theClass.getSuperclass(), propertyName ); } catch (MappingException me) { *************** *** 82,86 **** else { if ( !ReflectHelper.isPublic(theClass, result) ) result.setAccessible(true); ! return result; } --- 156,160 ---- else { if ( !ReflectHelper.isPublic(theClass, result) ) result.setAccessible(true); ! return new Setter(theClass, result, propertyName); } *************** *** 106,110 **** } ! public static Method getGetterMethod(Class theClass, String propertyName) throws MappingException { if (theClass==Object.class || theClass==null) throw new MappingException( "Could not find a getter" ); // will be swallowed --- 180,184 ---- } ! public static Getter getGetter(Class theClass, String propertyName) throws MappingException { if (theClass==Object.class || theClass==null) throw new MappingException( "Could not find a getter" ); // will be swallowed *************** *** 114,118 **** if(result==null) { try { ! return getGetterMethod( theClass.getSuperclass(), propertyName ); } catch (MappingException me) { --- 188,192 ---- if(result==null) { try { ! return getGetter( theClass.getSuperclass(), propertyName ); } catch (MappingException me) { *************** *** 122,126 **** else { if ( !ReflectHelper.isPublic(theClass, result) ) result.setAccessible(true); ! return result; } } --- 196,200 ---- else { if ( !ReflectHelper.isPublic(theClass, result) ) result.setAccessible(true); ! return new Getter(theClass, result, propertyName); } } *************** *** 161,165 **** public static Type reflectedPropertyType(Class theClass, String name) throws MappingException { ! return TypeFactory.hueristicType( getGetterMethod(theClass, name).getReturnType().getName() ); } --- 235,239 ---- public static Type reflectedPropertyType(Class theClass, String name) throws MappingException { ! return TypeFactory.hueristicType( getGetter(theClass, name).getReturnType().getName() ); } *************** *** 170,208 **** catch (Exception e) { return Class.forName(name); - } - } - - public static void set(Method method, Object target, Object value, Class clazz, String propertyName) throws HibernateException { - try { - method.invoke( target, new Object[] { value } ); - } - catch (NullPointerException npe) { - throw new PropertyAccessException(npe, "NullPointerException occurred inside", true, clazz, propertyName); - } - catch (InvocationTargetException ite) { - throw new PropertyAccessException(ite, "Exception occurred inside", true, clazz, propertyName); - } - catch (IllegalAccessException iae) { - throw new PropertyAccessException(iae, "IllegalAccessException occurred while calling", true, clazz, propertyName); - //cannot occur - } - catch (IllegalArgumentException iae) { - throw new PropertyAccessException(iae, "IllegalArgumentException occurred while calling", true, clazz, propertyName); - } - } - - public static Object get(Method method, Object target, Class clazz, String propertyName) throws HibernateException { - try { - return method.invoke(target, null); - } - catch (InvocationTargetException ite) { - throw new PropertyAccessException(ite, "Exception occurred inside", false, clazz, propertyName); - } - catch (IllegalAccessException iae) { - throw new PropertyAccessException(iae, "IllegalAccessException occurred while calling", false, clazz, propertyName); - //cannot occur - } - catch (IllegalArgumentException iae) { - throw new PropertyAccessException(iae, "IllegalArgumentException occurred calling", false, clazz, propertyName); } } --- 244,247 ---- |
From: <one...@us...> - 2002-11-30 08:19:02
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/persister In directory sc8-pr-cvs1:/tmp/cvs-serv13167/hibernate/persister Modified Files: AbstractEntityPersister.java Log Message: introduced Getter and Setter classes and improved an exception message setting null to a primitive property Index: AbstractEntityPersister.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/persister/AbstractEntityPersister.java,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** AbstractEntityPersister.java 26 Nov 2002 14:47:29 -0000 1.17 --- AbstractEntityPersister.java 30 Nov 2002 08:19:00 -0000 1.18 *************** *** 93,98 **** private transient final String identifierPropertyName; private transient final Type identifierType; ! private transient final Method setIdentifierMethod; ! private transient final Method getIdentifierMethod; private transient final Method proxyGetIdentifierMethod; --- 93,98 ---- private transient final String identifierPropertyName; private transient final Type identifierType; ! private transient final ReflectHelper.Setter identifierSetter; ! private transient final ReflectHelper.Getter identifierGetter; private transient final Method proxyGetIdentifierMethod; *************** *** 103,111 **** private transient final String versionColumnName; private transient final VersionType versionType; ! private transient final Method getVersionMethod; private transient final int versionProperty; ! private transient final Method[] getters; ! private transient final Method[] setters; protected transient final int hydrateSpan; --- 103,111 ---- private transient final String versionColumnName; private transient final VersionType versionType; ! private transient final ReflectHelper.Getter versionGetter; private transient final int versionProperty; ! private transient final ReflectHelper.Getter[] getters; ! private transient final ReflectHelper.Setter[] setters; protected transient final int hydrateSpan; *************** *** 215,219 **** public void setPropertyValues(Object object, Object[] values) throws HibernateException { for (int j=0; j<hydrateSpan; j++) { ! ReflectHelper.set( getSetters()[j], object, values[j], mappedClass, propertyNames[j] ); } } --- 215,219 ---- public void setPropertyValues(Object object, Object[] values) throws HibernateException { for (int j=0; j<hydrateSpan; j++) { ! getSetters()[j].set(object, values[j]); } } *************** *** 225,229 **** Object[] result = new Object[hydrateSpan]; for (int j=0; j<hydrateSpan; j++) { ! result[j] = ReflectHelper.get( getGetters()[j], object, mappedClass, propertyNames[j] ); } return result; --- 225,229 ---- Object[] result = new Object[hydrateSpan]; for (int j=0; j<hydrateSpan; j++) { ! result[j] = getGetters()[j].get(object); } return result; *************** *** 234,238 **** */ public Object getPropertyValue(Object object, int i) throws HibernateException { ! return ReflectHelper.get( getGetters()[i], object, mappedClass, propertyNames[i] ); } --- 234,238 ---- */ public Object getPropertyValue(Object object, int i) throws HibernateException { ! return getGetters()[i].get(object); } *************** *** 241,245 **** */ public void setPropertyValue(Object object, int i, Object value) throws HibernateException { ! ReflectHelper.set( getSetters()[i], object, value, mappedClass, propertyNames[i] ); } --- 241,245 ---- */ public void setPropertyValue(Object object, int i, Object value) throws HibernateException { ! getSetters()[i].set(object, value); } *************** *** 267,272 **** } else { ! if (getIdentifierMethod==null) throw new HibernateException( "The class has no identifier property: " + className ); ! return (Serializable) ReflectHelper.get( getIdentifierMethod, object, mappedClass, identifierPropertyName ); } } --- 267,272 ---- } else { ! if (identifierGetter==null) throw new HibernateException( "The class has no identifier property: " + className ); ! return (Serializable) identifierGetter.get(object); } } *************** *** 274,283 **** public Object getVersion(Object object) throws HibernateException { if ( !versioned ) return null; ! return ReflectHelper.get( getVersionMethod, object, mappedClass, versionPropertyName ); } public void setIdentifier(Object object, Serializable id) throws HibernateException { ! if (setIdentifierMethod!=null) { ! ReflectHelper.set( setIdentifierMethod, object, id, mappedClass, identifierPropertyName ); } } --- 274,283 ---- public Object getVersion(Object object) throws HibernateException { if ( !versioned ) return null; ! return versionGetter.get(object); } public void setIdentifier(Object object, Serializable id) throws HibernateException { ! if (identifierSetter!=null) { ! identifierSetter.set(object, id); } } *************** *** 303,311 **** // Getters and Setters ! protected Method[] getSetters() { return setters; } ! protected Method[] getGetters() { return getters; } --- 303,311 ---- // Getters and Setters ! protected ReflectHelper.Setter[] getSetters() { return setters; } ! protected ReflectHelper.Getter[] getGetters() { return getters; } *************** *** 344,348 **** public boolean hasIdentifierProperty() { ! return getIdentifierMethod!=null; } --- 344,348 ---- public boolean hasIdentifierProperty() { ! return identifierGetter!=null; } *************** *** 478,487 **** if (identifierPropertyName!=null) { ! setIdentifierMethod = ReflectHelper.getSetterMethod(mappedClass, identifierPropertyName); ! getIdentifierMethod = ReflectHelper.getGetterMethod(mappedClass, identifierPropertyName); ! Method proxyGetter = getIdentifierMethod; try { ! proxyGetter = ReflectHelper.getGetterMethod( model.getProxyInterface(), identifierPropertyName ); } catch (Exception e) {} --- 478,487 ---- if (identifierPropertyName!=null) { ! identifierSetter = ReflectHelper.getSetter(mappedClass, identifierPropertyName); ! identifierGetter = ReflectHelper.getGetter(mappedClass, identifierPropertyName); ! Method proxyGetter = identifierGetter.getMethod(); try { ! proxyGetter = ReflectHelper.getGetter( model.getProxyInterface(), identifierPropertyName ).getMethod(); } catch (Exception e) {} *************** *** 489,494 **** } else { ! getIdentifierMethod = null; ! setIdentifierMethod = null; proxyGetIdentifierMethod = null; } --- 489,494 ---- } else { ! identifierGetter = null; ! identifierSetter = null; proxyGetIdentifierMethod = null; } *************** *** 585,589 **** versionPropertyName = model.getVersion().getName(); versioned = true; ! getVersionMethod = ReflectHelper.getGetterMethod(mappedClass, versionPropertyName); versionType = (VersionType) model.getVersion().getType(); } --- 585,589 ---- versionPropertyName = model.getVersion().getName(); versioned = true; ! versionGetter = ReflectHelper.getGetter(mappedClass, versionPropertyName); versionType = (VersionType) model.getVersion().getType(); } *************** *** 592,596 **** versioned = false; versionType = null; ! getVersionMethod = null; } --- 592,596 ---- versioned = false; versionType = null; ! versionGetter = null; } *************** *** 599,604 **** propertyTypes = new Type[hydrateSpan]; propertyNames = new String[hydrateSpan]; ! getters = new Method[hydrateSpan]; ! setters = new Method[hydrateSpan]; cascadeStyles = new Cascades.CascadeStyle[hydrateSpan]; --- 599,604 ---- propertyTypes = new Type[hydrateSpan]; propertyNames = new String[hydrateSpan]; ! getters = new ReflectHelper.Getter[hydrateSpan]; ! setters = new ReflectHelper.Setter[hydrateSpan]; cascadeStyles = new Cascades.CascadeStyle[hydrateSpan]; *************** *** 612,617 **** if ( prop==model.getVersion() ) tempVersionProperty = i; propertyNames[i] = prop.getName(); ! getters[i] = ReflectHelper.getGetterMethod( mappedClass, propertyNames[i] ); ! setters[i] = ReflectHelper.getSetterMethod( mappedClass, propertyNames[i] ); propertyTypes[i] = prop.getType(); --- 612,617 ---- if ( prop==model.getVersion() ) tempVersionProperty = i; propertyNames[i] = prop.getName(); ! getters[i] = ReflectHelper.getGetter( mappedClass, propertyNames[i] ); ! setters[i] = ReflectHelper.getSetter( mappedClass, propertyNames[i] ); propertyTypes[i] = prop.getType(); |
From: <one...@us...> - 2002-11-30 08:19:02
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate In directory sc8-pr-cvs1:/tmp/cvs-serv13167/hibernate Modified Files: Environment.java Log Message: introduced Getter and Setter classes and improved an exception message setting null to a primitive property Index: Environment.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/Environment.java,v retrieving revision 1.77 retrieving revision 1.78 diff -C2 -d -r1.77 -r1.78 *** Environment.java 30 Nov 2002 03:57:30 -0000 1.77 --- Environment.java 30 Nov 2002 08:18:59 -0000 1.78 *************** *** 39,43 **** public final class Environment { ! private static final String VERSION = "1.2 beta 4"; /** --- 39,43 ---- public final class Environment { ! private static final String VERSION = "1.2 final"; /** |
From: <one...@us...> - 2002-11-30 03:57:33
|
Update of /cvsroot/hibernate/Hibernate/doc/reference/src In directory sc8-pr-cvs1:/tmp/cvs-serv18883/doc/reference/src Modified Files: advanced_or_mapping.xml session_configuration.xml Log Message: manager_lookup_class property was incorrectly documented Index: advanced_or_mapping.xml =================================================================== RCS file: /cvsroot/hibernate/Hibernate/doc/reference/src/advanced_or_mapping.xml,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** advanced_or_mapping.xml 20 Nov 2002 10:27:03 -0000 1.25 --- advanced_or_mapping.xml 30 Nov 2002 03:57:30 -0000 1.26 *************** *** 1081,1085 **** or where serializable transaction isolation level is needed. If the cache is used in a JTA environment, you must specify the property ! <literal>hibernate.transaction.manager_class</literal>, naming a strategy for obtaining the JTA <literal>TransactionManager</literal>. In other environments, you should ensure that the transaction is completed when <literal>Session.close()</literal> or --- 1081,1085 ---- or where serializable transaction isolation level is needed. If the cache is used in a JTA environment, you must specify the property ! <literal>hibernate.transaction.manager_lookup_class</literal>, naming a strategy for obtaining the JTA <literal>TransactionManager</literal>. In other environments, you should ensure that the transaction is completed when <literal>Session.close()</literal> or Index: session_configuration.xml =================================================================== RCS file: /cvsroot/hibernate/Hibernate/doc/reference/src/session_configuration.xml,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** session_configuration.xml 26 Nov 2002 03:35:46 -0000 1.25 --- session_configuration.xml 30 Nov 2002 03:57:30 -0000 1.26 *************** *** 364,372 **** <entry><literal>jta.UserTransaction</literal></entry> <entry><literal>jndi/composite/name</literal></entry> ! <entry>A JNDI name to used by <literal>JTATransactionFactory</literal> to obtain the JTA <literal>UserTransaction</literal></entry> </row> <row> ! <entry><literal>hibernate.transaction.manager_class</literal></entry> <entry><literal>full.classname.of.TransactionManagerLookup</literal></entry> <entry>classname of a <literal>TransactionManagerLookup</literal> - needed --- 364,372 ---- <entry><literal>jta.UserTransaction</literal></entry> <entry><literal>jndi/composite/name</literal></entry> ! <entry>A JNDI name used by <literal>JTATransactionFactory</literal> to obtain the JTA <literal>UserTransaction</literal></entry> </row> <row> ! <entry><literal>hibernate.transaction.manager_lookup_class</literal></entry> <entry><literal>full.classname.of.TransactionManagerLookup</literal></entry> <entry>classname of a <literal>TransactionManagerLookup</literal> - needed |
From: <one...@us...> - 2002-11-30 03:57:33
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate In directory sc8-pr-cvs1:/tmp/cvs-serv18883/cirrus/hibernate Modified Files: Environment.java Log Message: manager_lookup_class property was incorrectly documented Index: Environment.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/Environment.java,v retrieving revision 1.76 retrieving revision 1.77 diff -C2 -d -r1.76 -r1.77 *** Environment.java 26 Nov 2002 08:37:24 -0000 1.76 --- Environment.java 30 Nov 2002 03:57:30 -0000 1.77 *************** *** 212,216 **** //Obsolete properties: ! public static final String OUTPUT_STYLESHEET_OLD ="hibernate.output_stylesheet"; private static final String CONNECTION_PROVIDER_OLD ="hibernate.connection_provider"; private static final String DRIVER_OLD ="hibernate.driver"; --- 212,216 ---- //Obsolete properties: ! private static final String OUTPUT_STYLESHEET_OLD ="hibernate.output_stylesheet"; private static final String CONNECTION_PROVIDER_OLD ="hibernate.connection_provider"; private static final String DRIVER_OLD ="hibernate.driver"; |
From: <one...@us...> - 2002-11-30 03:57:33
|
Update of /cvsroot/hibernate/Hibernate In directory sc8-pr-cvs1:/tmp/cvs-serv18883 Modified Files: changelog.txt hibernate.properties readme.txt Log Message: manager_lookup_class property was incorrectly documented Index: changelog.txt =================================================================== RCS file: /cvsroot/hibernate/Hibernate/changelog.txt,v retrieving revision 1.280 retrieving revision 1.281 diff -C2 -d -r1.280 -r1.281 *** changelog.txt 28 Nov 2002 12:33:34 -0000 1.280 --- changelog.txt 30 Nov 2002 03:57:29 -0000 1.281 *************** *** 1,5 **** Hibernate Changelog =================== ! Changes in version 1.2 beta 4 (26.11.2002) ------------------------------------------ * fixed bugs in one-to-many associations to a <joined-subclass> --- 1,5 ---- Hibernate Changelog =================== ! Changes in version 1.2 beta 4 (29.11.2002) ------------------------------------------ * fixed bugs in one-to-many associations to a <joined-subclass> Index: hibernate.properties =================================================================== RCS file: /cvsroot/hibernate/Hibernate/hibernate.properties,v retrieving revision 1.91 retrieving revision 1.92 diff -C2 -d -r1.91 -r1.92 *** hibernate.properties 25 Nov 2002 16:14:35 -0000 1.91 --- hibernate.properties 30 Nov 2002 03:57:30 -0000 1.92 *************** *** 226,232 **** ## to use JTATransactionFactory with JCS caching, Hibernate must be able to obtain the JTA TransactionManager ! #hibernate.transaction.manager_class cirrus.hibernate.transaction.JBossTransactionManagerLookup ! #hibernate.transaction.manager_class cirrus.hibernate.transaction.WeblogicTransactionManagerLookup ! #hibernate.transaction.manager_class cirrus.hibernate.transaction.WebSphereTransactionManagerLookup --- 226,233 ---- ## to use JTATransactionFactory with JCS caching, Hibernate must be able to obtain the JTA TransactionManager ! #hibernate.transaction.manager_lookup_class cirrus.hibernate.transaction.JBossTransactionManagerLookup ! #hibernate.transaction.manager_lookup_class cirrus.hibernate.transaction.WeblogicTransactionManagerLookup ! #hibernate.transaction.manager_lookup_class cirrus.hibernate.transaction.WebSphereTransactionManagerLookup ! #hibernate.transaction.manager_lookup_class cirrus.hibernate.transaction.OrionTransactionManagerLookup Index: readme.txt =================================================================== RCS file: /cvsroot/hibernate/Hibernate/readme.txt,v retrieving revision 1.53 retrieving revision 1.54 diff -C2 -d -r1.53 -r1.54 *** readme.txt 26 Nov 2002 08:37:24 -0000 1.53 --- readme.txt 30 Nov 2002 03:57:30 -0000 1.54 *************** *** 1,5 **** Hibernate - Relational Persistence for Idiomatic Java ===================================================== ! version 1.2 beta 4 26 November 2002 Instructions --- 1,5 ---- Hibernate - Relational Persistence for Idiomatic Java ===================================================== ! version 1.2 beta 4 29 November 2002 Instructions |
From: <one...@us...> - 2002-11-28 23:29:25
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/impl In directory sc8-pr-cvs1:/tmp/cvs-serv22768 Modified Files: SessionFactoryImpl.java SessionImpl.java Log Message: throw better exception if named query not found Index: SessionFactoryImpl.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/impl/SessionFactoryImpl.java,v retrieving revision 1.59 retrieving revision 1.60 diff -C2 -d -r1.59 -r1.60 *** SessionFactoryImpl.java 19 Nov 2002 10:42:17 -0000 1.59 --- SessionFactoryImpl.java 28 Nov 2002 23:29:23 -0000 1.60 *************** *** 520,525 **** } ! public String getNamedQuery(String name) { ! return (String) namedQueries.get(name); } public Type getIdentifierType(Class ObjectClass) throws MappingException { --- 520,527 ---- } ! public String getNamedQuery(String name) throws MappingException { ! String queryString = (String) namedQueries.get(name); ! if (queryString==null) throw new MappingException("Named query not known: " + name); ! return queryString; } public Type getIdentifierType(Class ObjectClass) throws MappingException { Index: SessionImpl.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/impl/SessionImpl.java,v retrieving revision 1.153 retrieving revision 1.154 diff -C2 -d -r1.153 -r1.154 *** SessionImpl.java 25 Nov 2002 10:44:49 -0000 1.153 --- SessionImpl.java 28 Nov 2002 23:29:23 -0000 1.154 *************** *** 1203,1207 **** } ! public Query getNamedQuery(String queryName) { return createQuery( factory.getNamedQuery(queryName) ); } --- 1203,1207 ---- } ! public Query getNamedQuery(String queryName) throws MappingException { return createQuery( factory.getNamedQuery(queryName) ); } |
From: <one...@us...> - 2002-11-28 12:33:37
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/tools/codegen In directory sc8-pr-cvs1:/tmp/cvs-serv28440/cirrus/hibernate/tools/codegen Modified Files: ClassMapping.java Log Message: CodeGenerator now recognizes <version> and <timestamp> (patch by Max Andersen) Index: ClassMapping.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/tools/codegen/ClassMapping.java,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** ClassMapping.java 28 Nov 2002 09:54:33 -0000 1.16 --- ClassMapping.java 28 Nov 2002 12:33:34 -0000 1.17 *************** *** 50,56 **** // get the properties defined for this class List propertyList = new ArrayList(); - propertyList.addAll( classElement.getChildren("property") ); ! Attribute att = classElement.getAttribute("proxy"); if (att!=null) proxyClass = att.getValue(); --- 50,57 ---- // get the properties defined for this class List propertyList = new ArrayList(); propertyList.addAll( classElement.getChildren("property") ); ! propertyList.addAll( classElement.getChildren("version") ); ! propertyList.addAll( classElement.getChildren("timestamp") ); ! Attribute att = classElement.getAttribute("proxy"); if (att!=null) proxyClass = att.getValue(); *************** *** 67,73 **** String cmpclass = cmpid.getAttributeValue("class"); if ( cmpclass==null || cmpclass.equals("") ) { ! propertyList.addAll(cmpid.getChildren("key-property")); ! for (Iterator it = cmpid.getChildren("key-many-to-one").iterator(); ! it.hasNext(); ) { Element manyToOne = (Element) it.next(); --- 68,73 ---- String cmpclass = cmpid.getAttributeValue("class"); if ( cmpclass==null || cmpclass.equals("") ) { ! propertyList.addAll( cmpid.getChildren("key-property") ); ! for ( Iterator it = cmpid.getChildren("key-many-to-one").iterator(); it.hasNext(); ) { Element manyToOne = (Element) it.next(); |
From: <one...@us...> - 2002-11-28 12:33:37
|
Update of /cvsroot/hibernate/Hibernate In directory sc8-pr-cvs1:/tmp/cvs-serv28440 Modified Files: changelog.txt todo.txt Log Message: CodeGenerator now recognizes <version> and <timestamp> (patch by Max Andersen) Index: changelog.txt =================================================================== RCS file: /cvsroot/hibernate/Hibernate/changelog.txt,v retrieving revision 1.279 retrieving revision 1.280 diff -C2 -d -r1.279 -r1.280 *** changelog.txt 27 Nov 2002 22:38:03 -0000 1.279 --- changelog.txt 28 Nov 2002 12:33:34 -0000 1.280 *************** *** 10,13 **** --- 10,15 ---- * fix for problem with class with no properties + native id generation + MS SQL Server contributed by Max Andersen * fixed a BAD bug in Hibernate.configure() (thanks to Rob Stokes) + * CodeGenerator now recognizes <key-many-to-one> (patch by Wolfgang Jung) + * CodeGenerator now recognizes <version> and <timestamp> (patch by Max Andersen) Changes in version 1.2 beta 3 (26.11.2002) Index: todo.txt =================================================================== RCS file: /cvsroot/hibernate/Hibernate/todo.txt,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** todo.txt 24 Nov 2002 13:02:30 -0000 1.27 --- todo.txt 28 Nov 2002 12:33:34 -0000 1.28 *************** *** 1,7 **** TODO ==== ! * support for normalized table mappings in Oracle * immediate deep fetching for queries - * allow version numbers to be tracked by persistence layer, not persistent objects (make property optional) Feature Requests: http://sourceforge.net/tracker/?atid=428711&group_id=40712&func=browse --- 1,6 ---- TODO ==== ! * allow "foo in bar.valueTypeCollection" in query from clause * immediate deep fetching for queries Feature Requests: http://sourceforge.net/tracker/?atid=428711&group_id=40712&func=browse |
From: <one...@us...> - 2002-11-28 09:54:36
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/tools/codegen In directory sc8-pr-cvs1:/tmp/cvs-serv23710 Modified Files: ClassMapping.java Log Message: CodeGenerator now recognizes <key-many-to-one> (patch by Wolfgang Jung) Index: ClassMapping.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/tools/codegen/ClassMapping.java,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** ClassMapping.java 16 Nov 2002 13:18:38 -0000 1.15 --- ClassMapping.java 28 Nov 2002 09:54:33 -0000 1.16 *************** *** 68,71 **** --- 68,81 ---- if ( cmpclass==null || cmpclass.equals("") ) { propertyList.addAll(cmpid.getChildren("key-property")); + for (Iterator it = cmpid.getChildren("key-many-to-one").iterator(); + it.hasNext(); ) { + Element manyToOne = (Element) it.next(); + + ClassName classType = new ClassName(); + classType.setFullyQualifiedName(manyToOne.getAttributeValue("class")); + // add an import and field for this property + addImport(classType); + fields.add(new Field(manyToOne.getAttributeValue("name"), classType.getName(), false)); + } } else { *************** *** 92,95 **** --- 102,108 ---- // ensure that the type is specified String type = property.getAttributeValue("type"); + if (type == null && cmpid != null) { // for composite-keys + type = property.getAttributeValue("class"); + } if ( type == null || type.trim().equals("") ) { System.out.println("property \"" + name + "\" in class " + getName() + " is missing a type attribute"); |
From: <one...@us...> - 2002-11-27 22:38:07
|
Update of /cvsroot/hibernate/Hibernate In directory sc8-pr-cvs1:/tmp/cvs-serv31725 Modified Files: changelog.txt Log Message: fixed bug in Hibernate.configure() Index: changelog.txt =================================================================== RCS file: /cvsroot/hibernate/Hibernate/changelog.txt,v retrieving revision 1.278 retrieving revision 1.279 diff -C2 -d -r1.278 -r1.279 *** changelog.txt 27 Nov 2002 16:42:54 -0000 1.278 --- changelog.txt 27 Nov 2002 22:38:03 -0000 1.279 *************** *** 9,12 **** --- 9,13 ---- * added --format and --delimiter options to SchemaExport (thanks to Richard Mixon) * fix for problem with class with no properties + native id generation + MS SQL Server contributed by Max Andersen + * fixed a BAD bug in Hibernate.configure() (thanks to Rob Stokes) Changes in version 1.2 beta 3 (26.11.2002) |
From: <one...@us...> - 2002-11-27 22:38:07
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/impl In directory sc8-pr-cvs1:/tmp/cvs-serv31725/cirrus/hibernate/impl Modified Files: SessionFactoryObjectFactory.java Log Message: fixed bug in Hibernate.configure() Index: SessionFactoryObjectFactory.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/impl/SessionFactoryObjectFactory.java,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** SessionFactoryObjectFactory.java 30 Oct 2002 15:42:31 -0000 1.13 --- SessionFactoryObjectFactory.java 27 Nov 2002 22:38:04 -0000 1.14 *************** *** 126,129 **** --- 126,135 ---- } + /** + * Theoretically nonthreadsafe, but its only called by + * applications using <tt>Hibernate.configure()</tt> which + * is synchronized, so it shouldn't be a problem in + * practice. + */ public static void clear() { instances.clear(); |
From: <one...@us...> - 2002-11-27 22:38:07
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate In directory sc8-pr-cvs1:/tmp/cvs-serv31725/cirrus/hibernate Modified Files: Hibernate.java Log Message: fixed bug in Hibernate.configure() Index: Hibernate.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/Hibernate.java,v retrieving revision 1.62 retrieving revision 1.63 diff -C2 -d -r1.62 -r1.63 *** Hibernate.java 21 Nov 2002 09:03:07 -0000 1.62 --- Hibernate.java 27 Nov 2002 22:38:02 -0000 1.63 *************** *** 164,173 **** */ public static void configure() throws HibernateException { - - //probably not really necessary ... but perhaps nice to have - SessionFactoryObjectFactory.clear(); synchronized (Hibernate.class) { if (!configured) { new Configuration("/hibernate.cfg.xml").configure(); configured = true; --- 164,174 ---- */ public static void configure() throws HibernateException { synchronized (Hibernate.class) { if (!configured) { + + //probably not really necessary ... but perhaps nice to have + SessionFactoryObjectFactory.clear(); + new Configuration("/hibernate.cfg.xml").configure(); configured = true; |
From: <jo...@us...> - 2002-11-27 17:02:45
|
Update of /cvsroot/hibernate/Tools/bin In directory sc8-pr-cvs1:/tmp/cvs-serv590/bin Log Message: Directory /cvsroot/hibernate/Tools/bin added to the repository |
From: <one...@us...> - 2002-11-27 16:43:30
|
Update of /cvsroot/hibernate/Hibernate In directory sc8-pr-cvs1:/tmp/cvs-serv19142 Modified Files: changelog.txt Log Message: fix for ms sql server + class with no properties + native id Index: changelog.txt =================================================================== RCS file: /cvsroot/hibernate/Hibernate/changelog.txt,v retrieving revision 1.277 retrieving revision 1.278 diff -C2 -d -r1.277 -r1.278 *** changelog.txt 27 Nov 2002 13:47:33 -0000 1.277 --- changelog.txt 27 Nov 2002 16:42:54 -0000 1.278 *************** *** 8,11 **** --- 8,12 ---- * made Calendar types compilable in JDK1.2 * added --format and --delimiter options to SchemaExport (thanks to Richard Mixon) + * fix for problem with class with no properties + native id generation + MS SQL Server contributed by Max Andersen Changes in version 1.2 beta 3 (26.11.2002) |
From: <one...@us...> - 2002-11-27 16:43:00
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/tools In directory sc8-pr-cvs1:/tmp/cvs-serv19142/cirrus/hibernate/tools Modified Files: SchemaExport.java Log Message: fix for ms sql server + class with no properties + native id Index: SchemaExport.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/tools/SchemaExport.java,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** SchemaExport.java 27 Nov 2002 13:47:34 -0000 1.11 --- SchemaExport.java 27 Nov 2002 16:42:57 -0000 1.12 *************** *** 203,207 **** } result.append(tok); ! if ( ",".equals(tok) && depth==1 ) result.append("\n "); if ( "(".equals(tok) ) { depth++; --- 203,207 ---- } result.append(tok); ! if ( ",".equals(tok) && depth==1 ) result.append("\n "); if ( "(".equals(tok) ) { depth++; |
From: <one...@us...> - 2002-11-27 16:43:00
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/sql In directory sc8-pr-cvs1:/tmp/cvs-serv19142/cirrus/hibernate/sql Modified Files: Dialect.java SybaseDialect.java Log Message: fix for ms sql server + class with no properties + native id Index: Dialect.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/sql/Dialect.java,v retrieving revision 1.40 retrieving revision 1.41 diff -C2 -d -r1.40 -r1.41 *** Dialect.java 2 Nov 2002 14:32:13 -0000 1.40 --- Dialect.java 27 Nov 2002 16:42:56 -0000 1.41 *************** *** 223,226 **** --- 223,232 ---- return null; } + /** + * The keyword used to insert a row without specifying any column values + */ + public String getNoColumnsInsertString() { + return "values ( )"; + } /** * The syntax that fetches the next value of a sequence, if sequences are supported. Index: SybaseDialect.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/sql/SybaseDialect.java,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** SybaseDialect.java 25 Oct 2002 14:37:58 -0000 1.22 --- SybaseDialect.java 27 Nov 2002 16:42:56 -0000 1.23 *************** *** 56,58 **** --- 56,62 ---- } + public String getNoColumnsInsertString() { + return "DEFAULT VALUES"; + } + } |
From: <one...@us...> - 2002-11-27 16:42:59
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/persister In directory sc8-pr-cvs1:/tmp/cvs-serv19142/cirrus/hibernate/persister Modified Files: EntityPersister.java MultiTableEntityPersister.java Log Message: fix for ms sql server + class with no properties + native id Index: EntityPersister.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/persister/EntityPersister.java,v retrieving revision 1.45 retrieving revision 1.46 diff -C2 -d -r1.45 -r1.46 *** EntityPersister.java 26 Nov 2002 14:47:29 -0000 1.45 --- EntityPersister.java 27 Nov 2002 16:42:55 -0000 1.46 *************** *** 260,264 **** * Generate the SQL that inserts a row */ ! protected String generateInsertString(boolean identityInsert, String identityColumnInsertString) { String[] columnNames = getColumnNames(); --- 260,266 ---- * Generate the SQL that inserts a row */ ! protected String generateInsertString(boolean identityInsert) { ! ! String identityColumnInsertString = dialect.getIdentityInsertString(); String[] columnNames = getColumnNames(); *************** *** 270,274 **** StringBuffer buf = new StringBuffer("insert into ") .append( getTableName() ) ! .append(" ( ") .append( cirrus.hibernate.helpers.StringHelper.join( ", ", columnNames ) ) .append(commaAfterProperties) --- 272,282 ---- StringBuffer buf = new StringBuffer("insert into ") .append( getTableName() ) ! .append(' '); ! ! if ( !hasPropertyColumns && !insertIdentifierColumns && !isPolymorphic() ) { ! buf.append( dialect.getNoColumnsInsertString() ); ! } ! else { ! buf.append(" ( ") .append( cirrus.hibernate.helpers.StringHelper.join( ", ", columnNames ) ) .append(commaAfterProperties) *************** *** 280,293 **** .append( hasPropertyColumns ? "?" : "" ) .append(commaAfterProperties); ! if ( !identityInsert ) { ! buf.append( StringHelper.repeat( "?, ", getIdentifierColumnNames().length-1 ) ) ! .append("?"); ! } ! else if ( identityColumnInsertString!=null ) { ! buf.append(identityColumnInsertString); } ! buf.append(commaAfterIdentifiers); ! if ( isPolymorphic() ) buf.append(discriminatorSQLString); //to handle discriminator column ! return buf.append(" )").toString(); } --- 288,305 ---- .append( hasPropertyColumns ? "?" : "" ) .append(commaAfterProperties); ! ! if ( !identityInsert ) { ! buf.append( StringHelper.repeat( "?, ", getIdentifierColumnNames().length-1 ) ) ! .append("?"); ! } ! else if (identityColumnInsertString!=null) { ! buf.append(identityColumnInsertString); ! } ! buf.append(commaAfterIdentifiers); ! ! if ( isPolymorphic() ) buf.append(discriminatorSQLString); //to handle discriminator column ! buf.append(" )"); } ! return buf.toString(); } *************** *** 736,741 **** deleteString = generateDeleteString(); ! insertString = generateInsertString(false, null); ! identityInsertString = isIdentifierAssignedByInsert() ? generateInsertString( true, dialect.getIdentityInsertString() ) : null; updateString = generateUpdateString(); --- 748,753 ---- deleteString = generateDeleteString(); ! insertString = generateInsertString(false); ! identityInsertString = isIdentifierAssignedByInsert() ? generateInsertString(true) : null; updateString = generateUpdateString(); Index: MultiTableEntityPersister.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/persister/MultiTableEntityPersister.java,v retrieving revision 1.40 retrieving revision 1.41 diff -C2 -d -r1.40 -r1.41 *** MultiTableEntityPersister.java 26 Nov 2002 14:47:29 -0000 1.40 --- MultiTableEntityPersister.java 27 Nov 2002 16:42:55 -0000 1.41 *************** *** 253,257 **** * Generate the SQL that inserts a row */ ! protected String[] generateInsertStrings(boolean identityInsert, String identityColumnInsertString) { String[] result = new String[tableNames.length]; for ( int j=0; j<tableNames.length; j++ ) { --- 253,260 ---- * Generate the SQL that inserts a row */ ! protected String[] generateInsertStrings(boolean identityInsert) { ! ! String identityColumnInsertString = dialect.getIdentityInsertString(); ! String[] result = new String[tableNames.length]; for ( int j=0; j<tableNames.length; j++ ) { *************** *** 273,278 **** StringBuffer buf = new StringBuffer("insert into ") .append( tableNames[j] ) ! .append(" ( ") ! .append( setters.toString() ); if (insertIdentifierColumns) { --- 276,285 ---- StringBuffer buf = new StringBuffer("insert into ") .append( tableNames[j] ) ! .append(' '); ! ! if (insertIdentifierColumns || hasPropertyColumns) { ! buf.append(" ( ") ! .append( setters.toString() ); ! } if (insertIdentifierColumns) { *************** *** 282,301 **** buf.setLength( buf.length()-2 ); } ! buf.append(" ) values ( ") ! .append( StringHelper.repeat( "?, ", count ) ); ! if ( j==0 && identityColumnInsertString!=null ) { ! buf.append(identityColumnInsertString); ! } ! else if (insertIdentifierColumns) { ! buf.append( StringHelper.repeat( "?, ", getIdentifierColumnNames().length-1 ) ) ! .append("?"); ! } ! else if (hasPropertyColumns) { ! buf.setLength( buf.length()-2 ); } ! result[j] = buf.append(" )").toString(); } --- 289,317 ---- buf.setLength( buf.length()-2 ); } + else { + buf.append( dialect.getNoColumnsInsertString() ); + } ! if (insertIdentifierColumns || hasPropertyColumns) { ! buf.append(" ) values ( ") ! .append( StringHelper.repeat( "?, ", count ) ); ! ! if ( j==0 && identityInsert && identityColumnInsertString!=null ) { ! buf.append(identityColumnInsertString); ! } ! else if (insertIdentifierColumns) { ! buf.append( StringHelper.repeat( "?, ", getIdentifierColumnNames().length-1 ) ) ! .append("?"); ! } ! else if (hasPropertyColumns) { ! buf.setLength( buf.length()-2 ); ! } ! ! buf.append(" )"); ! } ! result[j] = buf.toString(); } *************** *** 838,843 **** deleteStrings = generateDeleteStrings(); ! insertStrings = generateInsertStrings(false, null); ! identityInsertStrings = isIdentifierAssignedByInsert() ? generateInsertStrings( true, dialect.getIdentityInsertString() ) : null; updateStrings = generateUpdateStrings(); --- 854,859 ---- deleteStrings = generateDeleteStrings(); ! insertStrings = generateInsertStrings(false); ! identityInsertStrings = isIdentifierAssignedByInsert() ? generateInsertStrings(true) : null; updateStrings = generateUpdateStrings(); |