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 2013/05/14 18:19:17 UTC
svn commit: r1482421 -
/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
Author: rmannibucau
Date: Tue May 14 16:19:17 2013
New Revision: 1482421
URL: http://svn.apache.org/r1482421
Log:
TOMEE-935 persistence.xml handling in webapp is not complete
Modified:
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java?rev=1482421&r1=1482420&r2=1482421&view=diff
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java (original)
+++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java Tue May 14 16:19:17 2013
@@ -577,14 +577,37 @@ public class DeploymentLoader implements
DeploymentsResolver.loadFromClasspath(base, filteredUrls, appModule.getClassLoader());
addPersistenceUnits(appModule, filteredUrls.toArray(new URL[filteredUrls.size()]));
+ final Object pXmls = appModule.getAltDDs().get("persistence.xml");
+
for (final WebModule webModule : appModule.getWebModules()) {
- final List<URL> scannableUrls = webModule.getScannableUrls();
final List<URL> foundRootUrls = new ArrayList<URL>();
+ final List<URL> scannableUrls = webModule.getScannableUrls();
for (final URL url : scannableUrls) {
if (!addPersistenceUnits(appModule, url).isEmpty()) {
foundRootUrls.add(url);
}
}
+
+ if (pXmls != null && Collection.class.isInstance(pXmls)) {
+ final File webapp = webModule.getFile();
+ if (webapp == null) {
+ continue;
+ }
+ final String webappAbsolutePath = webapp.getAbsolutePath();
+
+ final Collection<URL> list = Collection.class.cast(pXmls);
+ for (final URL url : list) {
+ try {
+ final File file = URLs.toFile(url);
+ if (file.getAbsolutePath().startsWith(webappAbsolutePath)) {
+ foundRootUrls.add(url);
+ }
+ } catch (final IllegalArgumentException iae) {
+ // no-op
+ }
+ }
+ }
+
webModule.getAltDDs().put(EAR_WEBAPP_PERSISTENCE_XML_JARS, foundRootUrls);
}