package gcom.gui.seguranca.acesso; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.seguranca.acesso.ControleLiberacaoPermissaoEspecial; import gcom.seguranca.acesso.FiltroFuncionalidade; import gcom.seguranca.acesso.FiltroPermissaoEspecial; import gcom.seguranca.acesso.Funcionalidade; import gcom.seguranca.acesso.PermissaoEspecial; import gcom.seguranca.acesso.usuario.Usuario; import gcom.util.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import java.util.Date; 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 Daniel Alves * @date 23/07/2010 */ public class InserirControleLiberacaoPMEPAction extends GcomAction { /** * Este caso de uso permite a inclus�o de uma novo Controle Libera��o Permiss�o Especial * * [UC0280] Inserir Controle Libera��o Permiss�o Especial * * * @author Daniel Alves * @date 23/07/2010 * * @param actionMapping * @param actionForm * @param httpServletRequest * @param httpServletResponse * @return */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping.findForward("telaSucesso"); ExibirInserirControleLiberacaoPMEPActionForm inserirControleLiberacaoPMEPActionForm = (ExibirInserirControleLiberacaoPMEPActionForm) actionForm; Fachada fachada = Fachada.getInstancia(); HttpSession sessao = httpServletRequest.getSession(false); // Obtendo dados do form e setando no Objeto ControleLiberacaoPermissaoEspecial ControleLiberacaoPermissaoEspecial controleLiberacaoPermissaoEspecial = new ControleLiberacaoPermissaoEspecial(); if (inserirControleLiberacaoPMEPActionForm.getIdFuncionalidade() != null && !inserirControleLiberacaoPMEPActionForm.getIdFuncionalidade().trim() .equalsIgnoreCase("") ) { FiltroFuncionalidade filtroFuncionalidade = new FiltroFuncionalidade(); filtroFuncionalidade .adicionarParametro(new ParametroSimples( FiltroFuncionalidade.ID, inserirControleLiberacaoPMEPActionForm .getIdFuncionalidade())); Collection colecaoFuncionalidade = fachada.pesquisar( filtroFuncionalidade, Funcionalidade.class.getName()); if (colecaoFuncionalidade != null && !colecaoFuncionalidade.isEmpty()) { Funcionalidade funcionalidade = (Funcionalidade) Util .retonarObjetoDeColecao(colecaoFuncionalidade); controleLiberacaoPermissaoEspecial.setFuncionalidade(funcionalidade); } else { throw new ActionServletException( "atencao.pesquisa_inexistente", null, "Funcionalidade"); } } if (inserirControleLiberacaoPMEPActionForm.getIdPermissaoEspecial() != null && !inserirControleLiberacaoPMEPActionForm.getIdPermissaoEspecial() .trim().equalsIgnoreCase("") ) { FiltroPermissaoEspecial filtroPermissaoEspecial = new FiltroPermissaoEspecial(); filtroPermissaoEspecial .adicionarParametro(new ParametroSimples( FiltroPermissaoEspecial.ID, inserirControleLiberacaoPMEPActionForm .getIdPermissaoEspecial())); Collection colecaoPermissaoEspecial = fachada.pesquisar( filtroPermissaoEspecial, PermissaoEspecial.class.getName()); if (colecaoPermissaoEspecial != null && !colecaoPermissaoEspecial.isEmpty()) { PermissaoEspecial permissaoEspecial = (PermissaoEspecial) Util .retonarObjetoDeColecao(colecaoPermissaoEspecial); controleLiberacaoPermissaoEspecial.setPermissaoEspecial(permissaoEspecial); } else { throw new ActionServletException( "atencao.pesquisa_inexistente", null, "Permiss�o Especial"); } } controleLiberacaoPermissaoEspecial.setIndicadorUso(ConstantesSistema.INDICADOR_USO_ATIVO); controleLiberacaoPermissaoEspecial.setUltimaAlteracao(new Date()); Usuario usuarioLogado =(Usuario) (httpServletRequest.getSession()).getAttribute("usuarioLogado"); Integer idControleLiberacaoPermissaoEspecial = (Integer) fachada.inserirControleLiberacaoPermissaoEspecial( controleLiberacaoPermissaoEspecial, usuarioLogado); sessao.removeAttribute("colecaoFuncionalidadeTela"); montarPaginaSucesso(httpServletRequest, "Novo Controle de Libera��o de Permiss�o " + " Especial inserido com sucesso.", "Inserir outro Controle de Libera��o de Permiss�o Especial", "exibirInserirControleLiberacaoPMEPAction.do?menu=sim", "exibirManterControleLiberacaoPMEPAction.do?idContLibPMEP=" + idControleLiberacaoPermissaoEspecial, "Atualizar Controle de Libera��o de Permiss�o Especial inserido"); return retorno; } }