package gcom.gui.atendimentopublico.registroatendimento; 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 gcom.atendimentopublico.registroatendimento.RegistroAtendimentoAnexo; import gcom.gui.GcomAction; /** * Esta classe tem por finalidade exibir para o usu�rio a tela que receber� os par�metros para realiza��o * da atualiza��o da observa��o de um arquivo anexo ao RA (Aba n� 04 - Anexos) * * @author Raphael Rossiter * @date 06/08/2009 */ public class ExibirAtualizarRegistroAtendimentoObservacaoArquivoAnexoAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping.findForward("atualizarRegistroAtendimentoObservacaoArquivoAnexoAction"); HttpSession sessao = httpServletRequest.getSession(false); AtualizarRegistroAtendimentoObservacaoArquivoAnexoActionForm form = (AtualizarRegistroAtendimentoObservacaoArquivoAnexoActionForm) actionForm; String idRegistroAtendimentoAnexo = httpServletRequest.getParameter("idRegistroAtendimentoAnexo"); String acaoAtualizar = httpServletRequest.getParameter("acaoAtualizar"); RegistroAtendimentoAnexo registroAtendimentoAnexo = this.obterArquivoParaVisualizacao( idRegistroAtendimentoAnexo, sessao); if (registroAtendimentoAnexo != null){ form.setIdRegistroAtendimentoAnexo(String.valueOf(GcomAction.obterTimestampIdObjeto(registroAtendimentoAnexo))); form.setObservacaoAnexoAtualizacao(registroAtendimentoAnexo.getDescricaoDocumento()); } //ATUALIZANDO OBSERVA��O this.atualizarObservacao(form.getIdRegistroAtendimentoAnexo(), sessao, acaoAtualizar, form.getObservacaoAnexoAtualizacao(), httpServletRequest); //MONTANDO URL DE RETORNO if (httpServletRequest.getParameter("telaRetorno") != null){ sessao.setAttribute("telaRetorno", (String.valueOf(httpServletRequest.getParameter("telaRetorno"))) + ".do"); } httpServletRequest.setAttribute("nomeCampo", "observacaoAnexoAtualizacao"); return retorno; } /** * Obter arquivo para atualiza��o da observa��o * * @author Raphael Rossiter * @date 06/08/2009 * * @param String * @param HttpSession */ private RegistroAtendimentoAnexo obterArquivoParaVisualizacao(String identificacao, HttpSession sessao){ RegistroAtendimentoAnexo registroAtendimentoAnexo = null; if (identificacao != null && !identificacao.equals("")){ Collection colecaoRegistroAtendimentoAnexo = (Collection) sessao.getAttribute("colecaoRegistroAtendimentoAnexo"); Iterator it = colecaoRegistroAtendimentoAnexo.iterator(); RegistroAtendimentoAnexo anexoColecao = null; while (it.hasNext()){ anexoColecao = (RegistroAtendimentoAnexo) it.next(); if (obterTimestampIdObjeto(anexoColecao) == Long.parseLong(identificacao)){ registroAtendimentoAnexo = anexoColecao; break; } } } return registroAtendimentoAnexo; } /** * Atualizar observa��o * * @author Raphael Rossiter * @date 06/08/2009 * * @param String * @param HttpSession */ private void atualizarObservacao(String identificacao, HttpSession sessao, String acaoAtualizar, String observacao, HttpServletRequest httpServletRequest){ if (acaoAtualizar != null && !acaoAtualizar.equals("")){ Collection colecaoRegistroAtendimentoAnexo = (Collection) sessao.getAttribute("colecaoRegistroAtendimentoAnexo"); Iterator it = colecaoRegistroAtendimentoAnexo.iterator(); RegistroAtendimentoAnexo anexoColecao = null; while (it.hasNext()){ anexoColecao = (RegistroAtendimentoAnexo) it.next(); if (obterTimestampIdObjeto(anexoColecao) == Long.parseLong(identificacao)){ anexoColecao.setDescricaoDocumento(observacao); break; } } httpServletRequest.setAttribute("reloadPage", "OK"); } } }