package gcom.gui.seguranca.acesso; import gcom.relatorio.ExibidorProcessamentoTarefaRelatorio; import gcom.seguranca.acesso.ControleLiberacaoPermissaoEspecial; import gcom.seguranca.acesso.FiltroControleLiberacaoPermissaoEspecial; 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; public class ExibirManterControleLiberacaoPMEPAction extends ExibidorProcessamentoTarefaRelatorio{ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o mapeamento de retorno ActionForward retorno = actionMapping.findForward("exibirManterControleLiberacaoPMEP"); // Form ExibirManterControleLiberacaoPMEPActionForm form = (ExibirManterControleLiberacaoPMEPActionForm) actionForm; HttpSession sessao = httpServletRequest.getSession(false); Collection colecaoResultadoPesquisaControleLiberacaoPMEP = (Collection) sessao.getAttribute("colecaoResultadoPesquisaControleLiberacaoPMEP"); //vari�vel controle que vai ser atualizada ControleLiberacaoPermissaoEspecial controleLiberacaoPermissaoEspecial = null; //c�digo do controle (que vem da tela de resultado de pesquisa) String idControle = httpServletRequest.getParameter("idControle"); if(idControle != null && !idControle.equals("")){ controleLiberacaoPermissaoEspecial = (ControleLiberacaoPermissaoEspecial)this.pesquisarControleLiberacaoPMEP(idControle, form); if(controleLiberacaoPermissaoEspecial != null){ this.preencherForm(form, controleLiberacaoPermissaoEspecial); } //se o objeto vier pela sessao }else if(colecaoResultadoPesquisaControleLiberacaoPMEP != null && colecaoResultadoPesquisaControleLiberacaoPMEP.size() != 0){ controleLiberacaoPermissaoEspecial = (ControleLiberacaoPermissaoEspecial) Util.retonarObjetoDeColecao(colecaoResultadoPesquisaControleLiberacaoPMEP); this.preencherForm(form, controleLiberacaoPermissaoEspecial); sessao.removeAttribute("colecaoResultadoPesquisaControleLiberacaoPMEP"); }else{ form.setIdFuncionalidade(null); form.setFuncionalidade("Funcionalidade inexistente"); form.setIdPermissaoEspecial(null); form.setPermissaoEspecial("Permiss�o Especial inexistente"); } return retorno; } /** * Pesquisa ControleLiberacaoPMEP * * @author Daniel Alves * @date 16/08/2010 */ private ControleLiberacaoPermissaoEspecial pesquisarControleLiberacaoPMEP(String idControle, ExibirManterControleLiberacaoPMEPActionForm form) { FiltroControleLiberacaoPermissaoEspecial filtroControleLiberacaoPermissaoEspecial = new FiltroControleLiberacaoPermissaoEspecial(); filtroControleLiberacaoPermissaoEspecial.adicionarParametro(new ParametroSimples(FiltroControleLiberacaoPermissaoEspecial.ID, idControle)); filtroControleLiberacaoPermissaoEspecial.adicionarCaminhoParaCarregamentoEntidade(FiltroControleLiberacaoPermissaoEspecial.FUNCIONALIDADE); filtroControleLiberacaoPermissaoEspecial.adicionarCaminhoParaCarregamentoEntidade(FiltroControleLiberacaoPermissaoEspecial.PERMISSAO_ESPECIAL); // Recupera ControleLiberacaoPermissaoEspecial Collection colecaoControleLiberacaoPermissaoEspecial = this.getFachada().pesquisar(filtroControleLiberacaoPermissaoEspecial, ControleLiberacaoPermissaoEspecial.class.getName()); if (colecaoControleLiberacaoPermissaoEspecial != null && !colecaoControleLiberacaoPermissaoEspecial.isEmpty()) { return (ControleLiberacaoPermissaoEspecial) Util.retonarObjetoDeColecao(colecaoControleLiberacaoPermissaoEspecial); }else{ return null; } } /** * Preencher Form * * @author Daniel Alves * @date 17/08/2010 */ private void preencherForm(ExibirManterControleLiberacaoPMEPActionForm form, ControleLiberacaoPermissaoEspecial controleLiberacaoPermissaoEspecial){ form.setIdFuncionalidade(controleLiberacaoPermissaoEspecial.getFuncionalidade().getId().toString()); form.setFuncionalidade(controleLiberacaoPermissaoEspecial.getFuncionalidade().getDescricao()); form.setIdPermissaoEspecial(controleLiberacaoPermissaoEspecial.getPermissaoEspecial().getId().toString()); form.setPermissaoEspecial(controleLiberacaoPermissaoEspecial.getPermissaoEspecial().getDescricao()); form.setIndicadorUso(controleLiberacaoPermissaoEspecial.getIndicadorUso().toString()); } }