[ 
https://issues.apache.org/jira/browse/TOMEE-2039?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Richard Zowalla resolved TOMEE-2039.
------------------------------------
    Resolution: Auto Closed

Hi there!

We wanted to reach out and let you know that we're currently working on 
cleaning up open issues in Jira that specifically impact unsupported versions, 
including 1.7.x, 7.0.x, and 7.1.x.

If you had previously reported this issue on one of these unsupported versions, 
we kindly ask you to check if the problem still persists and can be reproduced 
on a supported version such as 8.0.x or 9.0.x. If you find that it is indeed 
reproducible on a supported version, you're more than welcome to re-open this 
issue.

Thanks!


> Closing Curly Brace Removed from Custom Resource Properties
> -----------------------------------------------------------
>
>                 Key: TOMEE-2039
>                 URL: https://issues.apache.org/jira/browse/TOMEE-2039
>             Project: TomEE
>          Issue Type: Bug
>    Affects Versions: 7.0.3
>            Reporter: Steve Beatty
>            Priority: Major
>
> In migrating a project from OpenEJB 4.7 to 7, I started getting errors in a 
> custom resource due the '}' character being removed from a property value.  
> Looking in the source it appears that issue is in 
> org/apache/openejb/util/PropertyPlaceHolderHelper.java which is trying to do 
> variable substitution but is very aggressive about it - all $\{ and } Strings 
> are being removed in the process.  I believe the issue is the 
> simpleValueAsStringOrCharArray method and the snippet below should fix it.
> {code}
> public static Object simpleValueAsStringOrCharArray(final String raw) {
>       if (raw == null) {
>               return null;
>       }
>       
>       // This will replace ${ or } if either is encountered instead of 
> matching pair
>       // I don't know why this is useful
>       //
>       //if (!raw.contains(PREFIX) || !raw.contains(SUFFIX)) {
>       //      return decryptIfNeeded(raw.replace(PREFIX, "").replace(SUFFIX, 
> ""), true);
>       //}
>       
>       if (!raw.contains(PREFIX) && !raw.contains(SUFFIX)) {
>               return decryptIfNeeded(raw, true);
>       }
>       String value = SUBSTITUTOR.replace(raw);
>       if (!value.equals(raw) && value.startsWith("java:")) {
>               value = value.substring(5);
>       }
>       
>       // not sure the replaces here are useful either
>       // if there are still markup characters now then the substitution 
> didn't work
>       // and it's probably more useful for debugging purposes to see those 
> characters
>       //
>       // return decryptIfNeeded(value.replace(PREFIX, "").replace(SUFFIX, 
> ""), true);
>       return decryptIfNeeded(value, true);
> }
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to