package gcom.gui.util.tabelaauxiliar.abreviada;
import gcom.arrecadacao.banco.Banco;
import gcom.atendimentopublico.LigacaoOrigem;
import gcom.atendimentopublico.ordemservico.EquipamentosEspeciais;
import gcom.cadastro.cliente.OrgaoExpedidorRg;
import gcom.cadastro.endereco.LogradouroTipo;
import gcom.cadastro.endereco.LogradouroTitulo;
import gcom.cadastro.geografico.UnidadeFederacao;
import gcom.cadastro.imovel.Despejo;
import gcom.cadastro.imovel.PavimentoRua;
import gcom.cadastro.localidade.Zeis;
import gcom.gui.Funcionalidade;
import gcom.gui.util.tabelaauxiliar.DadosTelaTabelaAuxiliar;
import gcom.micromedicao.hidrometro.HidrometroLocalArmazenagem;
import gcom.operacional.FonteCaptacao;
import gcom.operacional.SistemaAbastecimento;
import gcom.seguranca.transacao.Tabela;
import gcom.util.HibernateUtil;
import gcom.util.SistemaException;
import gcom.util.tabelaauxiliar.TabelaAuxiliar;
import gcom.util.tabelaauxiliar.abreviada.TabelaAuxiliarAbreviada;
import java.util.HashMap;
/**
* Title: GCOM
* Description: Sistema de Gest�o Comercial
* Copyright: Copyright (c) 2004
* Company: COMPESA - Companhia Pernambucana de Saneamento
* @version 1.0
*/
public class DadosTelaTabelaAuxiliarAbreviada extends DadosTelaTabelaAuxiliar {
private static HashMap telas = new HashMap();
private static HashMap configuracaoParametrosTelas = new HashMap();
/**
* 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 DadosTelaTabelaAuxiliarAbreviada obterDadosTelaTabelaAuxiliar(String nome) {
System.out.println("-----------Adicionando itens");
// Verifica se a funcionalidade desejada j� foi instanciada e j� est� no
// cache
if (!telas.containsKey(nome)) {
String[] configuracaoTela = (String[]) configuracaoParametrosTelas.get(nome);
try {
// Cria a inst�ncia do objeto DadosTelaTabelaAuxiliar
DadosTelaTabelaAuxiliarAbreviada dadosTela =
new DadosTelaTabelaAuxiliarAbreviada(configuracaoTela[1],
(TabelaAuxiliarAbreviada) 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();
}
} else {
// Se o a funcionalidade j� estiver no cache, ent�o ela � retornada
// sem a necessidade de passar pelo m�todo
return (DadosTelaTabelaAuxiliarAbreviada) telas.get(nome);
}
}
static {
configuracaoParametrosTelas.put("hidrometroLocalArmazenagem",
new String[] {
HidrometroLocalArmazenagem.class.getName(),
"Local de Armazenagem do Hidr�metro",
Funcionalidade.TELA_HIDROMETRO_LOCAL_ARMAZENAGEM });
configuracaoParametrosTelas.put("tipoPavimentoRua",
new String[] {
PavimentoRua.class.getName(),
"Tipo Pavimento Rua",
Funcionalidade.TELA_TIPO_PAVIMENTO_RUA });
configuracaoParametrosTelas.put("zeis",
new String[] {
Zeis.class.getName(),
"Zeis",
Funcionalidade.TELA_ZEIS });
configuracaoParametrosTelas.put("sistemaAbastecimento",
new String[] {
SistemaAbastecimento.class.getName(),
"Sistema de Abastecimento",
Funcionalidade.TELA_SISTEMA_ABASTECIMENTO });
configuracaoParametrosTelas.put("despejo",
new String[] {
Despejo.class.getName(),
"Despejo",
Funcionalidade.TELA_DESPEJO });
configuracaoParametrosTelas.put("orgaoExpeditorRg",
new String[] {
OrgaoExpedidorRg.class.getName(),
"�rgao Expeditor do RG",
Funcionalidade.TELA_ORGAO_EXPEDITOR_RG });
configuracaoParametrosTelas.put("unidadeFederacao",
new String[] {
UnidadeFederacao.class.getName(),
"Unidade da Federa��o",
Funcionalidade.TELA_UNIDADE_FEDERACAO });
configuracaoParametrosTelas.put("equipamentosEspeciais",
new String[] {
EquipamentosEspeciais.class.getName(),
"Equipamento Especial",
Funcionalidade.TELA_EQUIPAMENTOS_ESPECIAIS});
configuracaoParametrosTelas.put("banco",
new String[] {
Banco.class.getName(),
"Banco",
Funcionalidade.TELA_BANCO});
configuracaoParametrosTelas.put("tabela",
new String[] {
Tabela.class.getName(),
"Tabela",
Funcionalidade.TELA_TABELA });
configuracaoParametrosTelas.put("sistemaAbastecimento",
new String[] {
SistemaAbastecimento.class.getName(),
"Sistema de Abastecimento",
Funcionalidade.TELA_SISTEMA_ABASTECIMENTO });
configuracaoParametrosTelas.put("ligacaoOrigem",
new String[] {
LigacaoOrigem.class.getName(),
"Origem da Liga��o",
Funcionalidade.TELA_LIGACAO_ORIGEM });
configuracaoParametrosTelas.put("logradouroTipo",
new String[] {
LogradouroTipo.class.getName(),
"Tipo do Logradouro",
Funcionalidade.TELA_LOGRADOURO_TIPO });
configuracaoParametrosTelas.put("tituloLogradouro",
new String[] {
LogradouroTitulo.class.getName(),
"Titulo do Logradouro",
Funcionalidade.TELA_LOGRADOURO_TITULO });
configuracaoParametrosTelas.put("fonteCaptacao",
new String[] {
FonteCaptacao.class.getName(),
"Fonte de Capta��o",
Funcionalidade.TELA_FONTE_CAPTACAO });
}
/**
* Construtor da classe DadosTelaTabelaAuxiliarAbreviada
*
* @param titulo
* Descri��o do par�metro
* @param tabela
* Descri��o do par�metro
* @param funcionalidadeTabelaAux
* Descri��o do par�metro
*/
protected DadosTelaTabelaAuxiliarAbreviada(String titulo,
TabelaAuxiliar tabela, String funcionalidadeTabelaAux,
String nomeParametroFuncionalidade) {
super(titulo, tabela, funcionalidadeTabelaAux,
nomeParametroFuncionalidade);
}
/**
* < <Descri��o do m�todo>>
*
* @param dados
* Descri��o do par�metro
*/
public static void adicionarDadosTela(DadosTelaTabelaAuxiliar dados) {
DadosTelaTabelaAuxiliar.adicionarDadosTela(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 DadosTelaTabelaAuxiliar.getDadosTela(nome);
}
/**
* M�todo sobrescrito que retorna o valor de funcionalidadeTabelaAuxManter
*
* @return O valor de funcionalidadeTabelaAuxManter
*/
public String getFuncionalidadeTabelaAuxManter() {
return super.getFuncionalidadeTabelaAuxManter().replaceAll(
Funcionalidade.TABELA_AUXILIAR_MANTER,
Funcionalidade.TABELA_AUXILIAR_ABREVIADA_MANTER);
}
/**
* M�todo sobrescrito que retorna o valor de funcionalidadeTabelaAuxManter
*
* @return O valor de funcionalidadeTabelaAuxManter
*/
public String getFuncionalidadeTabelaAuxFiltrar() {
return super.getFuncionalidadeTabelaAuxFiltrar().replaceAll(
Funcionalidade.TABELA_AUXILIAR_FILTRAR,
Funcionalidade.TABELA_AUXILIAR_ABREVIADA_FILTRAR);
}
/**
* M�todo sobrescrito que retorna o valor de funcionalidadeTabelaAuxManter
*
* @return O valor de funcionalidadeTabelaAuxManter
*/
public String getFuncionalidadeTabelaAuxInserir() {
return super.getFuncionalidadeTabelaAuxInserir().replaceAll(
Funcionalidade.TABELA_AUXILIAR_INSERIR,
Funcionalidade.TABELA_AUXILIAR_ABREVIADA_INSERIR);
}
/**
* Retorna o valor de tamanhoMaximoCampo
*
* @return O valor de tamanhoMaximoCampo
*/
public int getTamanhoMaximoDescricaoAbreviada() {
return HibernateUtil.getColumnSize(this.getTabelaAuxiliar().getClass(),
"descricaoAbreviada");
}
/**
* Retorna o valor de tabelaAuxiliar
*
* @return O valor de tabelaAuxiliar
*/
public TabelaAuxiliar getTabela() {
return super.getTabelaAuxiliar();
}
}