You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2011/11/24 16:38:36 UTC

svn commit: r1205887 - /openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java

Author: rmannibucau
Date: Thu Nov 24 15:38:35 2011
New Revision: 1205887

URL: http://svn.apache.org/viewvc?rev=1205887&view=rev
Log:
trying to load persistence.xml in submodules for webapp when openejb.read-all.persistence.xml=true

Modified:
    openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java

Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java?rev=1205887&r1=1205886&r2=1205887&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java Thu Nov 24 15:38:35 2011
@@ -88,6 +88,7 @@ import static org.apache.openejb.util.UR
  */
 public class DeploymentLoader implements DeploymentFilterable {
     public static final Logger logger = Logger.getInstance(LogCategory.OPENEJB_STARTUP_CONFIG, "org.apache.openejb.util.resources");
+    public static final String OPENEJB_READ_ALL_PERSISTENCE_XML = "openejb.read-all.persistence.xml";
     private static final String OPENEJB_ALTDD_PREFIX = "openejb.altdd.prefix";
     private static final String ddDir = "META-INF/";
     private boolean scanManagedBeans = true;
@@ -190,6 +191,14 @@ public class DeploymentLoader implements
                 AppModule appModule = new AppModule(OpenEJB.class.getClassLoader(), file.getAbsolutePath(), new Application(), true);
                 addWebModule(appModule, baseUrl, OpenEJB.class.getClassLoader(), getContextRoot(), getModuleName());
 
+                if (Boolean.getBoolean(OPENEJB_READ_ALL_PERSISTENCE_XML)) {
+                    WebModule webModule = appModule.getWebModules().iterator().next();
+                    final List<URL> urls = webModule.getUrls();
+                    final ResourceFinder finder = new ResourceFinder("", urls.toArray(new URL[urls.size()]));
+                    final Map<String, URL> dd = getDescriptors(finder, false);
+                    webModule.getAltDDs().putAll(dd);
+                }
+
                 URL persistenceUrl = null;
                 if (file.isDirectory()) {
                     File persistenceXml = new File(file, "WEB-INF/classes/META-INF/persistence.xml");
@@ -239,6 +248,7 @@ public class DeploymentLoader implements
                         // no-op
                     }
                 }
+
                 addPersistenceUnits(appModule, baseUrl);
                 return appModule;
             }