Skip to content

Commit 765e30c

Browse files
committed
Polishing
1 parent d7fc07e commit 765e30c

8 files changed

Lines changed: 61 additions & 57 deletions

File tree

spring-aop/src/main/java/org/springframework/aop/framework/CoroutinesUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ static Object asFlow(@Nullable Object publisher) {
4141
}
4242
}
4343

44+
@SuppressWarnings({"rawtypes", "unchecked"})
4445
@Nullable
45-
@SuppressWarnings({"unchecked", "rawtypes"})
4646
static Object awaitSingleOrNull(@Nullable Object value, Object continuation) {
4747
return MonoKt.awaitSingleOrNull(value instanceof Mono mono ? mono : Mono.justOrEmpty(value),
4848
(Continuation<Object>) continuation);

spring-orm/src/main/java/org/springframework/orm/jpa/LocalContainerEntityManagerFactoryBean.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -398,15 +398,16 @@ protected EntityManagerFactory createNativeEntityManagerFactory() throws Persist
398398
* Determine the PersistenceUnitInfo to use for the EntityManagerFactory
399399
* created by this bean.
400400
* <p>The default implementation reads in all persistence unit infos from
401-
* {@code persistence.xml}, as defined in the JPA specification.
402-
* If no entity manager name was specified, it takes the first info in the
403-
* array as returned by the reader. Otherwise, it checks for a matching name.
401+
* {@code persistence.xml}, as defined in the JPA specification, selecting a unit
402+
* by name. If no persistence unit name was specified, it takes the default one
403+
* if configured, or otherwise the first persistence unit as found by the reader.
404404
* @param persistenceUnitManager the PersistenceUnitManager to obtain from
405405
* @return the chosen PersistenceUnitInfo
406406
*/
407407
protected PersistenceUnitInfo determinePersistenceUnitInfo(PersistenceUnitManager persistenceUnitManager) {
408-
if (getPersistenceUnitName() != null) {
409-
return persistenceUnitManager.obtainPersistenceUnitInfo(getPersistenceUnitName());
408+
String persistenceUnitName = getPersistenceUnitName();
409+
if (persistenceUnitName != null) {
410+
return persistenceUnitManager.obtainPersistenceUnitInfo(persistenceUnitName);
410411
}
411412
else {
412413
return persistenceUnitManager.obtainDefaultPersistenceUnitInfo();

spring-orm/src/main/java/org/springframework/orm/jpa/persistenceunit/DefaultPersistenceUnitManager.java

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ public void setDefaultPersistenceUnitName(String defaultPersistenceUnitName) {
193193

194194
/**
195195
* Set the {@link PersistenceManagedTypes} to use to build the list of managed types
196-
* as an alternative to entity scanning.
196+
* for the default persistence unit, as an alternative to entity scanning.
197197
* @param managedTypes the managed types
198198
* @since 6.0
199199
*/
@@ -540,33 +540,33 @@ private List<SpringPersistenceUnitInfo> readPersistenceUnitInfos() {
540540
* @see #setPackagesToScan
541541
*/
542542
private SpringPersistenceUnitInfo buildDefaultPersistenceUnitInfo() {
543-
SpringPersistenceUnitInfo scannedUnit = new SpringPersistenceUnitInfo();
543+
SpringPersistenceUnitInfo defaultUnit = new SpringPersistenceUnitInfo();
544544
if (this.defaultPersistenceUnitName != null) {
545-
scannedUnit.setPersistenceUnitName(this.defaultPersistenceUnitName);
545+
defaultUnit.setPersistenceUnitName(this.defaultPersistenceUnitName);
546546
}
547-
scannedUnit.setExcludeUnlistedClasses(true);
547+
defaultUnit.setExcludeUnlistedClasses(true);
548548

549549
if (this.managedTypes != null) {
550-
applyManagedTypes(scannedUnit, this.managedTypes);
550+
applyManagedTypes(defaultUnit, this.managedTypes);
551551
}
552552
else if (this.packagesToScan != null) {
553553
PersistenceManagedTypesScanner scanner = new PersistenceManagedTypesScanner(
554554
this.resourcePatternResolver, this.managedClassNameFilter);
555-
applyManagedTypes(scannedUnit, scanner.scan(this.packagesToScan));
555+
applyManagedTypes(defaultUnit, scanner.scan(this.packagesToScan));
556556
}
557557

558558
if (this.mappingResources != null) {
559559
for (String mappingFileName : this.mappingResources) {
560-
scannedUnit.addMappingFileName(mappingFileName);
560+
defaultUnit.addMappingFileName(mappingFileName);
561561
}
562562
}
563563
else {
564564
Resource ormXml = getOrmXmlForDefaultPersistenceUnit();
565565
if (ormXml != null) {
566-
scannedUnit.addMappingFileName(DEFAULT_ORM_XML_RESOURCE);
567-
if (scannedUnit.getPersistenceUnitRootUrl() == null) {
566+
defaultUnit.addMappingFileName(DEFAULT_ORM_XML_RESOURCE);
567+
if (defaultUnit.getPersistenceUnitRootUrl() == null) {
568568
try {
569-
scannedUnit.setPersistenceUnitRootUrl(
569+
defaultUnit.setPersistenceUnitRootUrl(
570570
PersistenceUnitReader.determinePersistenceUnitRootUrl(ormXml));
571571
}
572572
catch (IOException ex) {
@@ -576,7 +576,7 @@ else if (this.packagesToScan != null) {
576576
}
577577
}
578578

579-
return scannedUnit;
579+
return defaultUnit;
580580
}
581581

582582
private void applyManagedTypes(SpringPersistenceUnitInfo scannedUnit, PersistenceManagedTypes managedTypes) {
@@ -639,9 +639,9 @@ private Resource getOrmXmlForDefaultPersistenceUnit() {
639639

640640

641641
/**
642-
* Return the specified PersistenceUnitInfo from this manager's cache
643-
* of processed persistence units, keeping it in the cache (i.e. not
644-
* 'obtaining' it for use but rather just accessing it for post-processing).
642+
* Return the specified {@link MutablePersistenceUnitInfo} from this manager's cache
643+
* of processed persistence units, keeping it in the cache (i.e. not 'obtaining' it
644+
* for use but rather just accessing it for post-processing).
645645
* <p>This can be used in {@link #postProcessPersistenceUnitInfo} implementations,
646646
* detecting existing persistence units of the same name and potentially merging them.
647647
* @param persistenceUnitName the name of the desired persistence unit
@@ -654,12 +654,12 @@ protected final MutablePersistenceUnitInfo getPersistenceUnitInfo(String persist
654654
}
655655

656656
/**
657-
* Hook method allowing subclasses to customize each PersistenceUnitInfo.
657+
* Hook method allowing subclasses to customize each {@link MutablePersistenceUnitInfo}.
658658
* <p>The default implementation delegates to all registered PersistenceUnitPostProcessors.
659659
* It is usually preferable to register further entity classes, jar files etc there
660660
* rather than in a subclass of this manager, to be able to reuse the post-processors.
661-
* @param pui the chosen PersistenceUnitInfo, as read from {@code persistence.xml}.
662-
* Passed in as MutablePersistenceUnitInfo.
661+
* @param pui the chosen persistence unit configuration, as read from
662+
* {@code persistence.xml}. Passed in as MutablePersistenceUnitInfo.
663663
* @see #setPersistenceUnitPostProcessors
664664
*/
665665
protected void postProcessPersistenceUnitInfo(MutablePersistenceUnitInfo pui) {

spring-orm/src/main/java/org/springframework/orm/jpa/persistenceunit/MutablePersistenceUnitInfo.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,10 @@
3333
import org.springframework.util.ClassUtils;
3434

3535
/**
36-
* Spring's base implementation of the JPA
36+
* Spring's mutable equivalent of the JPA
3737
* {@link jakarta.persistence.spi.PersistenceUnitInfo} interface,
3838
* used to bootstrap an {@code EntityManagerFactory} in a container.
39+
* This is the type exposed to {@link PersistenceUnitPostProcessor}.
3940
*
4041
* <p>This implementation is largely a JavaBean, offering mutators
4142
* for all standard {@code PersistenceUnitInfo} properties.
@@ -57,10 +58,10 @@ public class MutablePersistenceUnitInfo implements SmartPersistenceUnitInfo {
5758
private PersistenceUnitTransactionType transactionType;
5859

5960
@Nullable
60-
private DataSource nonJtaDataSource;
61+
private DataSource jtaDataSource;
6162

6263
@Nullable
63-
private DataSource jtaDataSource;
64+
private DataSource nonJtaDataSource;
6465

6566
private final List<String> mappingFileNames = new ArrayList<>();
6667

spring-orm/src/main/java/org/springframework/orm/jpa/persistenceunit/PersistenceManagedTypes.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ public interface PersistenceManagedTypes {
5757
@Nullable
5858
URL getPersistenceUnitRootUrl();
5959

60+
6061
/**
6162
* Create an instance using the specified managed class names.
6263
* @param managedClassNames the managed class names

spring-orm/src/main/java/org/springframework/orm/jpa/persistenceunit/SimplePersistenceManagedTypes.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ class SimplePersistenceManagedTypes implements PersistenceManagedTypes {
4040

4141
SimplePersistenceManagedTypes(List<String> managedClassNames, List<String> managedPackages,
4242
@Nullable URL persistenceUnitRootUrl) {
43+
4344
this.managedClassNames = managedClassNames;
4445
this.managedPackages = managedPackages;
4546
this.persistenceUnitRootUrl = persistenceUnitRootUrl;
@@ -49,6 +50,7 @@ class SimplePersistenceManagedTypes implements PersistenceManagedTypes {
4950
this(managedClassNames, managedPackages, null);
5051
}
5152

53+
5254
@Override
5355
public List<String> getManagedClassNames() {
5456
return this.managedClassNames;

spring-orm/src/test/java/org/springframework/orm/jpa/AbstractEntityManagerFactoryBeanTests.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -39,27 +39,27 @@ public abstract class AbstractEntityManagerFactoryBeanTests {
3939

4040
protected static EntityManagerFactory mockEmf;
4141

42+
4243
@BeforeEach
43-
void setUp() {
44+
void setup() {
4445
mockEmf = mock();
4546
}
4647

4748
@AfterEach
48-
void tearDown() {
49+
void cleanup() {
4950
assertThat(TransactionSynchronizationManager.getResourceMap()).isEmpty();
5051
assertThat(TransactionSynchronizationManager.isSynchronizationActive()).isFalse();
5152
assertThat(TransactionSynchronizationManager.isCurrentTransactionReadOnly()).isFalse();
5253
assertThat(TransactionSynchronizationManager.isActualTransactionActive()).isFalse();
5354
}
5455

55-
protected void checkInvariants(AbstractEntityManagerFactoryBean demf) {
56-
assertThat(EntityManagerFactory.class.isAssignableFrom(demf.getObjectType())).isTrue();
57-
Object gotObject = demf.getObject();
58-
boolean condition = gotObject instanceof EntityManagerFactoryInfo;
59-
assertThat(condition).as("Object created by factory implements EntityManagerFactoryInfo").isTrue();
60-
EntityManagerFactoryInfo emfi = (EntityManagerFactoryInfo) demf.getObject();
61-
assertThat(demf.getObject()).as("Successive invocations of getObject() return same object").isSameAs(emfi);
62-
assertThat(demf.getObject()).isSameAs(emfi);
56+
protected void checkInvariants(AbstractEntityManagerFactoryBean emfb) {
57+
assertThat(EntityManagerFactory.class.isAssignableFrom(emfb.getObjectType())).isTrue();
58+
EntityManagerFactory emf = emfb.getObject();
59+
assertThat(emf instanceof EntityManagerFactoryInfo).as("Object created by factory implements EntityManagerFactoryInfo").isTrue();
60+
EntityManagerFactoryInfo emfi = (EntityManagerFactoryInfo) emf;
61+
assertThat(emfb.getObject()).as("Successive invocations of getObject() return same object").isSameAs(emfi);
62+
assertThat(emfb.getObject()).isSameAs(emfi);
6363
assertThat(mockEmf).isSameAs(emfi.getNativeEntityManagerFactory());
6464
}
6565

spring-orm/src/test/java/org/springframework/orm/jpa/persistenceunit/PersistenceXmlParsingTests.java

Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222

2323
import javax.sql.DataSource;
2424

25-
import jakarta.persistence.spi.PersistenceUnitInfo;
2625
import jakarta.persistence.spi.PersistenceUnitTransactionType;
2726
import org.junit.jupiter.api.Disabled;
2827
import org.junit.jupiter.api.Test;
@@ -54,7 +53,7 @@ void testMetaInfCase() throws Exception {
5453
PersistenceUnitReader reader = new PersistenceUnitReader(
5554
new PathMatchingResourcePatternResolver(), new JndiDataSourceLookup());
5655
String resource = "/org/springframework/orm/jpa/META-INF/persistence.xml";
57-
PersistenceUnitInfo[] info = reader.readPersistenceUnitInfos(resource);
56+
SpringPersistenceUnitInfo[] info = reader.readPersistenceUnitInfos(resource);
5857

5958
assertThat(info).isNotNull();
6059
assertThat(info).hasSize(1);
@@ -71,7 +70,7 @@ void testExample1() {
7170
PersistenceUnitReader reader = new PersistenceUnitReader(
7271
new PathMatchingResourcePatternResolver(), new JndiDataSourceLookup());
7372
String resource = "/org/springframework/orm/jpa/persistence-example1.xml";
74-
PersistenceUnitInfo[] info = reader.readPersistenceUnitInfos(resource);
73+
SpringPersistenceUnitInfo[] info = reader.readPersistenceUnitInfos(resource);
7574

7675
assertThat(info).isNotNull();
7776
assertThat(info).hasSize(1);
@@ -85,7 +84,7 @@ void testExample2() {
8584
PersistenceUnitReader reader = new PersistenceUnitReader(
8685
new PathMatchingResourcePatternResolver(), new JndiDataSourceLookup());
8786
String resource = "/org/springframework/orm/jpa/persistence-example2.xml";
88-
PersistenceUnitInfo[] info = reader.readPersistenceUnitInfos(resource);
87+
SpringPersistenceUnitInfo[] info = reader.readPersistenceUnitInfos(resource);
8988

9089
assertThat(info).isNotNull();
9190
assertThat(info).hasSize(1);
@@ -103,7 +102,7 @@ void testExample3() throws Exception {
103102
PersistenceUnitReader reader = new PersistenceUnitReader(
104103
new PathMatchingResourcePatternResolver(), new JndiDataSourceLookup());
105104
String resource = "/org/springframework/orm/jpa/persistence-example3.xml";
106-
PersistenceUnitInfo[] info = reader.readPersistenceUnitInfos(resource);
105+
SpringPersistenceUnitInfo[] info = reader.readPersistenceUnitInfos(resource);
107106

108107
assertThat(info).isNotNull();
109108
assertThat(info).hasSize(1);
@@ -129,7 +128,7 @@ void testExample4() throws Exception {
129128
PersistenceUnitReader reader = new PersistenceUnitReader(
130129
new PathMatchingResourcePatternResolver(), new JndiDataSourceLookup());
131130
String resource = "/org/springframework/orm/jpa/persistence-example4.xml";
132-
PersistenceUnitInfo[] info = reader.readPersistenceUnitInfos(resource);
131+
SpringPersistenceUnitInfo[] info = reader.readPersistenceUnitInfos(resource);
133132

134133
assertThat(info).isNotNull();
135134
assertThat(info).hasSize(1);
@@ -153,7 +152,7 @@ void testExample5() throws Exception {
153152
PersistenceUnitReader reader = new PersistenceUnitReader(
154153
new PathMatchingResourcePatternResolver(), new JndiDataSourceLookup());
155154
String resource = "/org/springframework/orm/jpa/persistence-example5.xml";
156-
PersistenceUnitInfo[] info = reader.readPersistenceUnitInfos(resource);
155+
SpringPersistenceUnitInfo[] info = reader.readPersistenceUnitInfos(resource);
157156

158157
assertThat(info).isNotNull();
159158
assertThat(info).hasSize(1);
@@ -183,11 +182,11 @@ void testExampleComplex() throws Exception {
183182
dataSourceLookup.setDataSources(dataSources);
184183
PersistenceUnitReader reader = new PersistenceUnitReader(
185184
new PathMatchingResourcePatternResolver(), dataSourceLookup);
186-
PersistenceUnitInfo[] info = reader.readPersistenceUnitInfos(resource);
185+
SpringPersistenceUnitInfo[] info = reader.readPersistenceUnitInfos(resource);
187186

188187
assertThat(info).hasSize(2);
189188

190-
PersistenceUnitInfo pu1 = info[0];
189+
SpringPersistenceUnitInfo pu1 = info[0];
191190

192191
assertThat(pu1.getPersistenceUnitName()).isEqualTo("pu1");
193192

@@ -210,7 +209,7 @@ void testExampleComplex() throws Exception {
210209

211210
assertThat(pu1.excludeUnlistedClasses()).as("Exclude unlisted should default false in 1.0.").isFalse();
212211

213-
PersistenceUnitInfo pu2 = info[1];
212+
SpringPersistenceUnitInfo pu2 = info[1];
214213

215214
assertThat(pu2.getTransactionType()).isSameAs(PersistenceUnitTransactionType.JTA);
216215
assertThat(pu2.getPersistenceProviderClassName()).isEqualTo("com.acme.AcmePersistence");
@@ -234,7 +233,7 @@ void testExample6() {
234233
PersistenceUnitReader reader = new PersistenceUnitReader(
235234
new PathMatchingResourcePatternResolver(), new JndiDataSourceLookup());
236235
String resource = "/org/springframework/orm/jpa/persistence-example6.xml";
237-
PersistenceUnitInfo[] info = reader.readPersistenceUnitInfos(resource);
236+
SpringPersistenceUnitInfo[] info = reader.readPersistenceUnitInfos(resource);
238237
assertThat(info).hasSize(1);
239238
assertThat(info[0].getPersistenceUnitName()).isEqualTo("pu");
240239
assertThat(info[0].getProperties()).isEmpty();
@@ -286,27 +285,27 @@ void testJpa1ExcludeUnlisted() {
286285
PersistenceUnitReader reader = new PersistenceUnitReader(
287286
new PathMatchingResourcePatternResolver(), new JndiDataSourceLookup());
288287
String resource = "/org/springframework/orm/jpa/persistence-exclude-1.0.xml";
289-
PersistenceUnitInfo[] info = reader.readPersistenceUnitInfos(resource);
288+
SpringPersistenceUnitInfo[] info = reader.readPersistenceUnitInfos(resource);
290289

291290
assertThat(info).isNotNull();
292291
assertThat(info.length).as("The number of persistence units is incorrect.").isEqualTo(4);
293292

294-
PersistenceUnitInfo noExclude = info[0];
293+
SpringPersistenceUnitInfo noExclude = info[0];
295294
assertThat(noExclude).as("noExclude should not be null.").isNotNull();
296295
assertThat(noExclude.getPersistenceUnitName()).as("noExclude name is not correct.").isEqualTo("NoExcludeElement");
297296
assertThat(noExclude.excludeUnlistedClasses()).as("Exclude unlisted should default false in 1.0.").isFalse();
298297

299-
PersistenceUnitInfo emptyExclude = info[1];
298+
SpringPersistenceUnitInfo emptyExclude = info[1];
300299
assertThat(emptyExclude).as("emptyExclude should not be null.").isNotNull();
301300
assertThat(emptyExclude.getPersistenceUnitName()).as("emptyExclude name is not correct.").isEqualTo("EmptyExcludeElement");
302301
assertThat(emptyExclude.excludeUnlistedClasses()).as("emptyExclude should be true.").isTrue();
303302

304-
PersistenceUnitInfo trueExclude = info[2];
303+
SpringPersistenceUnitInfo trueExclude = info[2];
305304
assertThat(trueExclude).as("trueExclude should not be null.").isNotNull();
306305
assertThat(trueExclude.getPersistenceUnitName()).as("trueExclude name is not correct.").isEqualTo("TrueExcludeElement");
307306
assertThat(trueExclude.excludeUnlistedClasses()).as("trueExclude should be true.").isTrue();
308307

309-
PersistenceUnitInfo falseExclude = info[3];
308+
SpringPersistenceUnitInfo falseExclude = info[3];
310309
assertThat(falseExclude).as("falseExclude should not be null.").isNotNull();
311310
assertThat(falseExclude.getPersistenceUnitName()).as("falseExclude name is not correct.").isEqualTo("FalseExcludeElement");
312311
assertThat(falseExclude.excludeUnlistedClasses()).as("falseExclude should be false.").isFalse();
@@ -317,27 +316,27 @@ void testJpa2ExcludeUnlisted() {
317316
PersistenceUnitReader reader = new PersistenceUnitReader(
318317
new PathMatchingResourcePatternResolver(), new JndiDataSourceLookup());
319318
String resource = "/org/springframework/orm/jpa/persistence-exclude-2.0.xml";
320-
PersistenceUnitInfo[] info = reader.readPersistenceUnitInfos(resource);
319+
SpringPersistenceUnitInfo[] info = reader.readPersistenceUnitInfos(resource);
321320

322321
assertThat(info).isNotNull();
323322
assertThat(info.length).as("The number of persistence units is incorrect.").isEqualTo(4);
324323

325-
PersistenceUnitInfo noExclude = info[0];
324+
SpringPersistenceUnitInfo noExclude = info[0];
326325
assertThat(noExclude).as("noExclude should not be null.").isNotNull();
327326
assertThat(noExclude.getPersistenceUnitName()).as("noExclude name is not correct.").isEqualTo("NoExcludeElement");
328327
assertThat(noExclude.excludeUnlistedClasses()).as("Exclude unlisted still defaults to false in 2.0.").isFalse();
329328

330-
PersistenceUnitInfo emptyExclude = info[1];
329+
SpringPersistenceUnitInfo emptyExclude = info[1];
331330
assertThat(emptyExclude).as("emptyExclude should not be null.").isNotNull();
332331
assertThat(emptyExclude.getPersistenceUnitName()).as("emptyExclude name is not correct.").isEqualTo("EmptyExcludeElement");
333332
assertThat(emptyExclude.excludeUnlistedClasses()).as("emptyExclude should be true.").isTrue();
334333

335-
PersistenceUnitInfo trueExclude = info[2];
334+
SpringPersistenceUnitInfo trueExclude = info[2];
336335
assertThat(trueExclude).as("trueExclude should not be null.").isNotNull();
337336
assertThat(trueExclude.getPersistenceUnitName()).as("trueExclude name is not correct.").isEqualTo("TrueExcludeElement");
338337
assertThat(trueExclude.excludeUnlistedClasses()).as("trueExclude should be true.").isTrue();
339338

340-
PersistenceUnitInfo falseExclude = info[3];
339+
SpringPersistenceUnitInfo falseExclude = info[3];
341340
assertThat(falseExclude).as("falseExclude should not be null.").isNotNull();
342341
assertThat(falseExclude.getPersistenceUnitName()).as("falseExclude name is not correct.").isEqualTo("FalseExcludeElement");
343342
assertThat(falseExclude.excludeUnlistedClasses()).as("falseExclude should be false.").isFalse();

0 commit comments

Comments
 (0)