Как использовать org.apache.commons.configuration с Coldfusion - PullRequest
0 голосов
/ 25 января 2019

Я пытаюсь использовать PropertiesConfiguration для управления файлами свойств в Coldfusion. Использование org.apache.commons.configuration версия 1.10.

propertyFile = "usergui.properties";

config = createObject("java","org.apache.commons.configuration.PropertiesConfiguration").init(propertyFile);

Я получаю соответствующую функцию init, которая принимает строку. Я пытался сделать java.io.file.

1 Ответ

0 голосов
/ 25 января 2019

Я понял, что проблема в том, что я не включил все зависимости. ДУХ!

function updatePropFile(string propFile, struct propStruct, struct removeStruct){
    propertyFile = propFile;
    javaFile = createObject("java", "java.io.File").init(propertyFile);
    fileStream = createObject("java", "java.io.FileInputStream").init(javaFile);


    config = createObject("java","org.apache.commons.configuration.PropertiesConfiguration").init(javaFile);

    configLayout = config.getLayout();

    for(key in propStruct){
        if(config.containsKey(key)){
            config.setProperty(key, propStruct[key]);
        }else{
            config.addProperty(key, propStruct[key]);
        }
    }

    for(key in removeStruct){
        if(config.containsKey(key)){
            /* clear prop and add as comment */
            value = config.getProperty(key).toString();
            config.clearProperty(key);
            config.addProperty('##'&key, key & "=" & value);
        }
    }

    configLayout.save(createObject("java", "java.io.FileWriter").init(propFile, false));
}
...