package gcom.gui.seguranca.acesso.usuario;
import gcom.fachada.Fachada;
import gcom.gui.ActionServletException;
import gcom.gui.GcomAction;
import gcom.gui.ManutencaoRegistroActionForm;
import gcom.seguranca.acesso.usuario.FiltroSolicitacaoAcesso;
import gcom.seguranca.acesso.usuario.FiltroSolicitacaoAcessoSituacao;
import gcom.seguranca.acesso.usuario.SolicitacaoAcesso;
import gcom.seguranca.acesso.usuario.SolicitacaoAcessoSituacao;
import gcom.util.ConstantesSistema;
import gcom.util.Util;
import gcom.util.filtro.ParametroSimples;
import gcom.util.filtro.ParametroSimplesIn;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
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;
/**
* [UC1093] Manter Solicita��o de Acesso.
*
* @author Hugo Leonardo
* @date 17/11/2010
*/
public class AutorizarSolicitacaoAcessoAction extends GcomAction {
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) {
// Seta o retorno
ActionForward retorno = actionMapping.findForward("telaSucesso");
HttpSession sessao = httpServletRequest.getSession(false);
ManutencaoRegistroActionForm manutencaoRegistroActionForm = (ManutencaoRegistroActionForm) actionForm;
String[] ids = manutencaoRegistroActionForm.getIdRegistrosAutorizar();
// mensagem de erro quando o usu�rio tenta Atualizar sem ter selecionado
// nenhum registro
if (ids == null || ids.length == 0) {
throw new ActionServletException(
"atencao.registros.nao_selecionados");
}
FiltroSolicitacaoAcesso filtroSolicitacaoAcesso = new FiltroSolicitacaoAcesso();
Collection idsSolicitacaoAcesso = new ArrayList(ids.length);
for (int i = 0; i < ids.length; i++) {
idsSolicitacaoAcesso.add(new Integer(ids[i]));
}
filtroSolicitacaoAcesso.adicionarParametro(
new ParametroSimplesIn(FiltroSolicitacaoAcesso.ID, idsSolicitacaoAcesso));
Collection coletionSolicitacaoAcesso = Fachada.getInstancia().pesquisar(filtroSolicitacaoAcesso,
SolicitacaoAcesso.class.getName());
Iterator itera = coletionSolicitacaoAcesso.iterator();
while(itera.hasNext()){
SolicitacaoAcesso solicitacaoAcesso = (SolicitacaoAcesso) itera.next();
FiltroSolicitacaoAcessoSituacao filtroSolicitacaoAcessoSituacao = new FiltroSolicitacaoAcessoSituacao();
filtroSolicitacaoAcessoSituacao.adicionarParametro(
new ParametroSimples(FiltroSolicitacaoAcessoSituacao.CODIGO_SITUACAO,
SolicitacaoAcessoSituacao.AG_CADASTRAMENTO));
filtroSolicitacaoAcessoSituacao.adicionarParametro(
new ParametroSimples(FiltroSolicitacaoAcessoSituacao.INDICADOR_USO, ConstantesSistema.SIM));
Collection colecaoSolicitacaoAcessoSituacao =
this.getFachada().pesquisar(filtroSolicitacaoAcessoSituacao,
SolicitacaoAcessoSituacao.class.getName());
if(!Util.isVazioOrNulo(colecaoSolicitacaoAcessoSituacao)){
SolicitacaoAcessoSituacao solicitacaoAcessoSituacao =
(SolicitacaoAcessoSituacao) Util.retonarObjetoDeColecao(colecaoSolicitacaoAcessoSituacao);
solicitacaoAcesso.setSolicitacaoAcessoSituacao(solicitacaoAcessoSituacao);
}else{
throw new ActionServletException("atencao.solicitacao_acesso_situacao.ag_cadastramento");
}
solicitacaoAcesso.setUltimaAlteracao(new Date());
solicitacaoAcesso.setDataAutorizacao(new Date());
Fachada.getInstancia().atualizar(solicitacaoAcesso);
}
Integer idQt = ids.length;
montarPaginaSucesso(httpServletRequest, idQt.toString()
+ " Solicita��es de Acesso(s) Autorizada(s) com sucesso.",
"Manter outra Solicita��o de Acesso",
"exibirFiltrarSolicitacaoAcessoAction.do?menu=sim");
if(sessao.getAttribute("objeto") != null){
String objeto = (String) sessao.getAttribute("objeto");
if(objeto.equals("atualizar")){
montarPaginaSucesso(httpServletRequest, idQt.toString()
+ " Solicita��es de Acesso(s) Autorizada(s) com sucesso.",
"Manter outra Solicita��o de Acesso",
"exibirFiltrarSolicitacaoAcessoAction.do?menu=sim&objeto=atualizar");
}else if(objeto.equals("autorizar")){
montarPaginaSucesso(httpServletRequest, idQt.toString()
+ " Solicita��es de Acesso(s) Autorizada(s) com sucesso.",
"Manter outra Solicita��o de Acesso",
"exibirFiltrarSolicitacaoAcessoAction.do?menu=sim&objeto=autorizar");
}else if(objeto.equals("cadastrar")){
montarPaginaSucesso(httpServletRequest, idQt.toString()
+ " Solicita��es de Acesso(s) Autorizada(s) com sucesso.",
"Manter outra Solicita��o de Acesso",
"exibirFiltrarSolicitacaoAcessoAction.do?menu=sim&objeto=cadastrar");
}
}
return retorno;
}
}