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());

Reply via email to