package gcom.gui.cadastro.tarifasocial; import gcom.cadastro.tarifasocial.FiltroTarifaSocialExclusaoMotivo; import gcom.cadastro.tarifasocial.TarifaSocialDadoEconomia; import gcom.cadastro.tarifasocial.TarifaSocialExclusaoMotivo; import gcom.cadastro.tarifasocial.bean.TarifaSocialHelper; import gcom.fachada.Fachada; import gcom.gui.GcomAction; import gcom.util.ConstantesSistema; import gcom.util.filtro.ParametroSimples; import java.util.ArrayList; 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; /** * @author Rafael Corr�a * @since 16/01/2007 */ public class ExibirRemoverTarifaSocialAction extends GcomAction { /** * * @param actionMapping * @param actionForm * @param httpServletRequest * @param httpServletResponse * @return */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o mapeamento de retorno ActionForward retorno = actionMapping.findForward("remover"); Fachada fachada = Fachada.getInstancia(); // Pega uma instancia da sessao HttpSession sessao = httpServletRequest.getSession(false); FiltroTarifaSocialExclusaoMotivo filtroTarifaSocialExclusaoMotivo = new FiltroTarifaSocialExclusaoMotivo(); filtroTarifaSocialExclusaoMotivo .adicionarParametro(new ParametroSimples( FiltroTarifaSocialExclusaoMotivo.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroTarifaSocialExclusaoMotivo.setCampoOrderBy(FiltroTarifaSocialExclusaoMotivo.DESCRICAO); Collection colecaoTarifaSocialExclusaoMotivo = fachada.pesquisar( filtroTarifaSocialExclusaoMotivo, TarifaSocialExclusaoMotivo.class.getName()); sessao.setAttribute("colecaoTarifaSocialExclusaoMotivo", colecaoTarifaSocialExclusaoMotivo); String idTarifaSocialDadoEconomia = httpServletRequest .getParameter("idTarifaSocial"); if (sessao.getAttribute("colecaoTarifasSociaisRecadastradas") != null) { Collection colecaoTarifasSociaisRecadastradas = (Collection) sessao .getAttribute("colecaoTarifasSociaisRecadastradas"); if (!colecaoTarifasSociaisRecadastradas.isEmpty()) { Iterator colecaoTarifasSociaisRecadastradasIterator = colecaoTarifasSociaisRecadastradas .iterator(); while (colecaoTarifasSociaisRecadastradasIterator.hasNext()) { TarifaSocialDadoEconomia tarifaSocialDadoEconomia = (TarifaSocialDadoEconomia) colecaoTarifasSociaisRecadastradasIterator .next(); if (tarifaSocialDadoEconomia.getId().equals( new Integer(idTarifaSocialDadoEconomia))) { colecaoTarifasSociaisRecadastradas .remove(tarifaSocialDadoEconomia); sessao.setAttribute( "colecaoTarifasSociaisRecadastradas", colecaoTarifasSociaisRecadastradas); ArrayList colecaoTarifaSocialHelper = (ArrayList) sessao .getAttribute("colecaoTarifaSocialHelper"); if (colecaoTarifaSocialHelper != null && !colecaoTarifaSocialHelper.isEmpty()) { Iterator colecaoTarifaSocialHelperIterator = colecaoTarifaSocialHelper .iterator(); int i = 0; while (colecaoTarifaSocialHelperIterator.hasNext()) { TarifaSocialHelper tarifaSocialHelper = (TarifaSocialHelper) colecaoTarifaSocialHelperIterator .next(); if (tarifaSocialHelper .getTarifaSocialDadoEconomia().getId() .toString().equals( idTarifaSocialDadoEconomia)) { tarifaSocialDadoEconomia = tarifaSocialHelper .getTarifaSocialDadoEconomia(); TarifaSocialExclusaoMotivo tarifaSocialExclusaoMotivo = new TarifaSocialExclusaoMotivo(); tarifaSocialDadoEconomia .setTarifaSocialExclusaoMotivo(tarifaSocialExclusaoMotivo); tarifaSocialHelper .setTarifaSocialDadoEconomia(tarifaSocialDadoEconomia); colecaoTarifaSocialHelper.set(i, tarifaSocialHelper); sessao.setAttribute("atualizar", true); break; } i++; } } httpServletRequest.setAttribute("fecharPopup", true); sessao.setAttribute("atualizar", true); break; } } } } sessao.setAttribute("idTarifaSocial", idTarifaSocialDadoEconomia); return retorno; } }