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() ) {
|