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 2011/03/04 00:10:43 UTC

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

Author: jgallimore
Date: Thu Mar  3 23:10:42 2011
New Revision: 1076875

URL: http://svn.apache.org/viewvc?rev=1076875&view=rev
Log:
Find persistence.xml in war files

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

Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java?rev=1076875&r1=1076874&r2=1076875&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java Thu Mar  3 23:10:42 2011
@@ -228,7 +228,23 @@ public class DeploymentLoader implements
                 
                 AppModule appModule = new AppModule(OpenEJB.class.getClassLoader(), file.getAbsolutePath(), new Application(), true);
                 addWebModule(appModule, baseUrl, OpenEJB.class.getClassLoader(), getContextRoot(), getModuleName());
-                return appModule;
+                
+				File persistenceXml = new File(file, "WEB-INF/classes/META-INF/persistence.xml");
+				if (persistenceXml.exists() && persistenceXml.isFile()) {
+					List<URL> persistenceUrls = (List<URL>) appModule.getAltDDs().get("persistence.xml");
+			        if (persistenceUrls == null) {
+			            persistenceUrls = new ArrayList<URL>();
+			            appModule.getAltDDs().put("persistence.xml", persistenceUrls);
+			        }
+
+			        try {
+						persistenceUrls.add(persistenceXml.toURI().toURL());
+					} catch (Exception e) {
+					}
+				}
+				
+				addPersistenceUnits(appModule, baseUrl);
+				return appModule;
             } else if (PersistenceModule.class.equals(moduleClass) && loadingRequiredModuleTypes.contains(PersistenceModule.class)) {
                 String jarLocation = URLs.toFilePath(baseUrl);
                 ClassLoader classLoader = ClassLoaderUtil.createTempClassLoader(jarPath, new URL[]{baseUrl}, OpenEJB.class.getClassLoader());