package gcom.cadastro.atualizacaocadastral.command; import gcom.atualizacaocadastral.ControladorAtualizacaoCadastralLocal; import gcom.cadastro.IRepositorioCadastro; import gcom.cadastro.atualizacaocadastral.validador.ValidadorTamanhoLinhaAnormalidadeCommand; import gcom.cadastro.cliente.ControladorClienteLocal; import gcom.cadastro.endereco.ControladorEnderecoLocal; import gcom.cadastro.imovel.CadastroOcorrencia; import gcom.cadastro.imovel.FiltroCadastroOcorrencia; import gcom.cadastro.imovel.IRepositorioImovel; import gcom.seguranca.transacao.ControladorTransacaoLocal; import gcom.util.ControladorException; import gcom.util.ControladorUtilLocal; import gcom.util.ParserUtil; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import java.util.Map; public class ParseAnormalidadeCommand extends AbstractAtualizacaoCadastralCommand { public ParseAnormalidadeCommand(ParserUtil parser, IRepositorioCadastro repositorioCadastro, ControladorUtilLocal controladorUtil, ControladorTransacaoLocal controladorTransacao, IRepositorioImovel repositorioImovel, ControladorEnderecoLocal controladorEndereco, ControladorAtualizacaoCadastralLocal controladorImovel, ControladorClienteLocal controladorCliente) { super(parser, repositorioCadastro, controladorUtil, controladorTransacao, repositorioImovel, controladorEndereco, controladorImovel, controladorCliente); } public void execute(AtualizacaoCadastral atualizacao) throws Exception { Map<String, String> linha = atualizacao.getImovelAtual().getLinhaAnormalidade(); AtualizacaoCadastralImovel imovel = atualizacao.getImovelAtual(); new ValidadorTamanhoLinhaAnormalidadeCommand(parser, imovel, linha).execute(); if(!imovel.isErroLayout()) { String matriculaImovelAnormalidade = parser.obterDadoParser(9).trim(); linha.put("matriculaImovelAnormalidade", matriculaImovelAnormalidade); String codigoAnormalidade = parser.obterDadoParser(3).trim(); linha.put("codigoAnormalidade", codigoAnormalidade); String comentario = parser.obterDadoParser(200).trim(); linha.put("comentario", comentario); String pathFoto1 = parser.obterDadoParser(30).trim(); linha.put("pathFoto1", pathFoto1); String pathFoto2 = parser.obterDadoParser(30).trim(); linha.put("pathFoto2", pathFoto2); String latitude = parser.obterDadoParser(20).trim(); linha.put("latitude", latitude); String longitude = parser.obterDadoParser(20).trim(); linha.put("longitude", longitude); String dataServico = parser.obterDadoParser(26).trim(); linha.put("dataServico", dataServico); String tipoEntrevistado = parser.obterDadoParser(20).trim(); linha.put("tipoEntrevistado", tipoEntrevistado); validarCodigoAnormalidade(atualizacao.getImovelAtual()); } } private void validarCodigoAnormalidade(AtualizacaoCadastralImovel imovelAtual) throws ControladorException { FiltroCadastroOcorrencia filtroCadastroOcorrencia = new FiltroCadastroOcorrencia(); filtroCadastroOcorrencia.adicionarParametro(new ParametroSimples(FiltroCadastroOcorrencia.ID, Integer.parseInt(imovelAtual.getLinhaAnormalidade("codigoAnormalidade")))); Collection pesquisa = controladorUtil.pesquisar(filtroCadastroOcorrencia, CadastroOcorrencia.class.getName()); if (pesquisa != null && !pesquisa.isEmpty()) { imovelAtual.setCadastroOcorrencia((CadastroOcorrencia) Util.retonarObjetoDeColecao(pesquisa)); } else { imovelAtual.addMensagemErro("C�digo de Anormalidade Inv�lido"); } } }