/* * Copyright (C) 2007-2007 the GSAN - Sistema Integrado de Gestão de Serviços de Saneamento * * This file is part of GSAN, an integrated service management system for Sanitation * * GSAN is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License. * * GSAN is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ /* * GSAN - Sistema Integrado de Gestão de Serviços de Saneamento * Copyright (C) <2007> * Adriano Britto Siqueira * Alexandre Santos Cabral * Ana Carolina Alves Breda * Ana Maria Andrade Cavalcante * Aryed Lins de Araújo * Bruno Leonardo Rodrigues Barros * Carlos Elmano Rodrigues Ferreira * Cláudio de Andrade Lira * Denys Guimarães Guenes Tavares * Eduardo Breckenfeld da Rosa Borges * Fabíola Gomes de Araújo * Flávio Leonardo Cavalcanti Cordeiro * Francisco do Nascimento Júnior * Homero Sampaio Cavalcanti * Ivan Sérgio da Silva Júnior * José Edmar de Siqueira * José Thiago Tenório Lopes * Kássia Regina Silvestre de Albuquerque * Leonardo Luiz Vieira da Silva * Márcio Roberto Batista da Silva * Maria de Fátima Sampaio Leite * Micaela Maria Coelho de Araújo * Nelson Mendonça de Carvalho * Newton Morais e Silva * Pedro Alexandre Santos da Silva Filho * Rafael Corrêa Lima e Silva * Rafael Francisco Pinto * Rafael Koury Monteiro * Rafael Palermo de Araújo * Raphael Veras Rossiter * Roberto Sobreira Barbalho * Rodrigo Avellar Silveira * Rosana Carvalho Barbosa * Sávio Luiz de Andrade Cavalcante * Tai Mu Shih * Thiago Augusto Souza do Nascimento * Tiago Moreno Rodrigues * Vivianne Barbosa Sousa * * Este programa é software livre; você pode redistribuí-lo e/ou * modificá-lo sob os termos de Licença Pública Geral GNU, conforme * publicada pela Free Software Foundation; versão 2 da * Licença. * Este programa é distribuído na expectativa de ser útil, mas SEM * QUALQUER GARANTIA; sem mesmo a garantia implícita de * COMERCIALIZAÇÃO ou de ADEQUAÇÃO A QUALQUER PROPÓSITO EM * PARTICULAR. Consulte a Licença Pública Geral GNU para obter mais * detalhes. * Você deve ter recebido uma cópia da Licença Pública Geral GNU * junto com este programa; se não, escreva para Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA * 02111-1307, USA. */ package gcom.util; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.util.Properties; /** * Esta classe é usada para recuperar a descricao da estrutura do banco. * Ex: * cadastro.imovel= Imóvel * cadastro.imovel.imov_id = Identificador * cadastro.imovel.nome = Nome * * * * @author Thiago Toscano * */ public class ConstantesDescricaoBanco { // Nome do Arquivo de propriedades private final static String NOME_ARQUIVO_PROPRIEDADES; // guarda as constantes contidas no application.properties juntamente com // seus valores private static Properties propriedades = null; // inicialização estática static { // Nome do Arquivo de propriedades NOME_ARQUIVO_PROPRIEDADES = "/descricaoBanco.properties"; loadResources(); } /** * Este método retorna o valor da constante passada como parâmetro. * * @param key * Nome da constante * @return Descrição do retorno */ public static String get(String key) { String retorno = null; if (propriedades != null) { retorno = propriedades.getProperty(key); } if (retorno != null && "".equals(retorno.trim())) { retorno = null; } return retorno; } /** * Carrega o arquivo de properties do sistema */ private static void loadResources() { propriedades = new Properties(); InputStream stream; try { ClassLoader classLoader = ClassLoader.getSystemClassLoader(); stream = classLoader.getResourceAsStream(NOME_ARQUIVO_PROPRIEDADES); // if system class loader not found try the this class classLoader if (stream == null) { stream = gcom.util.ConstantesAplicacao.class.getClassLoader() .getResourceAsStream(NOME_ARQUIVO_PROPRIEDADES); } if (stream == null) { stream = gcom.util.ConstantesAplicacao.class .getResourceAsStream(NOME_ARQUIVO_PROPRIEDADES); } propriedades.load(stream); } catch (IOException e) { try { new File(NOME_ARQUIVO_PROPRIEDADES).createNewFile(); } catch (Exception ee) { // TODO: handle exception } // e.printStackTrace(); // System.err.println("Nao foi possivel localizar o arquivo de propriedades. Certifique-se " // + "de que o arquivo " // + NOME_ARQUIVO_PROPRIEDADES // + " esteja na raiz do CLASSPATH"); } } }