package gcom.gui.cadastro.cliente; import gcom.cadastro.cliente.ClienteFone; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.ConstantesSistema; 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; import org.apache.struts.validator.DynaValidatorForm; /** * Description of the Class * * @author Rodrigo */ public class AtualizarClienteTelefoneAction 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) { // localiza o action no objeto actionmapping ActionForward retorno = null; HttpSession sessao = httpServletRequest.getSession(false); DynaValidatorForm clienteActionForm = (DynaValidatorForm) actionForm; Collection colecaoFones = (Collection) sessao .getAttribute("colecaoClienteFone"); clienteActionForm.set("botaoAdicionar", ""); clienteActionForm.set("botaoClicado", ""); clienteActionForm.set("ddd", ""); clienteActionForm.set("telefone", ""); clienteActionForm.set("idTipoTelefone", ""); clienteActionForm.set("idMunicipio", ""); clienteActionForm.set("ramal", ""); clienteActionForm.set("descricaoMunicipio", ""); if ( colecaoFones != null && !colecaoFones.isEmpty()) { // Radio que indica qual o telefone principal Long indicadorTelefonePadrao = (Long) clienteActionForm .get("indicadorTelefonePadrao"); // Se o telefone padr�o for escolhido ent�o o objeto deve ser alterado if (indicadorTelefonePadrao != null) { Iterator iterator = colecaoFones.iterator(); // Varre a colec�o para descobrir o objeto que tem o telefone principal while (iterator.hasNext()) { ClienteFone clienteFone = (ClienteFone) iterator.next(); if (obterTimestampIdObjeto(clienteFone) == indicadorTelefonePadrao.longValue()) { // Indica que o objeto possui o telefone principal clienteFone .setIndicadorTelefonePadrao(ConstantesSistema.INDICADOR_TELEFONE_PRINCIPAL); } else { // Indica que o objeto n�o possui o telefone principal clienteFone .setIndicadorTelefonePadrao(ConstantesSistema.INDICADOR_NAO_TELEFONE_PRINCIPAL); } } } else { // Nenhum telefone foi indicado como principal Mostra o erro throw new ActionServletException( "atencao.telefone_principal.nao_selecionado"); } } return retorno; } }