001    /**
002     * Implements the Cold Fusion Function setprofilestring
003     */
004    package railo.runtime.functions.system;
005    
006    import java.io.IOException;
007    
008    import railo.commons.io.ini.IniFile;
009    import railo.commons.io.res.Resource;
010    import railo.commons.io.res.util.ResourceUtil;
011    import railo.runtime.PageContext;
012    import railo.runtime.exp.PageException;
013    import railo.runtime.ext.function.Function;
014    import railo.runtime.op.Caster;
015    
016    public final class SetProfileString implements Function {
017            public static String call(PageContext pc , String fileName, String section, String key, String value) throws PageException {
018                try {
019                    Resource res = ResourceUtil.toResourceNotExisting(pc,fileName);
020                IniFile ini = new IniFile(res);
021                ini.setKeyValue(section, key,value);
022                ini.save();
023            } 
024            catch (IOException e) {
025                throw Caster.toPageException(e);
026            }
027            return "";
028            }
029    }