Author: rmannibucau
Date: Sun Sep 14 16:00:04 2014
New Revision: 1624865

URL: http://svn.apache.org/r1624865
Log:
TOMEE-1346 allow to cipher resources values - even if not a placeholder

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

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=1624865&r1=1624864&r2=1624865&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
 Sun Sep 14 16:00:04 2014
@@ -51,16 +51,21 @@ public final class PropertyPlaceHolderHe
     }
 
     public static String simpleValue(final String raw) {
-        if (raw == null || !raw.contains(PREFIX) || !raw.contains(SUFFIX)) {
-            return raw;
+        if (raw == null) {
+            return null;
+        }
+        if (!raw.contains(PREFIX) || !raw.contains(SUFFIX)) {
+            return decryptIfNeeded(raw.replace(PREFIX, "").replace(SUFFIX, 
""));
         }
 
         String value = SUBSTITUTOR.replace(raw);
         if (!value.equals(raw) && value.startsWith("java:")) {
             value = value.substring(5);
         }
+        return decryptIfNeeded(value.replace(PREFIX, "").replace(SUFFIX, ""));
+    }
 
-        final String replace = value.replace(PREFIX, "").replace(SUFFIX, "");
+    private static String decryptIfNeeded(String replace) {
         if (replace.startsWith(CIPHER_PREFIX)) {
             final String algo = replace.substring(CIPHER_PREFIX.length(), 
replace.indexOf(':', CIPHER_PREFIX.length() + 1));
             PasswordCipher cipher = null;

Modified: 
tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/util/PropertyPlaceHolderTest.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/util/PropertyPlaceHolderTest.java?rev=1624865&r1=1624864&r2=1624865&view=diff
==============================================================================
--- 
tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/util/PropertyPlaceHolderTest.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/util/PropertyPlaceHolderTest.java
 Sun Sep 14 16:00:04 2014
@@ -34,8 +34,8 @@ public class PropertyPlaceHolderTest {
     @Test
     public void cipher() {
         SystemInstance.get().setProperty("PropertyPlaceHolderTest", 
"cipher:Static3DES:xMH5uM1V9vQzVUv5LG7YLA==");
-
         assertEquals("Passw0rd", 
PropertyPlaceHolderHelper.simpleValue("${PropertyPlaceHolderTest}"));
+        assertEquals("Passw0rd", 
PropertyPlaceHolderHelper.simpleValue("cipher:Static3DES:xMH5uM1V9vQzVUv5LG7YLA=="));
     }
 
     @Test


Reply via email to