Oliver, thanks for the info. I am indeed using release 1.3. And you're right, the $$ does escape the variable character, in some circumstances.

I didn't get much time to work on this today, but when I changed it to only have one entry in the property that looks like a variable, it works okay:
myproperty=$${DB2UNIVERSAL_JDBC_DRIVER_PATH}/db2jcc.jar

However, if I have multiple entries, that is when I am getting the error:
myproperty=$${DB2UNIVERSAL_JDBC_DRIVER_PATH}/db2jcc.jar,$${DB2UNIVERSAL_JDBC_DRIVER_PATH}/db2jcc_license_cu.jar,$${DB2UNIVERSAL_JDBC_DRIVER_PATH}/db2jcc_license_cisuz.jar

I need to do some more testing, to see what combinations of this work and which ones don't. But thanks for giving me something to go on!

Oliver Heger wrote:
Hi Dave,

which version of Commons Configuration do you use? Since the 1.3 release substituation of variables is handled by the StrSubstitutor class of Commons Lang [1]. Here the '$' sign is used for escaping variables, so your 3rd example

myproperty=$${myNonCommonsConfigVariable}

should work. There is also a unit test that checks this behavior:

    public void testInterpolationEscaped()
    {
        config.addProperty("var", "x");
        config.addProperty("escVar", "Use the variable $${${var}}.");
assertEquals("Wrong escaped variable", "Use the variable ${x}.", config
                .getString("escVar"));
    }

IIRC in earlier versions of Configuration escaping variables was not supported.

Oliver



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to