Details
-
Improvement
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
None
-
None
Description
It would be really handy of Commons Configuration 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.
Care is needed to avoid recursion, which can been handled through use of a "Cycle Map" that detects of an inner variable has already been referenced.
An example of this can be found in the substVars method of the Apache Felix org.apache.felix.framework.util.Util class.
Attachments
Issue Links
- depends upon
-
LANG-482 Enhance StrSubstitutor to support nested ${var-${subvr}} expansion
- Closed