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