package gcom.gui.cadastro.tarifasocial; import gcom.cadastro.cliente.Cliente; import gcom.cadastro.cliente.ClienteImovelEconomia; import gcom.cadastro.tarifasocial.bean.TarifaSocialHelper; import gcom.gui.GcomAction; 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; /** * < <Descri��o da Classe>> * * @author rodrigo */ public class ConcluirAlteracaoDadosTarifaSocialAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping.findForward("exibirAtualizarDadosTarifaSocial"); // Pega uma instancia da sessao HttpSession sessao = httpServletRequest.getSession(false); TarifaSocialHelper tarifaSocialHelperAtualizar = (TarifaSocialHelper) sessao.getAttribute("tarifaSocialHelperAtualizar"); Collection colecaoTarifaSocialHelperAtualizar = null; if (sessao.getAttribute("colecaoTarifaSocialHelperAtualizar") != null) { colecaoTarifaSocialHelperAtualizar = (Collection) sessao.getAttribute("colecaoTarifaSocialHelperAtualizar"); } else { colecaoTarifaSocialHelperAtualizar = new ArrayList(); } colecaoTarifaSocialHelperAtualizar.add(tarifaSocialHelperAtualizar); sessao.setAttribute("colecaoTarifaSocialHelperAtualizar", colecaoTarifaSocialHelperAtualizar); ArrayList colecaoTarifaSocialHelper = (ArrayList) sessao.getAttribute("colecaoTarifaSocialHelper"); Iterator colecaoTarifaSocialHelperIterator = colecaoTarifaSocialHelper.iterator(); if (sessao.getAttribute("colecaoClienteImovel") != null) { Collection colecaoClienteImovel = (Collection) sessao.getAttribute("colecaoClienteImovel"); tarifaSocialHelperAtualizar.setColecaoClientesImoveis(colecaoClienteImovel); } else if (sessao.getAttribute("colecaoClienteImovelEconomia") != null) { Collection colecaoClienteImovelEconomia = (Collection) sessao.getAttribute("colecaoClienteImovelEconomia"); tarifaSocialHelperAtualizar.setColecaoClientesImoveisEconomias(colecaoClienteImovelEconomia); } int i = 0; while (colecaoTarifaSocialHelperIterator.hasNext()) { TarifaSocialHelper tarifaSocialHelper = (TarifaSocialHelper) colecaoTarifaSocialHelperIterator .next(); // Uma Economia if (tarifaSocialHelperAtualizar.getClienteImovel() != null) { colecaoTarifaSocialHelper.set(i, tarifaSocialHelperAtualizar); sessao.setAttribute("clienteImovel", tarifaSocialHelperAtualizar.getClienteImovel()); break; } // M�ltiplas Economias else if (tarifaSocialHelperAtualizar.getClienteImovelEconomia() != null) { if (tarifaSocialHelper.getClienteImovelEconomia() .getImovelEconomia().getId().equals( tarifaSocialHelperAtualizar .getClienteImovelEconomia() .getImovelEconomia().getId())) { if (tarifaSocialHelperAtualizar.getClienteImovelEconomia().getCliente() == null) { Cliente cliente = tarifaSocialHelper.getClienteImovelEconomia().getCliente(); ClienteImovelEconomia clienteImovelEconomia = tarifaSocialHelperAtualizar.getClienteImovelEconomia(); clienteImovelEconomia.setCliente(cliente); tarifaSocialHelperAtualizar.setClienteImovelEconomia(clienteImovelEconomia); } colecaoTarifaSocialHelper.set(i, tarifaSocialHelperAtualizar); break; } } i++; } sessao.setAttribute("colecaoTarifaSocialHelper", colecaoTarifaSocialHelper); sessao.setAttribute("atualizar", true); httpServletRequest.setAttribute("fechar", true); return retorno; } }