package gcom.gui.seguranca.acesso; import gcom.fachada.Fachada; import gcom.gui.GcomAction; import gcom.gui.StatusWizard; import gcom.seguranca.acesso.FiltroGrupo; import gcom.seguranca.acesso.Grupo; import gcom.util.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.Collection; 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; /** * Action respons�vel por montar todo o esquema do * processo de inserir grupo de usu�rios. * * @author Pedro Alexandre * @date 26/06/2006 */ public class ExibirAtualizarGrupoAction extends GcomAction { /** * <Breve descri��o sobre o caso de uso> * * [UC0279] - Manter Grupo * * @author Pedro Alexandre * @date 26/06/2006 * * @param actionMapping * @param actionForm * @param httpServletRequest * @param httpServletResponse * @return */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { //Localiza o action no objeto ActionForward retorno = actionMapping.findForward("atualizarGrupoDadosGerais"); //Obt�m a inst�ncia da sess�o HttpSession sessao = httpServletRequest.getSession(false); //Cria a vari�vel que vai armazenar o c�digo do grupo String idGrupo = null; //Caso o bot�o de desfazer n�o tenha sido pressionado if(httpServletRequest.getParameter("desfazer") == null){ //Recupera o c�digo do grupo if(httpServletRequest.getParameter("idRegistroAtualizacao") != null){ idGrupo = (String) httpServletRequest.getParameter("idRegistroAtualizacao"); }else if(httpServletRequest.getAttribute("idRegistroAtualizacao") != null){ idGrupo = (String) httpServletRequest.getAttribute("idRegistroAtualizacao"); } //Monta o status wizard com os actions do processo StatusWizard statusWizard = new StatusWizard( "atualizarGrupoWizardAction", "atualizarGrupoAction", "cancelarAtualizarGrupoAction","exibirManterGrupoAction", "exibirAtualizarGrupoAction.do", idGrupo); /*if(httpServletRequest.getParameter("sucesso") != null){ statusWizard = new StatusWizard( "atualizarGrupoWizardAction", "atualizarGrupoAction", "cancelarAtualizarGrupoAction","exibirFiltrarGrupoAction", "exibirAtualizarGrupoAction.do", idGrupo); }else{ statusWizard = new StatusWizard( "atualizarGrupoWizardAction", "atualizarGrupoAction", "cancelarAtualizarGrupoAction","exibirManterGrupoAction", "exibirAtualizarGrupoAction.do", idGrupo); }*/ //Monta a primeira aba do processo de atualizar grupo statusWizard .inserirNumeroPaginaCaminho(statusWizard.new StatusWizardItem( 1, "DadosGeraisPrimeiraAbaA.gif", "DadosGeraisPrimeiraAbaD.gif", "exibirAtualizarGrupoDadosGeraisAction", "atualizarGrupoDadosGeraisAction")); //Monta a segunda aba do processo de atualizar grupo statusWizard .inserirNumeroPaginaCaminho(statusWizard.new StatusWizardItem( 2, "AcessosGrupoUltimaAbaA.gif", "AcessosGrupoUltimaAbaD.gif", "exibirAtualizarGrupoAcessosGrupoAction", "atualizarGrupoAcessosGrupoAction")); //Manda o statusWizard para a sessao sessao.setAttribute("statusWizard", statusWizard); }else{ //Recupera o status wizard da sess�o para recuperar o c�digo do grupo StatusWizard statusWizardSessao = (StatusWizard)sessao.getAttribute("statusWizard"); idGrupo = statusWizardSessao.getId(); } //Limpa a sess�o sessao.removeAttribute("GrupoActionForm"); sessao.removeAttribute("grupo"); sessao.removeAttribute("grupoFuncionalidades"); //Parte da atualiza��o DynaValidatorForm atualizarGrupoActionForm = (DynaValidatorForm) actionForm; //Caso o usu�rio tenha informado o c�digo do grupo que vai ser atualizado if (idGrupo != null ) { FiltroGrupo filtroGrupo = new FiltroGrupo(); filtroGrupo.adicionarParametro(new ParametroSimples(FiltroGrupo.ID,idGrupo)); Collection colecaoGrupo = Fachada.getInstancia().pesquisar(filtroGrupo, Grupo.class.getSimpleName()); Grupo grupo = (Grupo) colecaoGrupo.iterator().next(); sessao.setAttribute("grupo",grupo); } //Recupera o grupo da sess�o Grupo grupo = (Grupo) sessao.getAttribute("grupo"); //Caso exista um grupo na sess�o seta todos os dados no grupo no form if (grupo != null) { atualizarGrupoActionForm.set("descricao",grupo.getDescricao()); atualizarGrupoActionForm.set("descricaoAbreviada",grupo.getDescricaoAbreviada()); if (grupo.getIndicadorUso() != null) { atualizarGrupoActionForm.set("indicadorUso",grupo.getIndicadorUso().toString()); } else { atualizarGrupoActionForm.set("indicadorUso",ConstantesSistema.SIM.toString()); } } //Atualiza o grupo da sess�o grupo.setDescricao(""+atualizarGrupoActionForm.get("descricao")); grupo.setDescricaoAbreviada(""+atualizarGrupoActionForm.get("descricaoAbreviada")); if(grupo.getNumDiasExpiracaoSenha()!=null && !grupo.getNumDiasExpiracaoSenha().toString().equals("")){ atualizarGrupoActionForm.set("diasExpiracaoSenha",grupo.getNumDiasExpiracaoSenha()); } if(grupo.getMensagem()!=null && !grupo.getMensagem().equals("")){ atualizarGrupoActionForm.set("mensagem",grupo.getMensagem()); } if(grupo.getIndicadorSuperintendencia() != null){ atualizarGrupoActionForm.set("indicadorSuperintendencia",grupo.getIndicadorSuperintendencia()); } if(grupo.getCompetenciaRetificacao()!=null && !grupo.getCompetenciaRetificacao().toString().equals("")){ atualizarGrupoActionForm.set("competenciaRetificacao",Util.formatarBigDecimalParaStringComVirgula(grupo.getCompetenciaRetificacao())); } sessao.setAttribute("grupo",grupo); //Retorna o mapeamento contido na vari�vel retorno return retorno; } }