package gcom.gui.seguranca.acesso;
import gcom.fachada.Fachada;
import gcom.gui.GcomAction;
import gcom.seguranca.acesso.FiltroFuncionalidade;
import gcom.seguranca.acesso.Funcionalidade;
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;
/**
* Descri��o da classe
*
* @author R�mulo Aur�lio
* @date 02/05/2006
*/
public class ExibirAdicionarFuncionalidadeDependenciaAction extends GcomAction {
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) {
ActionForward retorno = null;
AdicionarFuncionalidadeDependenciaActionForm adicionarFuncionalidadeDependenciaActionForm = (AdicionarFuncionalidadeDependenciaActionForm) actionForm;
Fachada fachada = Fachada.getInstancia();
HttpSession sessao = httpServletRequest.getSession(false);
String parametro = null;
String funcionalidadeID = null;
if (httpServletRequest
.getParameter("idFuncionalidade") == null || httpServletRequest
.getParameter("idFuncionalidade").equals("")){
funcionalidadeID = (String) sessao.getAttribute("idFuncionalidade");
} else {
funcionalidadeID = (String) httpServletRequest
.getParameter("idFuncionalidade");
sessao.setAttribute("idFuncionalidade", funcionalidadeID);
}
adicionarFuncionalidadeDependenciaActionForm.setFuncionalidadeID(funcionalidadeID);
//httpServletRequest.setAttribute("idFuncionalidade", funcionalidadeID);
if (httpServletRequest.getParameter("funcionalidade") != null) {
parametro = httpServletRequest.getParameter("funcionalidade");
sessao.setAttribute("funcionalidade", parametro);
}
if (((String) sessao.getAttribute("funcionalidade"))
.equalsIgnoreCase("inserir")) {
retorno = actionMapping
.findForward("inserirAdicionarFuncionalidadeDependenciaAction");
} else {
retorno = actionMapping
.findForward("atualizarAdicionarFuncionalidadeDependenciaAction");
}
String idFuncionalidade = null;
// Verifica se o tipo da consulta de arrecadador � de imovel
// se for os parametros de enviarDadosParametros ser�o mandados para
// a pagina arrecadador_pesuisar.jsp
if (httpServletRequest.getParameter("tipoConsulta") != null
&& httpServletRequest.getParameter("tipoConsulta").equals(
"funcionalidade")) {
idFuncionalidade = httpServletRequest
.getParameter("idCampoEnviarDados");
// pesquisarFuncionalidadeActionFormidFuncionalidade
// .setInscricaoImovel(httpServletRequest
// .getParameter("descricaoCampoEnviarDados"));
// }
// idFuncionalidade = (String) httpServletRequest
// .getParameter("funcionalidadeID");
} else {
idFuncionalidade = adicionarFuncionalidadeDependenciaActionForm
.getComp_id();
}
if (idFuncionalidade != null && !idFuncionalidade.equals("")) {
FiltroFuncionalidade filtroFuncionalidade = new FiltroFuncionalidade();
filtroFuncionalidade.adicionarParametro(new ParametroSimples(
FiltroFuncionalidade.ID, idFuncionalidade));
Collection<Funcionalidade> colecaoFuncionalidade = fachada
.pesquisar(filtroFuncionalidade, Funcionalidade.class
.getName());
if (colecaoFuncionalidade != null
&& !colecaoFuncionalidade.isEmpty()) {
// a Funcionalidade foi encontrada
Funcionalidade funcionalidade = (Funcionalidade) Util
.retonarObjetoDeColecao(colecaoFuncionalidade);
adicionarFuncionalidadeDependenciaActionForm.setComp_id(String
.valueOf(funcionalidade.getId()));
adicionarFuncionalidadeDependenciaActionForm
.setDescricaoFuncionalidade(funcionalidade
.getDescricao());
httpServletRequest.setAttribute(
"funcionalidadeDependenciaEncontrada", "true");
sessao.setAttribute("colecaoFuncionalidade",
colecaoFuncionalidade);
} else {
// a Funcionalidade n�o foi encontrada
adicionarFuncionalidadeDependenciaActionForm.setComp_id("");
httpServletRequest.setAttribute(
"funcionalidadeDependenciaNaoEncontrada", "exception");
adicionarFuncionalidadeDependenciaActionForm
.setDescricaoFuncionalidade("FUNCIONALIDADE INEXISTENTE");
}
}
// if (httpServletRequest.getParameter("reload") != null) {
// httpServletRequest.setAttribute("reload", true);
// }
return retorno;
}
}