Author: rmannibucau
Date: Fri Jan 18 07:52:53 2013
New Revision: 1435046

URL: http://svn.apache.org/viewvc?rev=1435046&view=rev
Log:
TOMEE-742 ${} in beans.xml

Modified:
    
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiScanner.java
    
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/PropertyPlaceHolderHelper.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiScanner.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiScanner.java?rev=1435046&r1=1435045&r2=1435046&view=diff
==============================================================================
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiScanner.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiScanner.java
 Fri Jan 18 07:52:53 2013
@@ -23,6 +23,7 @@ import org.apache.openejb.assembler.clas
 import org.apache.openejb.assembler.classic.EjbJarInfo;
 import org.apache.openejb.assembler.classic.EnterpriseBeanInfo;
 import org.apache.openejb.loader.SystemInstance;
+import org.apache.openejb.util.PropertyPlaceHolderHelper;
 import org.apache.openejb.util.classloader.ClassLoaderComparator;
 import org.apache.openejb.util.classloader.DefaultClassLoaderComparator;
 import org.apache.webbeans.annotation.AnnotationManager;
@@ -117,7 +118,7 @@ public class CdiScanner implements Scann
             beans.duplicatedInterceptors.clear();
 
             for (String className : beans.interceptors) {
-                Class<?> clazz = load(className, classLoader);
+                Class<?> clazz = 
load(PropertyPlaceHolderHelper.simpleValue(className), classLoader);
 
                 if (clazz != null) {
 // TODO: Move check to validation phase
@@ -138,7 +139,7 @@ public class CdiScanner implements Scann
             }
 
             for (String className : beans.decorators) {
-                Class<?> clazz = load(className, classLoader);
+                Class<?> clazz = 
load(PropertyPlaceHolderHelper.simpleValue(className), classLoader);
 
                 if (clazz != null) {
                     if (!decoratorsManager.isDecoratorEnabled(clazz)) {
@@ -152,7 +153,7 @@ public class CdiScanner implements Scann
 
 
             for (String className : beans.alternativeStereotypes) {
-                Class<?> clazz = load(className, classLoader);
+                Class<?> clazz = 
load(PropertyPlaceHolderHelper.simpleValue(className), classLoader);
                 if (clazz != null) {
                     alternativesManager.addStereoTypeAlternative(clazz, null, 
null);
                     classes.add(clazz);
@@ -162,7 +163,7 @@ public class CdiScanner implements Scann
             }
 
             for (String className : beans.alternativeClasses) {
-                Class<?> clazz = load(className, classLoader);
+                Class<?> clazz = 
load(PropertyPlaceHolderHelper.simpleValue(className), classLoader);
                 if (clazz != null) {
                     alternativesManager.addClazzAlternative(clazz, null, null);
                     classes.add(clazz);

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/PropertyPlaceHolderHelper.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/PropertyPlaceHolderHelper.java?rev=1435046&r1=1435045&r2=1435046&view=diff
==============================================================================
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/PropertyPlaceHolderHelper.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/PropertyPlaceHolderHelper.java
 Fri Jan 18 07:52:53 2013
@@ -30,6 +30,18 @@ public final class PropertyPlaceHolderHe
         // no-op
     }
 
+    public static String simpleValue(final String key) {
+        if (key == null || !key.startsWith(PREFIX) || !key.endsWith(SUFFIX)) {
+            return key;
+        }
+
+        String value = SystemInstance.get().getOptions().get(key.substring(2, 
key.length() - 1), key);
+        if (!value.equals(key) && value.startsWith("java:")) {
+            value = value.substring(5);
+        }
+        return value;
+    }
+
     public static String value(final String key) {
         if (key == null || !key.startsWith(PREFIX) || !key.endsWith(SUFFIX)) {
             return key;
@@ -40,10 +52,7 @@ public final class PropertyPlaceHolderHe
             return value;
         }
 
-        value = SystemInstance.get().getOptions().get(key.substring(2, 
key.length() - 1), key);
-        if (!value.equals(key) && value.startsWith("java:")) {
-            value = value.substring(5);
-        }
+        value = simpleValue(key);
         CACHE.setProperty(key, value);
         return value;
     }


Reply via email to