/** * 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.administration; import biblivre3.config.Config; import biblivre3.config.ConfigurationEnum; import java.util.HashMap; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import mercury.BaseHandler; import mercury.Dialog; public class ConfigurationAdministrationHandler extends BaseHandler { enum SaveResult { savedOK, parameterError, fileError } @Override public String processModule(HttpServletRequest request, HttpServletResponse response, String submitButton, HashMap<String, String> requestParametersHash) { if (submitButton.equals("SAVE_CHANGES")) { biblivre3.config.Config.ht = readConfigParameters(request); final SaveResult saved = (new ConfigurationBO()).saveChanges(biblivre3.config.Config.ht, request); switch (saved) { case savedOK: { Dialog.showNormal(request, "SUCCESS_SAVE_CONFIGURATIONS"); break; } case fileError: { Dialog.showError(request, "ERROR_SAVE_CONFIGURATIONS"); break; } } return "/jsp/administration/configuration.jsp"; } else if (submitButton.equals("CANCEL_CHANGES")) { Dialog.showNormal(request, "DIALOG_VOID"); return "/jsp/administration/configuration.jsp"; } return ""; } private HashMap<String, String> readConfigParameters(HttpServletRequest request) { final HashMap<String, String> ht = new HashMap(); String name = null; String value = null; for (ConfigurationEnum ce : ConfigurationEnum.values()) { name = ce.toString(); value = request.getParameter(name); if (ce.equals(ConfigurationEnum.DATABASE_NAME)) { ht.put(name, Config.getConfigProperty(ce)); } else { ht.put(name, value != null ? value : ""); } } return ht; } }