package gcom.gui.atendimentopublico.ordemservico; import gcom.atendimentopublico.ordemservico.ArquivoTextoAcompanhamentoServico; import gcom.atendimentopublico.ordemservico.FiltroArquivoTextoAcompanhamentoServico; import gcom.atendimentopublico.ordemservico.FiltroMensagemAcompanhamentoServico; import gcom.atendimentopublico.ordemservico.MensagemAcompanhamentoServico; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; /** * [UC12008] Cadastrar Mensagens de Acompanhamento de Servi�os Fluxo Principal: * Item 2 * * @author Magno Gouveia * @since 11/08/2011 */ public class ExibirCadastrarMensagemAcompanhamentoServicoPopupAction extends GcomAction { public static final String LIMPAR_FORM_PARAMETER = "limpar"; public static final String LIMPAR_FORM_PARAMETER_RESPONSE = "ok"; @Override public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception { ActionForward retorno = actionMapping.findForward("exibirCadastrarMensagemAcompanhamentoServico"); Fachada fachada = Fachada.getInstancia(); CadastrarMensagemAcompanhamentoServicoPopupActionForm form = (CadastrarMensagemAcompanhamentoServicoPopupActionForm) actionForm; /* * limpa o formul�rio */ if (httpServletRequest.getParameter(LIMPAR_FORM_PARAMETER) != null && httpServletRequest.getParameter(LIMPAR_FORM_PARAMETER).equals(LIMPAR_FORM_PARAMETER_RESPONSE)) { form.setIds(null); form.setMensagem(null); } ArquivoTextoAcompanhamentoServico arquivoTextoAcompanhamentoServico = null; if (this.isValidParameterRequest(httpServletRequest, CadastrarMensagemAcompanhamentoServicoPopupAction.TXAC_ID_PARAMETER)) { FiltroArquivoTextoAcompanhamentoServico filtroArquivoTextoAcompanhamentoServico = new FiltroArquivoTextoAcompanhamentoServico(); filtroArquivoTextoAcompanhamentoServico.adicionarParametro(new ParametroSimples(FiltroArquivoTextoAcompanhamentoServico.ID, httpServletRequest.getParameter(CadastrarMensagemAcompanhamentoServicoPopupAction.TXAC_ID_PARAMETER))); filtroArquivoTextoAcompanhamentoServico.adicionarCaminhoParaCarregamentoEntidade("equipe"); filtroArquivoTextoAcompanhamentoServico.adicionarCaminhoParaCarregamentoEntidade("situacaoTransmissaoLeitura"); arquivoTextoAcompanhamentoServico = (ArquivoTextoAcompanhamentoServico) Util.retonarObjetoDeColecao(fachada.pesquisar(filtroArquivoTextoAcompanhamentoServico, ArquivoTextoAcompanhamentoServico.class.getName())); } if (arquivoTextoAcompanhamentoServico == null) { throw new ActionServletException( "atencao.naocadastrado", null, "Arquivo de Acompanhamento de Roteiro"); } if (arquivoTextoAcompanhamentoServico.getSituacaoTransmissaoLeitura() != null && arquivoTextoAcompanhamentoServico.getSituacaoTransmissaoLeitura().getDescricaoSituacao() != null) { httpServletRequest.setAttribute("situacaoTransmissaoLeitura", arquivoTextoAcompanhamentoServico.getSituacaoTransmissaoLeitura().getDescricaoSituacao()); } else { throw new ActionServletException( "atencao.naocadastrado", null, "Situa��o Transmiss�o Leitura"); } if (arquivoTextoAcompanhamentoServico.getEquipe() != null && arquivoTextoAcompanhamentoServico.getEquipe().getNome() != null) { httpServletRequest.setAttribute("equipe", arquivoTextoAcompanhamentoServico.getEquipe().getNome()); } else { throw new ActionServletException( "atencao.naocadastrado", null, "Equipe"); } FiltroMensagemAcompanhamentoServico filtro = new FiltroMensagemAcompanhamentoServico(); filtro.adicionarParametro(new ParametroSimples( FiltroMensagemAcompanhamentoServico.ARQUIVO_TEXTO_ACOMPANHAMENTO_SERVICO_ID, httpServletRequest.getParameter(CadastrarMensagemAcompanhamentoServicoPopupAction.TXAC_ID_PARAMETER))); filtro.adicionarCaminhoParaCarregamentoEntidade(FiltroMensagemAcompanhamentoServico.ARQUIVO_TEXTO_ACOMPANHAMENTO_SERVICO); filtro.adicionarCaminhoParaCarregamentoEntidade(FiltroMensagemAcompanhamentoServico.USUARIO); Collection<MensagemAcompanhamentoServico> mensagens = fachada.pesquisar(filtro, MensagemAcompanhamentoServico.class.getName()); if (!Util.isVazioOrNulo(mensagens)) { httpServletRequest.setAttribute("colecaoMensagens", mensagens); } return retorno; } /** * M�todo respons�vel por verificar se o par�metro foi enviado e se este � * um inteiro, j� que os par�metros devem ser id * * @param httpServletRequest * @param paramName * @return true caso o parametro recebido seja um inteiro v�lido */ private boolean isValidParameterRequest(HttpServletRequest httpServletRequest, String paramName) { boolean retorno = false; if (httpServletRequest.getParameter(paramName) != null && httpServletRequest.getParameter(paramName).trim().length() != 0) { Integer paramValue = Util.converterStringParaInteger((String) httpServletRequest.getParameter(paramName)); if (paramValue != null) { retorno = true; } else { throw new ActionServletException( "atencao.invalido_zero", paramName); } } else { throw new ActionServletException( "atencao.naoinformado", paramName); } return retorno; } }