package gcom.gui.cadastro.imovel; import gcom.cadastro.imovel.FiltroImovelDoacao; import gcom.cadastro.imovel.ImovelDoacao; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.gui.ManutencaoRegistroActionForm; import gcom.seguranca.acesso.Operacao; import gcom.seguranca.acesso.OperacaoEfetuada; import gcom.seguranca.acesso.usuario.Usuario; import gcom.util.filtro.ParametroSimples; import java.util.Date; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; /** * [UC0389] - Inserir Im�vel Doa��o Action respons�vel pela pre-exibi��o da * pagina de inserir ImovelDoacao * * @author C�sar Ara�jo * @created 22 de agosto de 2006 */ public class CancelarImovelDoacaoAction extends GcomAction { /** * Description of the Method * * @param actionMapping * Description of the Parameter * @param actionForm * Description of the Parameter * @param httpServletRequest * Description of the Parameter * @param httpServletResponse * Description of the Parameter * @return Description of the Return Value */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { /*** Declara e inicializa vari�veis ***/ Fachada fachada = null; HttpSession sessao = null; ActionForward retorno = null; String[] idsCancelamento = null; ImovelDoacao imovelDoacao = null; Usuario usuarioCancelamento = null; FiltroImovelDoacao filtroImovelDoacao = null; Integer contadorImovelDoacaoCancelados = null; ManutencaoRegistroActionForm manutencaoRegistroActionForm = null; /*** Procedimentos b�sicos para execu��o do m�todo ***/ retorno = actionMapping.findForward("telaSucesso"); manutencaoRegistroActionForm = (ManutencaoRegistroActionForm) actionForm; fachada = Fachada.getInstancia(); sessao = httpServletRequest.getSession(false); /*** Obt�m os ids para cancelamento ***/ idsCancelamento = manutencaoRegistroActionForm.getIdRegistrosRemocao(); /*** Avalia se existem ids de imovel doacao v�lidos ***/ if (idsCancelamento.length == 0) { throw new ActionServletException("atencao.manter_imovel_doacao_nenhuma_entidade_beneficente_selecionada"); } /*** Cria filtro imovel doacao***/ filtroImovelDoacao = new FiltroImovelDoacao(); contadorImovelDoacaoCancelados = new Integer(0); /** alterado por pedro alexandre dia 17/11/2006 * Recupera o usu�rio logado para passar no met�do de cancelar * para verificar se o usu�rio tem abrang�ncia para cancelar a doa��o */ Usuario usuarioLogado = (Usuario)sessao.getAttribute(Usuario.USUARIO_LOGADO); /*** Manipula cada um dos ids de imovel doacao para cancelamento ***/ for (String idCancelamento: idsCancelamento) { /*** Prepara o filtro para pesquisar o respectivo imovel doacao na base ***/ filtroImovelDoacao.limparListaParametros(); filtroImovelDoacao.adicionarParametro(new ParametroSimples(FiltroImovelDoacao.ID, idCancelamento)); filtroImovelDoacao.adicionarCaminhoParaCarregamentoEntidade("imovel"); imovelDoacao = (ImovelDoacao)fachada.pesquisar(filtroImovelDoacao, ImovelDoacao.class.getName()).iterator().next(); /*** Cria e atribui o usu�rio de cancelamento ***/ usuarioCancelamento = new Usuario(); usuarioCancelamento.setId(((Usuario)sessao.getAttribute("usuarioLogado")).getId()); /*** Atribui os dados que ser�o atualizados para o imovel doacao ***/ imovelDoacao.setDataCancelamento(new Date()); imovelDoacao.setUsuarioCancelamento(usuarioCancelamento); fachada.atualizarImovelDoacao(imovelDoacao, usuarioLogado); contadorImovelDoacaoCancelados += 1; } Operacao operacao = new Operacao(); operacao.setId(Operacao.OPERACAO_CATEGORIA_INSERIR); OperacaoEfetuada operacaoEfetuada = new OperacaoEfetuada(); operacaoEfetuada.setOperacao(operacao); //------------ REGISTRAR TRANSA��O ----------------// /*** Monta tela de sucesso ***/ montarPaginaSucesso(httpServletRequest, contadorImovelDoacaoCancelados+" Autoriza��o(�es) para Doa��o Mensal do Im�vel "+imovelDoacao.getImovel().getId().toString()+" cancelada(s) com sucesso.", "Cancelar outra Autoriza��o para Doa��o Mensal", "exibirManterImovelDoacaoAction.do"); return retorno; } }