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 ExibirAtualizarAdicionarFuncionalidadeDependenciaAction extends GcomAction {
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) {
ActionForward retorno = actionMapping
.findForward("exibirAtualizarAdicionarFuncionalidadeDependenciaAction");
AdicionarFuncionalidadeDependenciaActionForm adicionarFuncionalidadeDependenciaActionForm = (AdicionarFuncionalidadeDependenciaActionForm) actionForm;
Fachada fachada = Fachada.getInstancia();
HttpSession sessao = httpServletRequest.getSession(false);
String idFuncionalidade = null;
if (httpServletRequest.getParameter("funcionalidadeID") != null) {
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");
}
}
return retorno;
}
}