package gcom.gui.faturamento; import gcom.faturamento.FaturamentoAtivCronRota; import gcom.gui.GcomAction; import java.util.Collection; import java.util.Iterator; 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 RemoverSelecaoRotaUniaoAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o retorno ActionForward retorno = actionMapping .findForward("atualizarComandoAtividadeFaturamentoDataVencimento"); // Obt�m a sess�o HttpSession sessao = httpServletRequest.getSession(false); // Formul�rio de pesquisa InserirComandoAtividadeFaturamentoActionForm inserirComandoAtividadeFaturamentoActionForm = (InserirComandoAtividadeFaturamentoActionForm) actionForm; if (sessao .getAttribute("colecaoFaturamentoAtividadeCronogramaRotaUniao") != null) { // Cole��o retornada pela pesquisa Collection colecaoFaturamentoAtividadeCronogramaRotaUniao = (Collection) sessao .getAttribute("colecaoFaturamentoAtividadeCronogramaRotaUniao"); // Cole��o que ir� ser gerada a partir da sele��o efetuada pelo // usu�rio // Collection colecaoRotasSelecionadasUsuario = new Vector(); if (inserirComandoAtividadeFaturamentoActionForm.getIdRotaSelecao() != null) { Iterator colecaoFaturamentoAtividadeCronogramaRotaUniaoIterator; FaturamentoAtivCronRota faturamentoAtivCronRota; int indexArray = 0; Integer rotaID; // Rotas selecionadas pelo usu�rio para serem removidas da // sess�o String[] rotasSelecionadas = inserirComandoAtividadeFaturamentoActionForm .getIdRotaSelecao(); while (rotasSelecionadas.length > indexArray) { rotaID = new Integer(rotasSelecionadas[indexArray]); colecaoFaturamentoAtividadeCronogramaRotaUniaoIterator = colecaoFaturamentoAtividadeCronogramaRotaUniao .iterator(); while (colecaoFaturamentoAtividadeCronogramaRotaUniaoIterator .hasNext()) { faturamentoAtivCronRota = (FaturamentoAtivCronRota) colecaoFaturamentoAtividadeCronogramaRotaUniaoIterator .next(); if (faturamentoAtivCronRota.getRota().getId().equals( rotaID)) { colecaoFaturamentoAtividadeCronogramaRotaUniao .remove(faturamentoAtivCronRota); break; } } indexArray++; } //Ser� utilizado para verificar se houve alguma remo��o na cole��o httpServletRequest.setAttribute("remocaoRealizada", "OK"); } } // devolve o mapeamento de retorno return retorno; } }