You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by jg...@apache.org on 2019/06/27 10:47:40 UTC

[tomee] 01/05: TOMEE-2547 do not add openejb-cmp-generated.xml if it is already included in the elements of the persistence unit.

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 <jo...@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());