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 2012/11/27 15:16:21 UTC
svn commit: r1414199 - in
/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb:
config/DeploymentLoader.java junit/ApplicationComposer.java
Author: rmannibucau
Date: Tue Nov 27 14:16:20 2012
New Revision: 1414199
URL: http://svn.apache.org/viewvc?rev=1414199&view=rev
Log:
OPENEJB-1956 root url for applicationcomposer
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/junit/ApplicationComposer.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=1414199&r1=1414198&r2=1414199&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 Tue Nov 27 14:16:20 2012
@@ -1245,7 +1245,7 @@ public class DeploymentLoader implements
}
}
- private static Map<String, URL> mapDescriptors(final ResourceFinder finder)
+ public static Map<String, URL> mapDescriptors(final ResourceFinder finder)
throws IOException {
final Map<String, URL> map = finder.getResourcesMap(ddDir);
Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/junit/ApplicationComposer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/junit/ApplicationComposer.java?rev=1414199&r1=1414198&r2=1414199&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/junit/ApplicationComposer.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/junit/ApplicationComposer.java Tue Nov 27 14:16:20 2012
@@ -54,6 +54,7 @@ import org.apache.openejb.loader.SystemI
import org.apache.openejb.spi.ContainerSystem;
import org.apache.openejb.util.Join;
import org.apache.openejb.util.ServiceManagerProxy;
+import org.apache.openejb.util.URLs;
import org.apache.openejb.web.LightweightWebAppBuilder;
import org.apache.webbeans.inject.AbstractInjectable;
import org.apache.webbeans.inject.OWBInjector;
@@ -61,6 +62,7 @@ import org.apache.webbeans.web.lifecycle
import org.apache.webbeans.web.lifecycle.test.MockServletContext;
import org.apache.xbean.finder.AnnotationFinder;
import org.apache.xbean.finder.IAnnotationFinder;
+import org.apache.xbean.finder.ResourceFinder;
import org.apache.xbean.finder.archive.Archive;
import org.apache.xbean.finder.archive.ClassesArchive;
import org.junit.rules.MethodRule;
@@ -72,6 +74,8 @@ import org.junit.runners.model.Statement
import org.junit.runners.model.TestClass;
import javax.naming.Context;
+import java.io.File;
+import java.io.IOException;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.net.URL;
@@ -402,12 +406,12 @@ public class ApplicationComposer extends
} else if (obj instanceof Persistence) {
final Persistence persistence = (Persistence) obj;
- appModule.addPersistenceModule(new PersistenceModule("", persistence));
+ appModule.addPersistenceModule(new PersistenceModule(implicitRootUrl(), persistence));
} else if (obj instanceof PersistenceUnit) {
final PersistenceUnit unit = (PersistenceUnit) obj;
- appModule.addPersistenceModule(new PersistenceModule("", new Persistence(unit)));
+ appModule.addPersistenceModule(new PersistenceModule(implicitRootUrl(), new Persistence(unit)));
} else if (obj instanceof Beans) {
@@ -608,6 +612,28 @@ public class ApplicationComposer extends
}
}
+ private static String implicitRootUrl() {
+ final ResourceFinder finder = new ResourceFinder("", Thread.currentThread().getContextClassLoader());
+ try {
+ final URL url = DeploymentLoader.altDDSources(DeploymentLoader.mapDescriptors(finder), false).get("persistence.xml");
+ if (url == null) {
+ return "";
+ }
+
+ final File file = URLs.toFile(url);
+ if (file.getName().endsWith("persistence.xml")) {
+ final String parent = file.getParentFile().getName();
+ if (parent.equalsIgnoreCase("META-INF")) {
+ return file.getParentFile().getParentFile().getAbsolutePath();
+ }
+ return file.getParentFile().getAbsolutePath();
+ }
+ return url.toExternalForm();
+ } catch (IOException e) {
+ return "";
+ }
+ }
+
private static Map<String, URL> descriptorsToMap(final Descriptors descriptors) {
if (descriptors != null) {
final Map<String, URL> dds = new HashMap<String, URL>();