|
|
|
|
@ -43,6 +43,7 @@ import static org.junit.Assert.*;
@@ -43,6 +43,7 @@ import static org.junit.Assert.*;
|
|
|
|
|
* |
|
|
|
|
* @author Costin Leau |
|
|
|
|
* @author Juergen Hoeller |
|
|
|
|
* @author Nicholas Williams |
|
|
|
|
*/ |
|
|
|
|
public class PersistenceXmlParsingTests { |
|
|
|
|
|
|
|
|
|
@ -60,6 +61,8 @@ public class PersistenceXmlParsingTests {
@@ -60,6 +61,8 @@ public class PersistenceXmlParsingTests {
|
|
|
|
|
assertEquals(2, info[0].getJarFileUrls().size()); |
|
|
|
|
assertEquals(new ClassPathResource("order.jar").getURL(), info[0].getJarFileUrls().get(0)); |
|
|
|
|
assertEquals(new ClassPathResource("order-supplemental.jar").getURL(), info[0].getJarFileUrls().get(1)); |
|
|
|
|
|
|
|
|
|
assertFalse("Exclude unlisted should default false in 1.0.", info[0].excludeUnlistedClasses()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@ -72,6 +75,8 @@ public class PersistenceXmlParsingTests {
@@ -72,6 +75,8 @@ public class PersistenceXmlParsingTests {
|
|
|
|
|
assertNotNull(info); |
|
|
|
|
assertEquals(1, info.length); |
|
|
|
|
assertEquals("OrderManagement", info[0].getPersistenceUnitName()); |
|
|
|
|
|
|
|
|
|
assertFalse("Exclude unlisted should default false in 1.0.", info[0].excludeUnlistedClasses()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@ -89,6 +94,8 @@ public class PersistenceXmlParsingTests {
@@ -89,6 +94,8 @@ public class PersistenceXmlParsingTests {
|
|
|
|
|
assertEquals(1, info[0].getMappingFileNames().size()); |
|
|
|
|
assertEquals("mappings.xml", info[0].getMappingFileNames().get(0)); |
|
|
|
|
assertEquals(0, info[0].getProperties().keySet().size()); |
|
|
|
|
|
|
|
|
|
assertFalse("Exclude unlisted should default false in 1.0.", info[0].excludeUnlistedClasses()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@ -109,6 +116,8 @@ public class PersistenceXmlParsingTests {
@@ -109,6 +116,8 @@ public class PersistenceXmlParsingTests {
|
|
|
|
|
assertEquals(0, info[0].getProperties().keySet().size()); |
|
|
|
|
assertNull(info[0].getJtaDataSource()); |
|
|
|
|
assertNull(info[0].getNonJtaDataSource()); |
|
|
|
|
|
|
|
|
|
assertFalse("Exclude unlisted should default false in 1.0.", info[0].excludeUnlistedClasses()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@ -134,7 +143,7 @@ public class PersistenceXmlParsingTests {
@@ -134,7 +143,7 @@ public class PersistenceXmlParsingTests {
|
|
|
|
|
assertEquals("com.acme.Customer", info[0].getManagedClassNames().get(1)); |
|
|
|
|
assertEquals("com.acme.Item", info[0].getManagedClassNames().get(2)); |
|
|
|
|
|
|
|
|
|
assertTrue(info[0].excludeUnlistedClasses()); |
|
|
|
|
assertTrue("Exclude unlisted should be true when no value.", info[0].excludeUnlistedClasses()); |
|
|
|
|
|
|
|
|
|
assertSame(PersistenceUnitTransactionType.RESOURCE_LOCAL, info[0].getTransactionType()); |
|
|
|
|
assertEquals(0, info[0].getProperties().keySet().size()); |
|
|
|
|
@ -163,6 +172,8 @@ public class PersistenceXmlParsingTests {
@@ -163,6 +172,8 @@ public class PersistenceXmlParsingTests {
|
|
|
|
|
|
|
|
|
|
assertEquals("com.acme.AcmePersistence", info[0].getPersistenceProviderClassName()); |
|
|
|
|
assertEquals(0, info[0].getProperties().keySet().size()); |
|
|
|
|
|
|
|
|
|
assertFalse("Exclude unlisted should default false in 1.0.", info[0].excludeUnlistedClasses()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@ -206,6 +217,8 @@ public class PersistenceXmlParsingTests {
@@ -206,6 +217,8 @@ public class PersistenceXmlParsingTests {
|
|
|
|
|
|
|
|
|
|
assertSame(ds, pu1.getJtaDataSource()); |
|
|
|
|
|
|
|
|
|
assertFalse("Exclude unlisted should default false in 1.0.", pu1.excludeUnlistedClasses()); |
|
|
|
|
|
|
|
|
|
PersistenceUnitInfo pu2 = info[1]; |
|
|
|
|
|
|
|
|
|
assertSame(PersistenceUnitTransactionType.JTA, pu2.getTransactionType()); |
|
|
|
|
@ -222,6 +235,8 @@ public class PersistenceXmlParsingTests {
@@ -222,6 +235,8 @@ public class PersistenceXmlParsingTests {
|
|
|
|
|
|
|
|
|
|
assertNull(pu2.getJtaDataSource()); |
|
|
|
|
assertEquals(ds, pu2.getNonJtaDataSource()); |
|
|
|
|
|
|
|
|
|
assertTrue("Exclude unlisted should be true when no value.", pu2.excludeUnlistedClasses()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@ -233,6 +248,8 @@ public class PersistenceXmlParsingTests {
@@ -233,6 +248,8 @@ public class PersistenceXmlParsingTests {
|
|
|
|
|
assertEquals(1, info.length); |
|
|
|
|
assertEquals("pu", info[0].getPersistenceUnitName()); |
|
|
|
|
assertEquals(0, info[0].getProperties().keySet().size()); |
|
|
|
|
|
|
|
|
|
assertFalse("Exclude unlisted should default false in 1.0.", info[0].excludeUnlistedClasses()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Ignore // not doing schema parsing anymore for JPA 2.0 compatibility
|
|
|
|
|
@ -290,4 +307,66 @@ public class PersistenceXmlParsingTests {
@@ -290,4 +307,66 @@ public class PersistenceXmlParsingTests {
|
|
|
|
|
assertTrue("the archive location should have been returned", archive.getURL().sameFile(url)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
public void testJpa1ExcludeUnlisted() throws Exception { |
|
|
|
|
PersistenceUnitReader reader = new PersistenceUnitReader( |
|
|
|
|
new PathMatchingResourcePatternResolver(), new JndiDataSourceLookup()); |
|
|
|
|
String resource = "/org/springframework/orm/jpa/persistence-exclude-1.0.xml"; |
|
|
|
|
PersistenceUnitInfo[] info = reader.readPersistenceUnitInfos(resource); |
|
|
|
|
|
|
|
|
|
assertNotNull(info); |
|
|
|
|
assertEquals("The number of persistence units is incorrect.", 4, info.length); |
|
|
|
|
|
|
|
|
|
PersistenceUnitInfo noExclude = info[0]; |
|
|
|
|
assertNotNull("noExclude should not be null.", noExclude); |
|
|
|
|
assertEquals("noExclude name is not correct.", "NoExcludeElement", noExclude.getPersistenceUnitName()); |
|
|
|
|
assertFalse("Exclude unlisted should default false in 1.0.", noExclude.excludeUnlistedClasses()); |
|
|
|
|
|
|
|
|
|
PersistenceUnitInfo emptyExclude = info[1]; |
|
|
|
|
assertNotNull("emptyExclude should not be null.", emptyExclude); |
|
|
|
|
assertEquals("emptyExclude name is not correct.", "EmptyExcludeElement", emptyExclude.getPersistenceUnitName()); |
|
|
|
|
assertTrue("emptyExclude should be true.", emptyExclude.excludeUnlistedClasses()); |
|
|
|
|
|
|
|
|
|
PersistenceUnitInfo trueExclude = info[2]; |
|
|
|
|
assertNotNull("trueExclude should not be null.", trueExclude); |
|
|
|
|
assertEquals("trueExclude name is not correct.", "TrueExcludeElement", trueExclude.getPersistenceUnitName()); |
|
|
|
|
assertTrue("trueExclude should be true.", trueExclude.excludeUnlistedClasses()); |
|
|
|
|
|
|
|
|
|
PersistenceUnitInfo falseExclude = info[3]; |
|
|
|
|
assertNotNull("falseExclude should not be null.", falseExclude); |
|
|
|
|
assertEquals("falseExclude name is not correct.", "FalseExcludeElement", falseExclude.getPersistenceUnitName()); |
|
|
|
|
assertFalse("falseExclude should be false.", falseExclude.excludeUnlistedClasses()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
public void testJpa2ExcludeUnlisted() throws Exception { |
|
|
|
|
PersistenceUnitReader reader = new PersistenceUnitReader( |
|
|
|
|
new PathMatchingResourcePatternResolver(), new JndiDataSourceLookup()); |
|
|
|
|
String resource = "/org/springframework/orm/jpa/persistence-exclude-2.0.xml"; |
|
|
|
|
PersistenceUnitInfo[] info = reader.readPersistenceUnitInfos(resource); |
|
|
|
|
|
|
|
|
|
assertNotNull(info); |
|
|
|
|
assertEquals("The number of persistence units is incorrect.", 4, info.length); |
|
|
|
|
|
|
|
|
|
PersistenceUnitInfo noExclude = info[0]; |
|
|
|
|
assertNotNull("noExclude should not be null.", noExclude); |
|
|
|
|
assertEquals("noExclude name is not correct.", "NoExcludeElement", noExclude.getPersistenceUnitName()); |
|
|
|
|
assertTrue("Exclude unlisted should default true in 2.0.", noExclude.excludeUnlistedClasses()); |
|
|
|
|
|
|
|
|
|
PersistenceUnitInfo emptyExclude = info[1]; |
|
|
|
|
assertNotNull("emptyExclude should not be null.", emptyExclude); |
|
|
|
|
assertEquals("emptyExclude name is not correct.", "EmptyExcludeElement", emptyExclude.getPersistenceUnitName()); |
|
|
|
|
assertTrue("emptyExclude should be true.", emptyExclude.excludeUnlistedClasses()); |
|
|
|
|
|
|
|
|
|
PersistenceUnitInfo trueExclude = info[2]; |
|
|
|
|
assertNotNull("trueExclude should not be null.", trueExclude); |
|
|
|
|
assertEquals("trueExclude name is not correct.", "TrueExcludeElement", trueExclude.getPersistenceUnitName()); |
|
|
|
|
assertTrue("trueExclude should be true.", trueExclude.excludeUnlistedClasses()); |
|
|
|
|
|
|
|
|
|
PersistenceUnitInfo falseExclude = info[3]; |
|
|
|
|
assertNotNull("falseExclude should not be null.", falseExclude); |
|
|
|
|
assertEquals("falseExclude name is not correct.", "FalseExcludeElement", falseExclude.getPersistenceUnitName()); |
|
|
|
|
assertFalse("falseExclude should be false.", falseExclude.excludeUnlistedClasses()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|