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


Reply via email to