This is an automated email from the ASF dual-hosted git repository. jgallimore pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/tomee.git
commit ac7ad0c4dc024a66f99d46d77f1907993c5abe95 Author: Jonathan Gallimore <j...@jrg.me.uk> AuthorDate: Tue Jun 25 15:36:14 2019 +0100 TOMEE-2547 do not add openejb-cmp-generated.xml if it is already included in the <mapping-file> elements of the persistence unit. --- .../openejb/arquillian/tests/cmp/sample/CustomOrmXmlEarTest.java | 2 +- .../org/apache/openejb/arquillian/tests/cmp/sample/persistence.xml | 2 +- .../src/main/java/org/apache/openejb/config/CmpJpaConversion.java | 6 +++++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/CustomOrmXmlEarTest.java b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/CustomOrmXmlEarTest.java index da042bc..550f9ad 100644 --- a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/CustomOrmXmlEarTest.java +++ b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cmp/sample/CustomOrmXmlEarTest.java @@ -51,7 +51,7 @@ public class CustomOrmXmlEarTest { final JavaArchive ejbJar = ShrinkWrap.create(JavaArchive.class, "ejb-jar.jar") .addClasses(ActorBean.class, MovieBean.class, MovieDetails.class, MoviesBusinessBean.class) - .addAsResource(new ClassLoaderAsset("org/apache/openejb/arquillian/tests/cmp/sample/custom-orm.xml"), "META-INF/custom-orm.xml") + .addAsResource(new ClassLoaderAsset("org/apache/openejb/arquillian/tests/cmp/sample/custom-orm.xml"), "META-INF/openejb-cmp-generated-orm.xml") .addAsResource(new ClassLoaderAsset("org/apache/openejb/arquillian/tests/cmp/sample/persistence.xml"), "META-INF/persistence.xml") .addAsResource(new ClassLoaderAsset("org/apache/openejb/arquillian/tests/cmp/sample/openejb-jar.xml"), "META-INF/openejb-jar.xml") .addAsResource(new ClassLoaderAsset("org/apache/openejb/arquillian/tests/cmp/sample/ejb-jar.xml"), "META-INF/ejb-jar.xml"); diff --git a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/resources/org/apache/openejb/arquillian/tests/cmp/sample/persistence.xml b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/resources/org/apache/openejb/arquillian/tests/cmp/sample/persistence.xml index 69b8971..05667e4 100644 --- a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/resources/org/apache/openejb/arquillian/tests/cmp/sample/persistence.xml +++ b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/resources/org/apache/openejb/arquillian/tests/cmp/sample/persistence.xml @@ -20,7 +20,7 @@ <persistence-unit name="cmp" transaction-type="JTA"> <jta-data-source>My DataSource</jta-data-source> <non-jta-data-source>My Unmanaged DataSource</non-jta-data-source> - <mapping-file>META-INF/custom-orm.xml</mapping-file> + <mapping-file>META-INF/openejb-cmp-generated-orm.xml</mapping-file> <class>openejb.org.apache.openejb.arquillian.tests.cmp.sample.Movie</class> <class>openejb.org.apache.openejb.arquillian.tests.cmp.sample.Actor</class> <properties> diff --git a/container/openejb-core/src/main/java/org/apache/openejb/config/CmpJpaConversion.java b/container/openejb-core/src/main/java/org/apache/openejb/config/CmpJpaConversion.java index 0c3bf21..be9dbbd 100644 --- a/container/openejb-core/src/main/java/org/apache/openejb/config/CmpJpaConversion.java +++ b/container/openejb-core/src/main/java/org/apache/openejb/config/CmpJpaConversion.java @@ -103,6 +103,7 @@ class CmpJpaConversion implements DynamicDeployer { "pcDetachedState", "serialVersionUID" ))); + public static final String GENERATED_ORM_XML = "META-INF/openejb-cmp-generated-orm.xml"; private static EntityMappings readEntityMappings(final String location, final AppModule appModule) { @@ -192,7 +193,10 @@ class CmpJpaConversion implements DynamicDeployer { if (!cmpMappings.getEntity().isEmpty()) { final PersistenceUnit persistenceUnit = getCmpPersistenceUnit(appModule); - persistenceUnit.getMappingFile().add("META-INF/openejb-cmp-generated-orm.xml"); + if (! persistenceUnit.getMappingFile().contains(GENERATED_ORM_XML)) { + persistenceUnit.getMappingFile().add(GENERATED_ORM_XML); + } + for (final Entity entity : cmpMappings.getEntity()) { if (!persistenceUnit.getClazz().contains(entity.getClazz())) { persistenceUnit.getClazz().add(entity.getClazz());