Skip to content

Commit c908efa

Browse files
committed
consistently reuse local vars in actions
1 parent a63ae70 commit c908efa

File tree

5 files changed

+42
-32
lines changed

5 files changed

+42
-32
lines changed

hibernate-core/src/main/java/org/hibernate/action/internal/AbstractEntityInsertAction.java

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -127,24 +127,27 @@ protected final void nullifyTransientReferencesIfNotAlready() {
127127
*/
128128
public final void makeEntityManaged() {
129129
nullifyTransientReferencesIfNotAlready();
130-
final Object version = getVersion( getState(), getPersister() );
130+
final var persister = getPersister();
131+
final var key = getEntityKey();
132+
final Object[] state = getState();
133+
final Object version = getVersion( state, persister );
131134
final var persistenceContext = getSession().getPersistenceContextInternal();
132-
final var entityHolder = persistenceContext.addEntityHolder( getEntityKey(), getInstance() );
135+
final var entityHolder = persistenceContext.addEntityHolder( key, getInstance() );
133136
final var entityEntry = persistenceContext.addEntry(
134137
getInstance(),
135-
getPersister().isMutable() ? Status.MANAGED : Status.READ_ONLY,
136-
getState(),
138+
persister.isMutable() ? Status.MANAGED : Status.READ_ONLY,
139+
state,
137140
getRowId(),
138-
getEntityKey().getIdentifier(),
141+
key.getIdentifier(),
139142
version,
140143
LockMode.WRITE,
141144
isExecuted,
142-
getPersister(),
145+
persister,
143146
isVersionIncrementDisabled
144147
);
145148
entityHolder.setEntityEntry( entityEntry );
146149
if ( isEarlyInsert() ) {
147-
addCollectionsByKeyToPersistenceContext( persistenceContext, getState() );
150+
addCollectionsByKeyToPersistenceContext( persistenceContext, state );
148151
}
149152
}
150153

@@ -270,7 +273,8 @@ protected void handleNaturalIdPreSaveNotifications() {
270273
* @param generatedId The generated entity identifier
271274
*/
272275
public void handleNaturalIdPostSaveNotifications(Object generatedId) {
273-
final var naturalIdMapping = getPersister().getNaturalIdMapping();
276+
final var persister = getPersister();
277+
final var naturalIdMapping = persister.getNaturalIdMapping();
274278
if ( naturalIdMapping != null ) {
275279
final Object naturalIdValues = naturalIdMapping.extractNaturalIdFromEntityState( state );
276280
final var resolutions = getNaturalIdResolutions();
@@ -279,7 +283,7 @@ public void handleNaturalIdPostSaveNotifications(Object generatedId) {
279283
resolutions.manageLocalResolution(
280284
generatedId,
281285
naturalIdValues,
282-
getPersister(),
286+
persister,
283287
CachedNaturalIdValueSource.INSERT
284288
);
285289
}
@@ -288,7 +292,7 @@ public void handleNaturalIdPostSaveNotifications(Object generatedId) {
288292
generatedId,
289293
naturalIdValues,
290294
null,
291-
getPersister(),
295+
persister,
292296
CachedNaturalIdValueSource.INSERT
293297
);
294298
}

hibernate-core/src/main/java/org/hibernate/action/internal/EntityDeleteAction.java

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ public void execute() throws HibernateException {
112112
.removeLocalResolution(
113113
getId(),
114114
naturalIdMapping.extractNaturalIdFromEntityState( state ),
115-
getPersister()
115+
persister
116116
);
117117
}
118118

@@ -139,20 +139,21 @@ public void execute() throws HibernateException {
139139
postDeleteUnloaded( id, persister, session, ck );
140140
}
141141

142-
final var statistics = getSession().getFactory().getStatistics();
142+
final var statistics = session.getFactory().getStatistics();
143143
if ( statistics.isStatisticsEnabled() && !veto ) {
144-
statistics.deleteEntity( getPersister().getEntityName() );
144+
statistics.deleteEntity( persister.getEntityName() );
145145
}
146146
}
147147

148148
protected Object getCurrentVersion() {
149-
return getPersister().isVersionPropertyGenerated()
150-
// skip if we're deleting an unloaded proxy, no need for the version
151-
&& isInstanceLoaded()
149+
final var persister = getPersister();
150+
return persister.isVersionPropertyGenerated()
151+
// skip if we're deleting an unloaded proxy, no need for the version
152+
&& isInstanceLoaded()
152153
// we need to grab the version value from the entity, otherwise
153154
// we have issues with generated-version entities that may have
154155
// multiple actions queued during the same flush
155-
? getPersister().getVersion( getInstance() )
156+
? persister.getVersion( getInstance() )
156157
: version;
157158
}
158159

@@ -287,13 +288,14 @@ protected void unlockCacheItem() {
287288
protected void removeCacheItem(Object ck) {
288289
final var persister = getPersister();
289290
if ( persister.canWriteToCache() ) {
290-
persister.getCacheAccessStrategy().remove( getSession(), ck );
291+
final var cache = persister.getCacheAccessStrategy();
292+
cache.remove( getSession(), ck );
291293

292294
final var statistics = getSession().getFactory().getStatistics();
293295
if ( statistics.isStatisticsEnabled() ) {
294296
statistics.entityCacheRemove(
295297
StatsHelper.getRootEntityRole( persister ),
296-
getPersister().getCacheAccessStrategy().getRegion().getName()
298+
cache.getRegion().getName()
297299
);
298300
}
299301
}

hibernate-core/src/main/java/org/hibernate/action/internal/EntityIdentityInsertAction.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,10 @@ public void execute() throws HibernateException {
7979
final var eventMonitor = session.getEventMonitor();
8080
final var event = eventMonitor.beginEntityInsertEvent();
8181
boolean success = false;
82+
final Object[] state = getState();
8283
final GeneratedValues generatedValues;
8384
try {
84-
generatedValues = persister.getInsertCoordinator().insert( instance, getState(), session );
85+
generatedValues = persister.getInsertCoordinator().insert( instance, state, session );
8586
generatedId = castNonNull( generatedValues ).getGeneratedValue( persister.getIdentifierMapping() );
8687
success = true;
8788
}
@@ -96,12 +97,12 @@ public void execute() throws HibernateException {
9697
}
9798
}
9899
if ( persister.hasInsertGeneratedProperties() ) {
99-
persister.processInsertGeneratedProperties( generatedId, instance, getState(), generatedValues, session );
100+
persister.processInsertGeneratedProperties( generatedId, instance, state, generatedValues, session );
100101
}
101102
//need to do that here rather than in the save event listener to let
102103
//the post insert events to have an id-filled entity when IDENTITY is used (EJB3)
103104
persister.setIdentifier( instance, generatedId, session );
104-
persistenceContext.registerInsertedKey( getPersister(), generatedId );
105+
persistenceContext.registerInsertedKey( persister, generatedId );
105106
entityKey = session.generateEntityKey( generatedId, persister );
106107
persistenceContext.checkUniqueness( entityKey, getInstance() );
107108
}
@@ -118,7 +119,7 @@ public void execute() throws HibernateException {
118119

119120
final var statistics = session.getFactory().getStatistics();
120121
if ( statistics.isStatisticsEnabled() && !isVeto() ) {
121-
statistics.insertEntity( getPersister().getEntityName() );
122+
statistics.insertEntity( persister.getEntityName() );
122123
}
123124

124125
markExecuted();

hibernate-core/src/main/java/org/hibernate/action/internal/EntityInsertAction.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ public void execute() throws HibernateException {
116116
}
117117
entry.postInsert( getState() );
118118
handleGeneratedProperties( entry, generatedValues, persistenceContext );
119-
persistenceContext.registerInsertedKey( persister, getId() );
119+
persistenceContext.registerInsertedKey( persister, id );
120120
addCollectionsByKeyToPersistenceContext( persistenceContext, getState() );
121121
}
122122
putCacheIfNecessary();
@@ -136,16 +136,17 @@ private void handleGeneratedProperties(
136136
GeneratedValues generatedValues,
137137
PersistenceContext persistenceContext) {
138138
final var persister = getPersister();
139+
final Object[] state = getState();
139140
if ( persister.hasInsertGeneratedProperties() ) {
140141
final Object instance = getInstance();
141-
persister.processInsertGeneratedProperties( getId(), instance, getState(), generatedValues, getSession() );
142+
persister.processInsertGeneratedProperties( getId(), instance, state, generatedValues, getSession() );
142143
if ( persister.isVersionPropertyGenerated() ) {
143-
version = Versioning.getVersion( getState(), persister );
144+
version = Versioning.getVersion( state, persister );
144145
}
145-
entry.postUpdate( instance, getState(), version );
146+
entry.postUpdate( instance, state, version );
146147
}
147148
else if ( persister.isVersionPropertyGenerated() ) {
148-
version = Versioning.getVersion( getState(), persister );
149+
version = Versioning.getVersion( state, persister );
149150
entry.postInsert( version );
150151
}
151152
// Process row-id values when available early by replacing the entity entry

hibernate-core/src/main/java/org/hibernate/action/internal/EntityUpdateAction.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,8 @@ public EntityUpdateAction(
8787
previousNaturalIdValues = null;
8888
}
8989
else {
90-
previousNaturalIdValues = determinePreviousNaturalIdValues( persister, naturalIdMapping, id, previousState, session );
90+
previousNaturalIdValues =
91+
determinePreviousNaturalIdValues( persister, naturalIdMapping, id, previousState, session );
9192
session.getPersistenceContextInternal().getNaturalIdResolutions().manageLocalResolution(
9293
id,
9394
naturalIdMapping.extractNaturalIdFromEntityState( state ),
@@ -223,7 +224,7 @@ else if ( session.getCacheMode().isPutEnabled() ) {
223224
if ( put && statistics.isStatisticsEnabled() ) {
224225
statistics.entityCachePut(
225226
StatsHelper.getRootEntityRole( persister ),
226-
getPersister().getCacheAccessStrategy().getRegion().getName()
227+
persister.getCacheAccessStrategy().getRegion().getName()
227228
);
228229
}
229230
}
@@ -439,18 +440,19 @@ protected void cacheAfterUpdate(EntityDataAccess cache, Object ck, SharedSession
439440
put = cache.afterUpdate( session, ck, cacheEntry, nextVersion, previousVersion, lock );
440441
}
441442
finally {
443+
final var persister = getPersister();
442444
eventMonitor.completeCachePutEvent(
443445
cachePutEvent,
444446
session,
445447
cache,
446-
getPersister(),
448+
persister,
447449
put,
448450
EventMonitor.CacheActionDescription.ENTITY_AFTER_UPDATE
449451
);
450452
final var statistics = session.getFactory().getStatistics();
451453
if ( put && statistics.isStatisticsEnabled() ) {
452454
statistics.entityCachePut(
453-
StatsHelper.getRootEntityRole( getPersister() ),
455+
StatsHelper.getRootEntityRole( persister ),
454456
cache.getRegion().getName()
455457
);
456458
}

0 commit comments

Comments
 (0)