5050import static org .hibernate .engine .internal .Versioning .getVersion ;
5151import static org .hibernate .engine .internal .Versioning .incrementVersion ;
5252import static org .hibernate .engine .internal .Versioning .setVersion ;
53+ import static org .hibernate .pretty .MessageHelper .infoString ;
5354
5455/**
5556 * An event that occurs for each entity instance at flush time
@@ -110,7 +111,8 @@ private void checkNaturalId(
110111
111112 private static boolean isUninitializedEnhanced (Object entity ) {
112113 if ( isPersistentAttributeInterceptable ( entity ) ) {
113- final PersistentAttributeInterceptor interceptor = asPersistentAttributeInterceptable ( entity ).$$_hibernate_getInterceptor ();
114+ final PersistentAttributeInterceptor interceptor =
115+ asPersistentAttributeInterceptable ( entity ).$$_hibernate_getInterceptor ();
114116 // the entity is an un-initialized enhancement-as-proxy reference
115117 return interceptor instanceof EnhancementAsProxyLazinessInterceptor ;
116118 }
@@ -162,7 +164,6 @@ public void onFlushEntity(FlushEntityEvent event) throws HibernateException {
162164
163165 private Object [] getValues (Object entity , EntityEntry entry , boolean mightBeDirty , SessionImplementor session ) {
164166 final Object [] loadedState = entry .getLoadedState ();
165-
166167 if ( entry .getStatus () == Status .DELETED ) {
167168 //grab its state saved at deletion
168169 return entry .getDeletedState ();
@@ -216,8 +217,7 @@ private boolean isUpdateNecessary(final FlushEntityEvent event, final boolean mi
216217 final Object entity = event .getEntity ();
217218 processIfSelfDirtinessTracker ( entity , SelfDirtinessTracker ::$$_hibernate_clearDirtyAttributes );
218219 processIfManagedEntity ( entity , DefaultFlushEntityEventListener ::useTracker );
219- event .getFactory ()
220- .getCustomEntityDirtinessStrategy ()
220+ event .getFactory ().getCustomEntityDirtinessStrategy ()
221221 .resetDirty ( entity , entry .getPersister (), event .getSession () );
222222 return false ;
223223 }
@@ -246,7 +246,7 @@ private boolean scheduleUpdate(final FlushEntityEvent event) {
246246 // increment the version number (if necessary)
247247 final Object nextVersion = getNextVersion ( event );
248248
249- int [] dirtyProperties = getDirtyProperties ( event , intercepted );
249+ final int [] dirtyProperties = getDirtyProperties ( event , intercepted );
250250
251251 // check nullability but do not doAfterTransactionCompletion command execute
252252 // we'll use scheduled updates for that.
@@ -276,7 +276,7 @@ private boolean scheduleUpdate(final FlushEntityEvent event) {
276276 }
277277
278278 private static int [] getDirtyProperties (FlushEntityEvent event , boolean intercepted ) {
279- int [] dirtyProperties = event .getDirtyProperties ();
279+ final int [] dirtyProperties = event .getDirtyProperties ();
280280 if ( event .isDirtyCheckPossible () && dirtyProperties == null ) {
281281 if ( !intercepted && !event .hasDirtyCollection () ) {
282282 throw new AssertionFailure ( "dirty, but no dirty properties" );
@@ -297,26 +297,26 @@ private static void logScheduleUpdate(EntityEntry entry, SessionFactoryImplement
297297 if ( !persister .isMutable () ) {
298298 LOG .tracev (
299299 "Updating immutable, deleted entity: {0}" ,
300- MessageHelper . infoString (persister , entry .getId (), factory )
300+ infoString (persister , entry .getId (), factory )
301301 );
302302 }
303303 else if ( !entry .isModifiableEntity () ) {
304304 LOG .tracev (
305305 "Updating non-modifiable, deleted entity: {0}" ,
306- MessageHelper . infoString (persister , entry .getId (), factory )
306+ infoString (persister , entry .getId (), factory )
307307 );
308308 }
309309 else {
310310 LOG .tracev (
311311 "Updating deleted entity: {0}" ,
312- MessageHelper . infoString (persister , entry .getId (), factory )
312+ infoString (persister , entry .getId (), factory )
313313 );
314314 }
315315 }
316316 else {
317317 LOG .tracev (
318318 "Updating entity: {0}" ,
319- MessageHelper . infoString (persister , entry .getId (), factory )
319+ infoString (persister , entry .getId (), factory )
320320 );
321321 }
322322 }
@@ -340,12 +340,12 @@ protected boolean invokeInterceptor(FlushEntityEvent event) {
340340 final EntityPersister persister = entry .getPersister ();
341341 final EventSource session = event .getSession ();
342342
343- boolean isDirty = false ;
344-
345- if ( entry . getStatus () != Status . DELETED ) {
346- if ( callbackRegistry . preUpdate ( entity ) ) {
347- isDirty = copyState ( entity , persister . getPropertyTypes (), values , event . getFactory () );
348- }
343+ final boolean isDirty ;
344+ if ( entry . getStatus () != Status . DELETED && callbackRegistry . preUpdate ( entity ) ) {
345+ isDirty = copyState ( entity , persister . getPropertyTypes (), values , event . getFactory () );
346+ }
347+ else {
348+ isDirty = false ;
349349 }
350350
351351 final boolean stateModified = session .getInterceptor ().onFlushDirty (
@@ -414,7 +414,7 @@ private static boolean isVersionIncrementRequired(FlushEntityEvent event, Entity
414414 return false ;
415415 }
416416 else {
417- int [] dirtyProperties = event .getDirtyProperties ();
417+ final int [] dirtyProperties = event .getDirtyProperties ();
418418 return dirtyProperties == null
419419 || Versioning .isVersionIncrementRequired (
420420 dirtyProperties ,
@@ -445,7 +445,7 @@ private boolean hasDirtyCollections(FlushEntityEvent event) {
445445 persister .getPropertyVersionability ()
446446 );
447447 visitor .processEntityPropertyValues ( event .getPropertyValues (), persister .getPropertyTypes () );
448- boolean hasDirtyCollections = visitor .wasDirtyCollectionFound ();
448+ final boolean hasDirtyCollections = visitor .wasDirtyCollectionFound ();
449449 event .setHasDirtyCollection ( hasDirtyCollections );
450450 return hasDirtyCollections ;
451451 }
@@ -482,7 +482,7 @@ protected void dirtyCheck(final FlushEntityEvent event) throws HibernateExceptio
482482
483483 private static int [] performDirtyCheck (FlushEntityEvent event ) {
484484 final SessionImplementor session = event .getSession ();
485- boolean dirtyCheckPossible ;
485+ final boolean dirtyCheckPossible ;
486486 int [] dirtyProperties = null ;
487487 final EventManager eventManager = session .getEventManager ();
488488 final HibernateMonitoringEvent dirtyCalculationEvent = eventManager .beginDirtyCalculationEvent ();
@@ -547,16 +547,15 @@ else if ( entry.getStatus() == Status.DELETED && !entry.isModifiableEntity() ) {
547547 * the bytecode enhancement, or a custom dirtiness strategy.
548548 */
549549 private static int [] getDirtyProperties (FlushEntityEvent event ) {
550- int [] dirtyProperties = getDirtyPropertiesFromInterceptor ( event );
550+ final int [] dirtyProperties = getDirtyPropertiesFromInterceptor ( event );
551551 if ( dirtyProperties != null ) {
552552 return dirtyProperties ;
553553 }
554554 else {
555555 final Object entity = event .getEntity ();
556- if ( isSelfDirtinessTracker ( entity ) && asManagedEntity ( entity ).$$_hibernate_useTracker () ) {
557- return getDirtyPropertiesFromSelfDirtinessTracker ( asSelfDirtinessTracker ( entity ), event );
558- }
559- return getDirtyPropertiesFromCustomEntityDirtinessStrategy ( event );
556+ return isSelfDirtinessTracker ( entity ) && asManagedEntity ( entity ).$$_hibernate_useTracker ()
557+ ? getDirtyPropertiesFromSelfDirtinessTracker ( asSelfDirtinessTracker ( entity ), event )
558+ : getDirtyPropertiesFromCustomEntityDirtinessStrategy ( event );
560559 }
561560 }
562561
@@ -685,7 +684,7 @@ private void logDirtyProperties(EntityEntry entry, int[] dirtyProperties) {
685684 }
686685 LOG .tracev (
687686 "Found dirty properties [{0}] : {1}" ,
688- MessageHelper . infoString ( persister .getEntityName (), entry .getId () ),
687+ infoString ( persister .getEntityName (), entry .getId () ),
689688 Arrays .toString ( dirtyPropertyNames )
690689 );
691690 }
0 commit comments