package gcom.gui.cadastro.cliente; import gcom.cadastro.cliente.Cliente; import gcom.cadastro.cliente.FiltroCliente; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.gui.ManutencaoRegistroActionForm; import gcom.interceptor.RegistradorOperacao; import gcom.seguranca.acesso.Operacao; import gcom.seguranca.acesso.usuario.Usuario; import gcom.seguranca.acesso.usuario.UsuarioAcao; import gcom.seguranca.acesso.usuario.UsuarioAcaoUsuarioHelper; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import java.util.List; 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; public class RemoverClienteAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ManutencaoRegistroActionForm manutencaoRegistroActionForm = (ManutencaoRegistroActionForm) actionForm; HttpSession sessao = httpServletRequest.getSession(false); Usuario usuario = (Usuario) sessao.getAttribute("usuarioLogado"); String[] ids = manutencaoRegistroActionForm.getIdRegistrosRemocao(); ActionForward retorno = actionMapping.findForward("telaSucesso"); Fachada fachada = Fachada.getInstancia(); // mensagem de erro quando o usu�rio tenta excluir sem ter selecionado nenhum registro if (ids == null || ids.length == 0) { throw new ActionServletException("atencao.registros.nao_selecionados"); } FiltroCliente filtroCliente = new FiltroCliente(); for(int i = 0; i < ids.length; i++){ filtroCliente.limparListaParametros(); filtroCliente.adicionarParametro(new ParametroSimples(FiltroCliente.ID, ids[i])); Collection colecaoCliente = fachada.pesquisar(filtroCliente, Cliente.class.getName()); Cliente clienteNaBase = (Cliente) ((List)colecaoCliente).get(0); RegistradorOperacao registradorOperacao = new RegistradorOperacao( Operacao.OPERACAO_CLIENTE_REMOVER, new Integer(ids[i]), new Integer(ids[i]), new UsuarioAcaoUsuarioHelper(usuario, UsuarioAcao.USUARIO_ACAO_EFETUOU_OPERACAO)); registradorOperacao.registrarOperacao(clienteNaBase); fachada.remover(clienteNaBase); } if (retorno.getName().equalsIgnoreCase("telaSucesso")) { montarPaginaSucesso(httpServletRequest, ids.length + " Cliente(s) removido(s) com sucesso", "Realizar outra Manuten��o de Cliente", "exibirManterClienteAction.do?menu=sim"); } return retorno; } }