package gcom.gui.util.tabelaauxiliar; import gcom.atendimentopublico.ligacaoagua.CorteTipo; import gcom.atendimentopublico.ligacaoagua.EmissaoOrdemCobrancaTipo; import gcom.atendimentopublico.ligacaoagua.LigacaoAguaDiametro; import gcom.atendimentopublico.ligacaoagua.LigacaoAguaPerfil; import gcom.atendimentopublico.ligacaoagua.SupressaoTipo; import gcom.atendimentopublico.ligacaoesgoto.LigacaoEsgotoCaixaInspecao; import gcom.atendimentopublico.ligacaoesgoto.LigacaoEsgotoDestinoAguasPluviais; import gcom.atendimentopublico.ligacaoesgoto.LigacaoEsgotoDestinoDejetos; import gcom.atendimentopublico.ligacaoesgoto.LigacaoEsgotoDiametro; import gcom.atendimentopublico.ligacaoesgoto.LigacaoEsgotoEsgotamento; import gcom.atendimentopublico.ligacaoesgoto.LigacaoEsgotoMaterial; import gcom.cadastro.cliente.PessoaSexo; import gcom.cadastro.dadocensitario.FonteDadosCensitario; import gcom.cadastro.dadocensitario.IbgeSetorCensitario; import gcom.cadastro.endereco.CepTipo; import gcom.cadastro.endereco.EnderecoTipo; import gcom.cadastro.geografico.RegiaoDesenvolvimento; import gcom.cadastro.imovel.EloAnormalidade; import gcom.cadastro.imovel.ImovelPerfil; import gcom.cadastro.imovel.ImovelTipoCobertura; import gcom.cadastro.imovel.ImovelTipoConstrucao; import gcom.cadastro.imovel.ImovelTipoHabitacao; import gcom.cadastro.imovel.ImovelTipoPropriedade; import gcom.cadastro.imovel.PocoTipo; import gcom.cadastro.localidade.LocalidadeClasse; import gcom.cadastro.localidade.LocalidadePorte; import gcom.cadastro.tarifasocial.RendaTipo; import gcom.faturamento.conta.ContaMotivoRetificacao; import gcom.gui.Funcionalidade; import gcom.micromedicao.consumo.ConsumoTipo; import gcom.micromedicao.hidrometro.HidrometroRelojoaria; import gcom.operacional.SistemaEsgotoTratamentoTipo; import gcom.operacional.TipoCaptacao; import gcom.seguranca.acesso.usuario.UsuarioAcao; import gcom.util.HibernateUtil; import gcom.util.SistemaException; import gcom.util.tabelaauxiliar.TabelaAuxiliar; import gcom.util.tabelaauxiliar.TabelaAuxiliarAbstrata; import gcom.util.tabelaauxiliar.faixa.TabelaAuxiliarFaixaReal; import java.util.HashMap; /** * Title: GCOM * Description: Sistema de Gest�o Comercial * Copyright: Copyright (c) 2004 * Company: COMPESA - Companhia Pernambucana de Saneamento * @author not attributable * @version 1.0 */ public class DadosTelaTabelaAuxiliar { private String titulo; private TabelaAuxiliar tabela; private String funcionalidadeTabelaAux; private String nomeParametroFuncionalidade; private static HashMap<String,DadosTelaTabelaAuxiliar> telas = new HashMap<String,DadosTelaTabelaAuxiliar>(); private static HashMap<String,String[]> configuracaoParametrosTelas = new HashMap<String,String[]>(); /** * Este m�todo busca um map de funcionalidades cadastradas e cria uma * inst�ncia da funcionalidade para ser usada na Tabela Auxiliar * * @param nome * @return */ public static DadosTelaTabelaAuxiliar obterDadosTelaTabelaAuxiliar( String nome) { // Verifica se a funcionalidade desejada j� foi instanciada e j� est� no // cache if (!telas.containsKey(nome)) { String[] configuracaoTela = configuracaoParametrosTelas.get(nome); try { // Cria a inst�ncia do objeto DadosTelaTabelaAuxiliar DadosTelaTabelaAuxiliar dadosTela = new DadosTelaTabelaAuxiliar( configuracaoTela[1], (TabelaAuxiliar) Class.forName( configuracaoTela[0]).newInstance(), configuracaoTela[2], nome); // Coloca a inst�ncia criada no map que representa o cache com // as inst�ncia j� criadas telas.put(nome, dadosTela); return dadosTela; } catch (ClassNotFoundException ex) { throw new SistemaException(); } catch (IllegalAccessException ex) { throw new SistemaException(); } catch (InstantiationException ex) { throw new SistemaException(); } } // Se o a funcionalidade j� estiver no cache, ent�o ela � retornada // sem a necessidade de passar pelo m�todo return telas.get(nome); } static { //Arrumar configuracaoParametrosTelas.put("perfilImovel", new String[] { ImovelPerfil.class.getName(), "Perfil do Im�vel", Funcionalidade.TELA_IMOVEL_PERFIL }); //Arrumar configuracaoParametrosTelas.put("ibgeSetorCensitario", new String[] { IbgeSetorCensitario.class.getName(), "IBGE Setor Censit�rio", Funcionalidade.TELA_IBGE_SETOR_CENSITARIO }); //Arrumar configuracaoParametrosTelas.put("tipoCorte", new String[] { CorteTipo.class.getName(), "Tipo de Corte", Funcionalidade.TELA_CORTE_TIPO }); //Arrumar configuracaoParametrosTelas.put("tipoSupressao", new String[] { SupressaoTipo.class.getName(), "Tipo de Supressao", Funcionalidade.TELA_SUPRESSAO_TIPO }); //Arrumar configuracaoParametrosTelas.put("tipoConsumo", new String[] { ConsumoTipo.class.getName(), "Tipo de Consumo", Funcionalidade.TELA_CONSUMO_TIPO }); configuracaoParametrosTelas.put("localidadeClasse", new String[] { LocalidadeClasse.class.getName(), "Localidade Classe", Funcionalidade.TELA_LOCALIDADE_CLASSE }); configuracaoParametrosTelas.put("localidadePorte", new String[] { LocalidadePorte.class.getName(), "Localidade Porte", Funcionalidade.TELA_LOCALIDADE_PORTE }); configuracaoParametrosTelas.put("fonteDadosCensitario", new String[] { FonteDadosCensitario.class.getName(), "Fonte Dados Censit�rios", Funcionalidade.TELA_SETOR_CENSITARIO }); configuracaoParametrosTelas.put("cepTipo", new String[] { CepTipo.class.getName(), "Tipo de CEP", Funcionalidade.TELA_CEP_TIPO }); configuracaoParametrosTelas.put("tipoEndereco", new String[] { EnderecoTipo.class.getName(), "Tipo do Endere�o", Funcionalidade.TELA_ENDERECO_TIPO }); configuracaoParametrosTelas.put("pessoaSexo", new String[] { PessoaSexo.class.getName(), "Pessoa do Sexo", Funcionalidade.TELA_PESSOA_SEXO }); configuracaoParametrosTelas.put("tipoRenda", new String[] { RendaTipo.class.getName(), "Tipo da Renda", Funcionalidade.TELA_RENDA_TIPO }); configuracaoParametrosTelas.put("acaoUsuario", new String[] { UsuarioAcao.class.getName(), "A��o do Usu�rio", Funcionalidade.TELA_USUARIO_ACAO }); configuracaoParametrosTelas.put("materialLigacaoEsgoto", new String[] { LigacaoEsgotoMaterial.class.getName(), "Material de Liga��o do Esgoto", Funcionalidade.TELA_LIGACAO_ESGOTO_MATERIAL }); configuracaoParametrosTelas.put("diametroLigacaoEsgoto", new String[] { LigacaoEsgotoDiametro.class.getName(), "Diametro de Liga��o do Esgoto", Funcionalidade.TELA_LIGACAO_ESGOTO_DIAMETRO }); configuracaoParametrosTelas.put("diametroLigacaoAgua", new String[] { LigacaoAguaDiametro.class.getName(), "Diametro de Liga��o da �gua", Funcionalidade.TELA_LIGACAO_AGUA_DIAMETRO }); configuracaoParametrosTelas.put("tipoOrdemEmissaoCobranca", new String[] { EmissaoOrdemCobrancaTipo.class.getName(), "Tipo da Ordem de Emiss�o de Cobranca", Funcionalidade.TELA_EMISSAO_ORDEM_COBRANCA_TIPO }); configuracaoParametrosTelas.put("perfilLigacaoAgua", new String[] { LigacaoAguaPerfil.class.getName(), "Perfil de Liga��o da �gua", Funcionalidade.TELA_LIGACAO_AGUA_PERFIL }); configuracaoParametrosTelas.put("poco", new String[] { PocoTipo.class.getName(), "Po�o", Funcionalidade.TELA_POCO }); configuracaoParametrosTelas.put("eloAnormalidade", new String[] { EloAnormalidade.class.getName(), "Elo Anormalidade", Funcionalidade.TELA_ELO_ANORMALIDADE }); configuracaoParametrosTelas.put("imovelTipoHabitacao", new String[] { ImovelTipoHabitacao.class.getName(), "Tipo de Habita��o", Funcionalidade.TELA_TIPO_HABITACAO }); configuracaoParametrosTelas.put("imovelTipoPropriedade", new String[] { ImovelTipoPropriedade.class.getName(), "Tipo de Propriedade", Funcionalidade.TELA_TIPO_PROPRIEDADE }); configuracaoParametrosTelas.put("imovelTipoConstrucao", new String[] { ImovelTipoConstrucao.class.getName(), "Tipo de Constru��o", Funcionalidade.TELA_TIPO_CONSTRUCAO }); configuracaoParametrosTelas.put("imovelTipoCobertura", new String[] { ImovelTipoCobertura.class.getName(), "Tipo de Cobertura", Funcionalidade.TELA_TIPO_COBERTURA }); configuracaoParametrosTelas.put("hidrometroRelojoaria", new String[] { HidrometroRelojoaria.class.getName(), "Hidrometro Relojoaria", Funcionalidade.TELA_HIDROMETRO_RELOJOARIA }); configuracaoParametrosTelas.put("ligacaoEsgotoDestinoDejetos", new String[] { LigacaoEsgotoDestinoDejetos.class.getName(), "Liga��o de Esgoto destino de dejetos", Funcionalidade.TELA_LIGACAO_ESGOTO_DESTINO_DEJETOS }); configuracaoParametrosTelas.put("ligacaoEsgotoEsgotamento", new String[] { LigacaoEsgotoEsgotamento.class.getName(), "Liga��o de Esgoto Esgotamento", Funcionalidade.TELA_LIGACAO_ESGOTO_ESGOTAMENTO }); configuracaoParametrosTelas.put("ligacaoEsgotoCaixaInspecao", new String[] { LigacaoEsgotoCaixaInspecao.class.getName(), "Liga��o de Esgoto Caixa de Inspe��o", Funcionalidade.TELA_LIGACAO_ESGOTO_CAIXA_INSPECAO }); configuracaoParametrosTelas.put("ligacaoEsgotoDestinoAguasPluviais", new String[] { LigacaoEsgotoDestinoAguasPluviais.class.getName(), "Liga��o de Esgoto Destino das �guas Pluviais", Funcionalidade.TELA_LIGACAO_ESGOTO_DESTINO_AGUAS_PLUVIAIS }); configuracaoParametrosTelas.put("regiaoIntegracao", new String[] { RegiaoDesenvolvimento.class.getName(), "Regi�o de Integra��o", Funcionalidade.TELA_REGIAO_INTEGRACAO}); configuracaoParametrosTelas.put("sistemaEsgotoTratamentoTipo", new String[] { SistemaEsgotoTratamentoTipo.class.getName(), "Tipo de Tratamento do Sistema de Esgoto", Funcionalidade.TELA_ESGOTO_TRATAMENTO_TIPO}); configuracaoParametrosTelas.put("tipoCaptacao", new String[] { TipoCaptacao.class.getName(), "Tipo de Capta��o", Funcionalidade.TELA_TIPO_CAPTACAO }); configuracaoParametrosTelas.put("contaMotivoRetificacao", new String[] { ContaMotivoRetificacao.class.getName(), "Motivo de Retifica��o da Conta", Funcionalidade.TELA_CONTA_MOTIVO_RETIFICACAO }); } /** * Construtor da classe DadosTelaTabelaAuxiliar * * @param titulo * Descri��o do par�metro * @param tabela * Descri��o do par�metro * @param funcionalidadeTabelaAuxManter * Descri��o do par�metro */ protected DadosTelaTabelaAuxiliar(String titulo, TabelaAuxiliar tabela, String funcionalidadeTabelaAux, String nomeParametroFuncionalidade) { this.titulo = titulo; this.tabela = tabela; this.funcionalidadeTabelaAux = funcionalidadeTabelaAux; this.nomeParametroFuncionalidade = nomeParametroFuncionalidade; System.out.println("inicializando objeto"); } public DadosTelaTabelaAuxiliar(String titulo2, TabelaAuxiliarFaixaReal tabela2, String funcionalidadeTabelaAux2, String nomeParametroFuncionalidade2) { } public DadosTelaTabelaAuxiliar(String nomeParametroFuncionalidade2, TabelaAuxiliarAbstrata abstrata, String nomeParametroFuncionalidade3, String nomeParametroFuncionalidade4) { } /** * < <Descri��o do m�todo>> * * @param dados * Descri��o do par�metro */ protected static void adicionarDadosTela(DadosTelaTabelaAuxiliar dados) { String nomeCompletoClasse = dados.getTabelaAuxiliar().getClass() .getName(); String nomeClasse = nomeCompletoClasse.substring(nomeCompletoClasse .lastIndexOf(".") + 1, nomeCompletoClasse.length()); telas.put(nomeClasse.toLowerCase(), dados); } /** * Retorna o valor de dadosTela * * @param nome * Descri��o do par�metro * @return O valor de dadosTela */ public static DadosTelaTabelaAuxiliar getDadosTela(String nome) { return telas.get(nome.toLowerCase()); } /** * Retorna o valor de titulo * * @return O valor de titulo */ public String getTitulo() { return titulo; } /** * Retorna o valor de tabelaAuxiliar * * @return O valor de tabelaAuxiliar */ public TabelaAuxiliar getTabelaAuxiliar() { return tabela; } /** * Retorna o valor de funcionalidadeTabelaAuxManter * * @return O valor de funcionalidadeTabelaAuxManter */ public String getFuncionalidadeTabelaAuxManter() { return Funcionalidade.TABELA_AUXILIAR_MANTER + funcionalidadeTabelaAux; } /** * Retorna o valor de funcionalidadeTabelaAuxManter * * @return O valor de funcionalidadeTabelaAuxManter */ public String getFuncionalidadeTabelaAuxFiltrar() { return Funcionalidade.TABELA_AUXILIAR_FILTRAR + funcionalidadeTabelaAux; } /** * Retorna o valor de funcionalidadeTabelaAuxManter * * @return O valor de funcionalidadeTabelaAuxManter */ public String getFuncionalidadeTabelaAuxInserir() { return Funcionalidade.TABELA_AUXILIAR_INSERIR + funcionalidadeTabelaAux; } /** * Retorna o valor de funcionalidadeTabelaAuxManter * * @return O valor de funcionalidadeTabelaAuxManter */ public String getFuncionalidadeTabelaIndicadorManter() { return Funcionalidade.TABELA_AUXILIAR_INDICADOR_MANTER + funcionalidadeTabelaAux; } /** * Retorna o valor de funcionalidadeTabelaAuxManter * * @return O valor de funcionalidadeTabelaAuxManter */ public String getFuncionalidadeTabelaIndicadorFiltrar() { return Funcionalidade.TABELA_AUXILIAR_INDICADOR_FILTRAR + funcionalidadeTabelaAux; } /** * Retorna o valor de funcionalidadeTabelaAuxManter * * @return O valor de funcionalidadeTabelaAuxManter */ public String getFuncionalidadeTabelaIndicadorInserir() { return Funcionalidade.TABELA_AUXILIAR_INDICADOR_INSERIR + funcionalidadeTabelaAux; } /** * Retorna o valor de tamanhoMaximoCampo * * @return O valor de tamanhoMaximoCampo */ public int getTamanhoMaximoDescricao() { return HibernateUtil.getColumnSize(tabela.getClass(), "descricao"); } public String getNomeParametroFuncionalidade() { return nomeParametroFuncionalidade; } public void setNomeParametroFuncionalidade( String nomeParametroFuncionalidade) { this.nomeParametroFuncionalidade = nomeParametroFuncionalidade; } }