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