From: <epb...@us...> - 2006-02-15 22:28:24
|
Update of /cvsroot/hibernate/Hibernate3/src/org/hibernate/event/def In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4307/src/org/hibernate/event/def Modified Files: DefaultFlushEntityEventListener.java Log Message: HHH-1489 Index: DefaultFlushEntityEventListener.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate3/src/org/hibernate/event/def/DefaultFlushEntityEventListener.java,v retrieving revision 1.27 retrieving revision 1.28 diff -u -d -r1.27 -r1.28 --- DefaultFlushEntityEventListener.java 3 Feb 2006 22:08:24 -0000 1.27 +++ DefaultFlushEntityEventListener.java 15 Feb 2006 22:28:14 -0000 1.28 @@ -28,11 +28,11 @@ /** * An event that occurs for each entity instance at flush time - * + * * @author Gavin King */ public class DefaultFlushEntityEventListener implements FlushEntityEventListener { - + private static final Log log = LogFactory.getLog(DefaultFlushEntityEventListener.class); /** @@ -41,7 +41,7 @@ public void checkId(Object object, EntityPersister persister, Serializable id, EntityMode entityMode) throws HibernateException { - if ( persister.hasIdentifierPropertyOrEmbeddedCompositeIdentifier() ) { + if ( persister.canExtractIdOutOfEntity() ) { Serializable oid = persister.getIdentifier( object, entityMode ); if (id==null) { @@ -58,7 +58,7 @@ } } - + private void checkNaturalId( EntityPersister persister, Serializable identifier, @@ -100,16 +100,16 @@ final Status status = entry.getStatus(); final EntityMode entityMode = session.getEntityMode(); final Type[] types = persister.getPropertyTypes(); - + final boolean mightBeDirty = entry.requiresDirtyCheck(entity); final Object[] values = getValues( entity, entry, entityMode, mightBeDirty, session ); - + event.setPropertyValues(values); //TODO: avoid this for non-new instances where mightBeDirty==false boolean substitute = wrapCollections( session, persister, types, values); - + if ( isUpdateNecessary( event, mightBeDirty ) ) { substitute = scheduleUpdate( event ) || substitute; } @@ -128,16 +128,16 @@ } private Object[] getValues( - Object entity, - EntityEntry entry, - EntityMode entityMode, + Object entity, + EntityEntry entry, + EntityMode entityMode, boolean mightBeDirty, SessionImplementor session ) { final Object[] loadedState = entry.getLoadedState(); final Status status = entry.getStatus(); final EntityPersister persister = entry.getPersister(); - + final Object[] values; if ( status == Status.DELETED ) { //grab its state saved at deletion @@ -148,19 +148,19 @@ } else { checkId( entity, persister, entry.getId(), entityMode ); - + // grab its current state values = persister.getPropertyValues( entity, entityMode ); - + checkNaturalId( persister, entry.getId(), values, loadedState, entityMode, session ); } return values; } private boolean wrapCollections( - EventSource session, - EntityPersister persister, - Type[] types, + EventSource session, + EntityPersister persister, + Type[] types, Object[] values ) { if ( persister.hasCollections() ) { |