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 2015/02/21 20:11:32 UTC
tomee git commit: light support of placeholder in container
properties for appcomposer
Repository: tomee
Updated Branches:
refs/heads/develop c5ccadf94 -> c02589847
light support of placeholder in container properties for appcomposer
Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/c0258984
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/c0258984
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/c0258984
Branch: refs/heads/develop
Commit: c02589847ec1350411244abd17873abae1334d01
Parents: c5ccadf
Author: Romain Manni-Bucau <rm...@apache.org>
Authored: Sat Feb 21 20:11:21 2015 +0100
Committer: Romain Manni-Bucau <rm...@apache.org>
Committed: Sat Feb 21 20:11:21 2015 +0100
----------------------------------------------------------------------
.../openejb/testing/ApplicationComposers.java | 21 +++++++++++++++++++-
1 file changed, 20 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tomee/blob/c0258984/container/openejb-core/src/main/java/org/apache/openejb/testing/ApplicationComposers.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/testing/ApplicationComposers.java b/container/openejb-core/src/main/java/org/apache/openejb/testing/ApplicationComposers.java
index 91ca837..d0f13fc 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/testing/ApplicationComposers.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/testing/ApplicationComposers.java
@@ -72,6 +72,7 @@ import org.apache.openejb.spi.ContainerSystem;
import org.apache.openejb.testing.rest.ContextProvider;
import org.apache.openejb.util.Join;
import org.apache.openejb.util.NetworkUtil;
+import org.apache.openejb.util.PropertyPlaceHolderHelper;
import org.apache.openejb.util.ServiceManagerProxy;
import org.apache.openejb.util.URLs;
import org.apache.openejb.web.LightweightWebAppBuilder;
@@ -436,11 +437,19 @@ public final class ApplicationComposers {
SystemInstance.reset();
}
+ Collection<String> propertiesToSetAgain = null;
final ContainerProperties configAnnot = testClass.getAnnotation(ContainerProperties.class);
if (configAnnot != null) {
for (final ContainerProperties.Property p : configAnnot.value()) {
final String value = p.value();
- configuration.put(p.name(), value.equals(ContainerProperties.Property.IGNORED) ? null : value);
+ final String name = p.name();
+ configuration.put(name, value.equals(ContainerProperties.Property.IGNORED) ? null : value);
+ if (value.contains("${")) {
+ if (propertiesToSetAgain == null) {
+ propertiesToSetAgain = new LinkedList<>();
+ }
+ propertiesToSetAgain.add(name);
+ }
}
}
@@ -468,6 +477,7 @@ public final class ApplicationComposers {
}
}
}
+
for (final Map.Entry<Object, ClassFinder> finder : testClassFinders.entrySet()) {
if (!finder.getValue().findAnnotatedClasses(SimpleLog.class).isEmpty()) {
SystemInstance.get().setProperty("openejb.jul.forceReload", "true");
@@ -826,6 +836,15 @@ public final class ApplicationComposers {
}
}
+ if (propertiesToSetAgain != null) {
+ for (final String name : propertiesToSetAgain) {
+ final String value = PropertyPlaceHolderHelper.simpleValue(SystemInstance.get().getProperty(name));
+ configuration.put(name, value);
+ System.setProperty(name, value); // done lazily to support placeholders so container will not do it here
+ }
+ propertiesToSetAgain.clear();
+ }
+
servletContext = new MockServletContext();
session = new MockHttpSession();