[ https://issues.apache.org/jira/browse/LANG-482?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12839882#action_12839882 ]
Paul Benedict commented on LANG-482: ------------------------------------ Rob, you may have missed my edit. I was pointing out this should be a toggled feature -- some people may want to produce template based outputs that include ${...}, which means the replacement shouldn't be replaced. > 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.