/** * Este arquivo é parte do Biblivre3. * * Biblivre3 é um software livre; você pode redistribuí-lo e/ou * modificá-lo dentro dos termos da Licença Pública Geral GNU como * publicada pela Fundação do Software Livre (FSF); na versão 3 da * Licença, ou (caso queira) qualquer versão posterior. * * Este programa é distribuído na esperança de que possa ser útil, * mas SEM NENHUMA GARANTIA; nem mesmo a garantia implícita de * MERCANTIBILIDADE OU ADEQUAÇÃO PARA UM FIM PARTICULAR. Veja a * Licença Pública Geral GNU para maiores detalhes. * * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto * com este programa, Se não, veja em <http://www.gnu.org/licenses/>. * * @author Alberto Wagner <alberto@biblivre.org.br> * @author Danniel Willian <danniel@biblivre.org.br> * */ package biblivre3.config; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.net.URL; import java.util.HashMap; import java.util.Properties; public class Config { private static Properties properties; private static URL ConfigFile; private static String ConfigFilePath = "/config.bib"; public static HashMap<String, String> ht; static { loadProperties(); } public static String getConfigProperty(final ConfigurationEnum config) { return properties.getProperty(config.name()); } public static String getConfigProperty(final ConfigurationEnum config, final String def) { String ret = properties.getProperty(config.name()); if (ret == null || ret.isEmpty()) { ret = def; } return ret; } public static String getConfigProperty(String prop) { return properties.getProperty(prop); } public static void setConfigProperty(String prop, String value) { properties.setProperty(prop, value); } private static void loadProperties() { ClassLoader cl = Config.class.getClassLoader(); ConfigFile = cl.getResource(ConfigFilePath); properties = new Properties(); try { properties.load(ConfigFile.openStream()); } catch (IOException ioe) { System.out.println(ioe.getMessage()); } } private static String createFileComment() { return " THIS FILE IS AUTOMATICALY GENERATED.\n" + "# DO NOT EDIT IT.\n" + "# TO CHANGE SYSTEM SETTINGS, USE THE ADMINISTRATION/CONFIGURATION OPTION\n" + "# IN SYSTEM MENU.\n" + "#"; } public static void saveAllConfig(HashMap<String, String> ht) throws IOException { properties = new Properties(); for (ConfigurationEnum ce : ConfigurationEnum.values()) { String value = ht.get(ce.name()); if (ce.equals(ConfigurationEnum.WELCOME_DISCLAIMER_PT_BR) || ce.equals(ConfigurationEnum.WELCOME_DISCLAIMER_EN_US) || ce.equals(ConfigurationEnum.WELCOME_DISCLAIMER_ES)) { value = value.replaceAll("\\r?\\n", "<br>"); } properties.setProperty(ce.name(), value); } FileOutputStream fos = new FileOutputStream(new File(ConfigFile.getFile().replaceAll("%20", " "))); properties.store(fos, createFileComment()); fos.flush(); fos.close(); } }