Author: jlmonteiro
Date: Wed Nov 7 16:14:42 2012
New Revision: 1406695
URL: http://svn.apache.org/viewvc?rev=1406695&view=rev
Log:
TOMEE-559 Supporting tomee. prefix for properties configuration
Modified:
openejb/trunk/openejb/container/openejb-loader/src/main/java/org/apache/openejb/loader/Options.java
Modified:
openejb/trunk/openejb/container/openejb-loader/src/main/java/org/apache/openejb/loader/Options.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-loader/src/main/java/org/apache/openejb/loader/Options.java?rev=1406695&r1=1406694&r2=1406695&view=diff
==============================================================================
---
openejb/trunk/openejb/container/openejb-loader/src/main/java/org/apache/openejb/loader/Options.java
(original)
+++
openejb/trunk/openejb/container/openejb-loader/src/main/java/org/apache/openejb/loader/Options.java
Wed Nov 7 16:14:42 2012
@@ -71,7 +71,7 @@ import java.lang.reflect.Constructor;
public class Options {
private final Options parent;
- private final Properties properties;
+ private final TomEEPropertyAdapter properties;
public Options(Properties properties) {
this(properties, new NullOptions());
@@ -79,11 +79,11 @@ public class Options {
public Options(Properties properties, Options parent) {
this.parent = parent;
- this.properties = properties;
+ this.properties = new TomEEPropertyAdapter(properties);
}
public Properties getProperties() {
- return properties;
+ return properties.delegate;
}
public void setLogger(Log logger) {
@@ -435,6 +435,37 @@ public class Options {
}
}
+ /**
+ * This adapter aims at supporting all configuration properties with
tomee. prefix instead of openejb. prefix
+ */
+ public static class TomEEPropertyAdapter {
+ public static final int OPENEJB_PREFIX_LENGHT = "openejb.".length();
+ private Properties delegate;
+
+ public TomEEPropertyAdapter(Properties properties) {
+ this.delegate = properties;
+ }
+
+ public String getProperty(String key) {
+ String value = delegate.getProperty(key);
+
+ if (value == null && key.startsWith("openejb.")) {
+ value = delegate.getProperty(getTomeeKey(key), value);
+ }
+
+ return value;
+ }
+
+ public boolean containsKey(String key) {
+ return delegate.containsKey(key)
+ || delegate.containsKey(getTomeeKey(key));
+ }
+
+ private String getTomeeKey(String key) {
+ return "tomee." + key.substring(OPENEJB_PREFIX_LENGHT);
+ }
+ }
+
public static interface Log {
public boolean isDebugEnabled();