private String replaceVariables()

in impl/src/main/java/org/apache/geronimo/config/ConfigValueImpl.java [346:370]


    private String replaceVariables(String value)
    {
        // recursively resolve any ${varName} in the value
        int startVar = 0;
        while ((startVar = value.indexOf("${", startVar)) >= 0)
        {
            int endVar = value.indexOf("}", startVar);
            if (endVar <= 0)
            {
                break;
            }
            String varName = value.substring(startVar + 2, endVar);
            if (varName.isEmpty())
            {
                break;
            }
            String variableValue = config.access(varName).evaluateVariables(true).get();
            if (variableValue != null)
            {
                value = value.replace("${" + varName + "}", variableValue);
            }
            startVar++;
        }
        return value;
    }