Skip to content

Commit 1d00b97

Browse files
committed
use 'var' in event listeners
1 parent f4fc2b9 commit 1d00b97

30 files changed

+348
-432
lines changed

hibernate-core/src/main/java/org/hibernate/event/internal/AbstractFlushingEventListener.java

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
import org.hibernate.collection.spi.PersistentCollection;
1616
import org.hibernate.engine.internal.Cascade;
1717
import org.hibernate.engine.internal.CascadePoint;
18-
import org.hibernate.engine.jdbc.spi.JdbcCoordinator;
1918
import org.hibernate.engine.spi.ActionQueue;
2019
import org.hibernate.engine.spi.CascadingActions;
2120
import org.hibernate.engine.spi.CollectionEntry;
@@ -24,7 +23,6 @@
2423
import org.hibernate.engine.spi.PersistenceContext;
2524
import org.hibernate.engine.spi.SessionImplementor;
2625
import org.hibernate.engine.spi.Status;
27-
import org.hibernate.event.service.spi.EventListenerGroup;
2826
import org.hibernate.event.spi.EventSource;
2927
import org.hibernate.event.spi.FlushEntityEvent;
3028
import org.hibernate.event.spi.FlushEntityEventListener;
@@ -63,8 +61,8 @@ public abstract class AbstractFlushingEventListener {
6361
*/
6462
protected void flushEverythingToExecutions(FlushEvent event) throws HibernateException {
6563
LOG.trace( "Flushing session" );
66-
final EventSource session = event.getSession();
67-
final PersistenceContext persistenceContext = session.getPersistenceContextInternal();
64+
final var session = event.getSession();
65+
final var persistenceContext = session.getPersistenceContextInternal();
6866
preFlush( session, persistenceContext );
6967
flushEverythingToExecutions( event, persistenceContext, session );
7068
}
@@ -98,9 +96,9 @@ protected void preFlush(EventSource session, PersistenceContext persistenceConte
9896

9997
protected void logFlushResults(FlushEvent event) {
10098
if ( LOG.isDebugEnabled() ) {
101-
final EventSource session = event.getSession();
102-
final PersistenceContext persistenceContext = session.getPersistenceContextInternal();
103-
final ActionQueue actionQueue = session.getActionQueue();
99+
final var session = event.getSession();
100+
final var persistenceContext = session.getPersistenceContextInternal();
101+
final var actionQueue = session.getActionQueue();
104102
LOG.debugf(
105103
"Flushed: %s insertions, %s updates, %s deletions to %s objects",
106104
actionQueue.numberOfInsertions(),
@@ -128,11 +126,11 @@ protected void logFlushResults(FlushEvent event) {
128126
private void prepareEntityFlushes(EventSource session, PersistenceContext persistenceContext)
129127
throws HibernateException {
130128
LOG.trace( "Processing flush-time cascades" );
131-
final PersistContext context = PersistContext.create();
129+
final var context = PersistContext.create();
132130
// safe from concurrent modification because of how concurrentEntries() is implemented on IdentityMap
133131
for ( var me : persistenceContext.reentrantSafeEntityEntries() ) {
134132
// for ( Map.Entry me : IdentityMap.concurrentEntries( persistenceContext.getEntityEntries() ) ) {
135-
final EntityEntry entry = me.getValue();
133+
final var entry = me.getValue();
136134
if ( flushable( entry ) ) {
137135
cascadeOnFlush( session, entry.getPersister(), me.getKey(), context );
138136
}
@@ -146,7 +144,7 @@ void checkForTransientReferences(EventSource session, PersistenceContext persist
146144
// persistent when we do the check (I wonder if we could move this
147145
// into Nullability, instead of abusing the Cascade infrastructure)
148146
for ( var me : persistenceContext.reentrantSafeEntityEntries() ) {
149-
final EntityEntry entry = me.getValue();
147+
final var entry = me.getValue();
150148
if ( checkable( entry ) ) {
151149
Cascade.cascade(
152150
CascadingActions.CHECK_ON_FLUSH,
@@ -175,7 +173,7 @@ private static boolean checkable(EntityEntry entry) {
175173

176174
private void cascadeOnFlush(EventSource session, EntityPersister persister, Object object, PersistContext anything)
177175
throws HibernateException {
178-
final PersistenceContext persistenceContext = session.getPersistenceContextInternal();
176+
final var persistenceContext = session.getPersistenceContextInternal();
179177
persistenceContext.incrementCascadeLevel();
180178
try {
181179
Cascade.cascade( CascadingActions.PERSIST_ON_FLUSH, CascadePoint.BEFORE_FLUSH, session, persister, object, anything );
@@ -194,7 +192,9 @@ private void prepareCollectionFlushes(PersistenceContext persistenceContext) thr
194192
LOG.trace( "Dirty checking collections" );
195193
final var collectionEntries = persistenceContext.getCollectionEntries();
196194
if ( collectionEntries != null ) {
197-
final var identityMap = (InstanceIdentityMap<PersistentCollection<?>, CollectionEntry>) collectionEntries;
195+
final var identityMap =
196+
(InstanceIdentityMap<PersistentCollection<?>, CollectionEntry>)
197+
collectionEntries;
198198
for ( var entry : identityMap.toArray() ) {
199199
entry.getValue().preFlush( entry.getKey() );
200200
}
@@ -212,8 +212,8 @@ private int flushEntities(final FlushEvent event, final PersistenceContext persi
212212
throws HibernateException {
213213
LOG.trace( "Flushing entities and processing referenced collections" );
214214

215-
final EventSource source = event.getSession();
216-
final EventListenerGroup<FlushEntityEventListener> flushListeners =
215+
final var source = event.getSession();
216+
final var flushListeners =
217217
event.getFactory().getEventListenerGroups().eventListenerGroup_FLUSH_ENTITY;
218218

219219
// Among other things, updateReachables() recursively loads all
@@ -227,7 +227,7 @@ private int flushEntities(final FlushEvent event, final PersistenceContext persi
227227
int eventGenerationId = 0; //Used to double-check the instance reuse won't cause problems
228228
for ( var me : entityEntries ) {
229229
// Update the status of the object and if necessary, schedule an update
230-
final EntityEntry entry = me.getValue();
230+
final var entry = me.getValue();
231231
final Status status = entry.getStatus();
232232
if ( status != Status.LOADING && status != Status.GONE ) {
233233
entityEvent = createOrReuseEventInstance( entityEvent, source, me.getKey(), entry );
@@ -276,9 +276,11 @@ private int flushCollections(final EventSource session, final PersistenceContext
276276
}
277277
else {
278278
count = collectionEntries.size();
279-
final var identityMap = (InstanceIdentityMap<PersistentCollection<?>, CollectionEntry>) collectionEntries;
279+
final var identityMap =
280+
(InstanceIdentityMap<PersistentCollection<?>, CollectionEntry>)
281+
collectionEntries;
280282
for ( var me : identityMap.toArray() ) {
281-
final CollectionEntry ce = me.getValue();
283+
final var ce = me.getValue();
282284
if ( !ce.isReached() && !ce.isIgnore() ) {
283285
processUnreachableCollection( me.getKey(), session );
284286
}
@@ -288,8 +290,8 @@ private int flushCollections(final EventSource session, final PersistenceContext
288290
// Schedule updates to collections:
289291

290292
LOG.trace( "Scheduling collection removes/(re)creates/updates" );
291-
final ActionQueue actionQueue = session.getActionQueue();
292-
final Interceptor interceptor = session.getInterceptor();
293+
final var actionQueue = session.getActionQueue();
294+
final var interceptor = session.getInterceptor();
293295
persistenceContext.forEachCollectionEntry(
294296
(coll, ce) -> {
295297
if ( ce.isDorecreate() ) {
@@ -366,8 +368,8 @@ protected void performExecutions(EventSource session) {
366368
// during-flush callbacks more leniency in regards to initializing proxies and
367369
// lazy collections during their processing.
368370
// For more information, see HHH-2763
369-
final PersistenceContext persistenceContext = session.getPersistenceContextInternal();
370-
final JdbcCoordinator jdbcCoordinator = session.getJdbcCoordinator();
371+
final var persistenceContext = session.getPersistenceContextInternal();
372+
final var jdbcCoordinator = session.getJdbcCoordinator();
371373
try {
372374
jdbcCoordinator.flushBeginning();
373375
persistenceContext.setFlushing( true );
@@ -398,7 +400,7 @@ protected void performExecutions(EventSource session) {
398400
protected void postFlush(SessionImplementor session) throws HibernateException {
399401
LOG.trace( "Post flush" );
400402

401-
final PersistenceContext persistenceContext = session.getPersistenceContextInternal();
403+
final var persistenceContext = session.getPersistenceContextInternal();
402404
persistenceContext.clearCollectionsByKey();
403405

404406
// the database has changed now, so the subselect results need to be invalidated

hibernate-core/src/main/java/org/hibernate/event/internal/AbstractSaveEventListener.java

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,8 @@
1414
import org.hibernate.engine.internal.Cascade;
1515
import org.hibernate.engine.internal.CascadePoint;
1616
import org.hibernate.engine.spi.CascadingAction;
17-
import org.hibernate.engine.spi.EntityEntry;
1817
import org.hibernate.engine.spi.EntityEntryExtraState;
1918
import org.hibernate.engine.spi.EntityKey;
20-
import org.hibernate.engine.spi.PersistenceContext;
2119
import org.hibernate.engine.spi.SelfDirtinessTracker;
2220
import org.hibernate.engine.spi.SessionImplementor;
2321
import org.hibernate.engine.spi.Status;
@@ -101,8 +99,8 @@ protected Object saveWithGeneratedId(
10199
C context,
102100
EventSource source,
103101
boolean requiresImmediateIdAccess) {
104-
final EntityPersister persister = source.getEntityPersister( entityName, entity );
105-
final Generator generator = persister.getGenerator();
102+
final var persister = source.getEntityPersister( entityName, entity );
103+
final var generator = persister.getGenerator();
106104
final boolean generatedOnExecution = generator.generatedOnExecution( entity, source );
107105
final boolean generatedBeforeExecution = generator.generatedBeforeExecution( entity, source );
108106
final Object generatedId;
@@ -216,13 +214,13 @@ protected Object performSave(
216214
LOG.trace( "Persisting " + infoString( persister, id, source.getFactory() ) );
217215
}
218216

219-
final EntityKey key = useIdentityColumn ? null : entityKey( id, persister, source );
217+
final var key = useIdentityColumn ? null : entityKey( id, persister, source );
220218
return performSaveOrReplicate( entity, key, persister, useIdentityColumn, context, source, delayIdentityInserts );
221219
}
222220

223221
private static EntityKey entityKey(Object id, EntityPersister persister, EventSource source) {
224-
final EntityKey key = source.generateEntityKey( id, persister );
225-
final PersistenceContext persistenceContext = source.getPersistenceContextInternal();
222+
final var key = source.generateEntityKey( id, persister );
223+
final var persistenceContext = source.getPersistenceContextInternal();
226224
final Object old = persistenceContext.getEntity( key );
227225
if ( old != null ) {
228226
if ( persistenceContext.getEntry( old ).getStatus() == Status.DELETED ) {
@@ -264,12 +262,12 @@ protected Object performSaveOrReplicate(
264262

265263
final Object id = key == null ? null : key.getIdentifier();
266264

267-
final PersistenceContext persistenceContext = source.getPersistenceContextInternal();
265+
final var persistenceContext = source.getPersistenceContextInternal();
268266

269267
// Put a placeholder in entries, so we don't recurse back and try to save() the
270268
// same object again. QUESTION: should this be done before onSave() is called?
271269
// likewise, should it be done before onUpdate()?
272-
final EntityEntry original = persistenceContext.addEntry(
270+
final var original = persistenceContext.addEntry(
273271
entity,
274272
Status.SAVING,
275273
null,
@@ -287,7 +285,7 @@ protected Object performSaveOrReplicate(
287285

288286
cascadeBeforeSave( source, persister, entity, context );
289287

290-
final AbstractEntityInsertAction insert = addInsertAction(
288+
final var insert = addInsertAction(
291289
cloneAndSubstituteValues( entity, persister, context, source, id ),
292290
id,
293291
entity,
@@ -303,9 +301,9 @@ protected Object performSaveOrReplicate(
303301

304302
final Object finalId = handleGeneratedId( useIdentityColumn, id, insert );
305303

306-
final EntityEntry newEntry = persistenceContext.getEntry( entity );
304+
final var newEntry = persistenceContext.getEntry( entity );
307305
if ( newEntry != original ) {
308-
final EntityEntryExtraState extraState = newEntry.getExtraState( EntityEntryExtraState.class );
306+
final var extraState = newEntry.getExtraState( EntityEntryExtraState.class );
309307
if ( extraState == null ) {
310308
newEntry.addExtraState( original.getExtraState( EntityEntryExtraState.class ) );
311309
}
@@ -365,7 +363,7 @@ private AbstractEntityInsertAction addInsertAction(
365363
EventSource source,
366364
boolean delayIdentityInserts) {
367365
if ( useIdentityColumn ) {
368-
final EntityIdentityInsertAction insert = new EntityIdentityInsertAction(
366+
final var insert = new EntityIdentityInsertAction(
369367
values,
370368
entity,
371369
persister,
@@ -377,7 +375,7 @@ private AbstractEntityInsertAction addInsertAction(
377375
return insert;
378376
}
379377
else {
380-
final EntityInsertAction insert = new EntityInsertAction(
378+
final var insert = new EntityInsertAction(
381379
id,
382380
values,
383381
entity,
@@ -412,7 +410,7 @@ protected boolean visitCollectionsBeforeSave(
412410
Object[] values,
413411
Type[] types,
414412
EventSource source) {
415-
final WrapVisitor visitor = new WrapVisitor( entity, id, source );
413+
final var visitor = new WrapVisitor( entity, id, source );
416414
// substitutes into values by side effect
417415
visitor.processEntityPropertyValues( values, types );
418416
return visitor.isSubstitutionRequired();
@@ -466,7 +464,7 @@ protected void cascadeBeforeSave(
466464
Object entity,
467465
C context) {
468466
// cascade-save to many-to-one BEFORE the parent is saved
469-
final PersistenceContext persistenceContext = source.getPersistenceContextInternal();
467+
final var persistenceContext = source.getPersistenceContextInternal();
470468
persistenceContext.incrementCascadeLevel();
471469
try {
472470
Cascade.cascade(
@@ -497,7 +495,7 @@ protected void cascadeAfterSave(
497495
Object entity,
498496
C context) {
499497
// cascade-save to collections AFTER the collection owner was saved
500-
final PersistenceContext persistenceContext = source.getPersistenceContextInternal();
498+
final var persistenceContext = source.getPersistenceContextInternal();
501499
persistenceContext.incrementCascadeLevel();
502500
try {
503501
Cascade.cascade(

hibernate-core/src/main/java/org/hibernate/event/internal/DefaultAutoFlushEventListener.java

Lines changed: 13 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,10 @@
66

77
import org.hibernate.FlushMode;
88
import org.hibernate.HibernateException;
9-
import org.hibernate.engine.spi.ActionQueue;
10-
import org.hibernate.engine.spi.PersistenceContext;
11-
import org.hibernate.engine.spi.SessionEventListenerManager;
129
import org.hibernate.event.spi.AutoFlushEvent;
1310
import org.hibernate.event.spi.AutoFlushEventListener;
14-
import org.hibernate.event.monitor.spi.EventMonitor;
15-
import org.hibernate.event.monitor.spi.DiagnosticEvent;
1611
import org.hibernate.event.spi.EventSource;
1712
import org.hibernate.internal.CoreMessageLogger;
18-
import org.hibernate.stat.spi.StatisticsImplementor;
1913

2014
import org.jboss.logging.Logger;
2115

@@ -38,19 +32,19 @@ public class DefaultAutoFlushEventListener extends AbstractFlushingEventListener
3832
*/
3933
@Override
4034
public void onAutoFlush(AutoFlushEvent event) throws HibernateException {
41-
final EventSource source = event.getSession();
42-
final SessionEventListenerManager eventListenerManager = source.getEventListenerManager();
43-
final EventMonitor eventMonitor = source.getEventMonitor();
44-
final DiagnosticEvent partialFlushEvent = eventMonitor.beginPartialFlushEvent();
35+
final var source = event.getSession();
36+
final var eventListenerManager = source.getEventListenerManager();
37+
final var eventMonitor = source.getEventMonitor();
38+
final var partialFlushEvent = eventMonitor.beginPartialFlushEvent();
4539
try {
4640
eventListenerManager.partialFlushStart();
4741

4842
if ( flushMightBeNeeded( source ) ) {
4943
// Need to get the number of collection removals before flushing to executions
5044
// (because flushing to executions can add collection removal actions to the action queue).
51-
final ActionQueue actionQueue = source.getActionQueue();
52-
final EventSource session = event.getSession();
53-
final PersistenceContext persistenceContext = session.getPersistenceContextInternal();
45+
final var actionQueue = source.getActionQueue();
46+
final var session = event.getSession();
47+
final var persistenceContext = session.getPersistenceContextInternal();
5448
if ( !event.isSkipPreFlush() ) {
5549
preFlush( session, persistenceContext );
5650
}
@@ -62,17 +56,16 @@ public void onAutoFlush(AutoFlushEvent event) throws HibernateException {
6256

6357
// note: performExecutions() clears all collectionXxxxtion
6458
// collections (the collection actions) in the session
65-
final DiagnosticEvent flushEvent = eventMonitor.beginFlushEvent();
59+
final var flushEvent = eventMonitor.beginFlushEvent();
6660
try {
6761
performExecutions( source );
6862
postFlush( source );
69-
7063
postPostFlush( source );
7164
}
7265
finally {
7366
eventMonitor.completeFlushEvent( flushEvent, event, true );
7467
}
75-
final StatisticsImplementor statistics = source.getFactory().getStatistics();
68+
final var statistics = source.getFactory().getStatistics();
7669
if ( statistics.isStatisticsEnabled() ) {
7770
statistics.flush();
7871
}
@@ -95,10 +88,10 @@ public void onAutoFlush(AutoFlushEvent event) throws HibernateException {
9588

9689
@Override
9790
public void onAutoPreFlush(EventSource source) throws HibernateException {
98-
final SessionEventListenerManager eventListenerManager = source.getEventListenerManager();
91+
final var eventListenerManager = source.getEventListenerManager();
9992
eventListenerManager.prePartialFlushStart();
100-
final EventMonitor eventMonitor = source.getEventMonitor();
101-
DiagnosticEvent diagnosticEvent = eventMonitor.beginPrePartialFlush();
93+
final var eventMonitor = source.getEventMonitor();
94+
final var diagnosticEvent = eventMonitor.beginPrePartialFlush();
10295
try {
10396
if ( flushMightBeNeeded( source ) ) {
10497
preFlush( source, source.getPersistenceContextInternal() );
@@ -116,7 +109,7 @@ private boolean flushIsReallyNeeded(AutoFlushEvent event, final EventSource sour
116109
}
117110

118111
private boolean flushMightBeNeeded(final EventSource source) {
119-
final PersistenceContext persistenceContext = source.getPersistenceContextInternal();
112+
final var persistenceContext = source.getPersistenceContextInternal();
120113
return !source.getHibernateFlushMode().lessThan( FlushMode.AUTO )
121114
&& ( persistenceContext.getNumberOfManagedEntities() > 0
122115
|| persistenceContext.getCollectionEntriesSize() > 0 );

0 commit comments

Comments
 (0)