You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Paul Benedict (JIRA)" <ji...@apache.org> on 2010/03/01 16:29:05 UTC

[jira] Commented: (LANG-482) Enhance StrSubstitutor to support nested ${var-${subvr}} expansion

    [ https://issues.apache.org/jira/browse/LANG-482?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12839712#action_12839712 ] 

Paul Benedict commented on LANG-482:
------------------------------------

I am not a fan of substitution variables that become substitution variables. It sounds closer to a pre-compiler. Technologies like Maven, Spring, and JSP/JSF do not support this and, likewise, I vote not to apply this.

> Enhance StrSubstitutor to support nested ${var-${subvr}} expansion
> ------------------------------------------------------------------
>
>                 Key: LANG-482
>                 URL: https://issues.apache.org/jira/browse/LANG-482
>             Project: Commons Lang
>          Issue Type: Improvement
>          Components: lang.text.*
>            Reporter: Rob Walker
>            Priority: Minor
>             Fix For: 3.1
>
>         Attachments: StrSubstitutor.java.nested.patch
>
>
> t would be really handy of StrSubstitutor could support nested variable interpolation:
> org.osgi.framework.system.packages=org.osgi.framework; version=1.4.0, \
> org.osgi.service.packageadmin; version=1.2.0, \
> org.osgi.service.startlevel; version=1.1.0, \
> org.osgi.service.url; version=1.0.0, \
> org.osgi.util.tracker; version=1.3.3 \
> ${jre-${java.specification.version}}
> The process being to expand innermost variable references first and work outwards - this allows for very advance config, such as the above, which can dynamically detect the Java version and expand a JRE version specific property into the property being defined.
> Looking at the implementation, it seems it might be a fairly straightforward enhancement to:
> private int substitute(StrBuilder buf, int offset, int length, List priorVariables)
> The code already has the cyclic map in place.
> I already have code that achieves this within Apache Felix, so I will see if I can retro-fit a similar model to the above and if so submit a patch. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.