Bem pessoal sou novo aqui me indicaram o forum e estou gostando, e tenho uma duvida
Estou tentando fazer um controle de acesso com JSF+spring+hibernate
e fiz a implementação do código já e na hora que vou mostra a pagina grupoForm.jsf que é a pagina aonde poso cadastrar grupos e definir o que ele tem acesso da o seguinte erro
[code]javax.servlet.ServletException
javax.faces.webapp.FacesServlet.service(FacesServlet.java:606)
org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79)
july.proj.filters.LoginUsuarioFilter.doFilter(LoginUsuarioFilter.java:43)
july.proj.filters.LoginFilter.doFilter(LoginFilter.java:43)
org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
root cause
java.lang.NullPointerException
july.proj.service.impl.AbstractService.findAll(AbstractService.java:36)
july.proj.controllers.GrupoFormController.getAcoes(GrupoFormController.java:44)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
javax.el.BeanELResolver.getValue(BeanELResolver.java:83)
com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
org.apache.el.parser.AstValue.getValue(AstValue.java:123)
org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182)
javax.faces.component.UISelectItems.getValue(UISelectItems.java:129)
com.sun.faces.renderkit.SelectItemsIterator.initializeItems(SelectItemsIterator.java:202)
com.sun.faces.renderkit.SelectItemsIterator.hasNext(SelectItemsIterator.java:135)
com.sun.faces.renderkit.html_basic.SelectManyCheckboxListRenderer.encodeEnd(SelectManyCheckboxListRenderer.java:133)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1764)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1760)
org.primefaces.component.tabview.TabViewRenderer.encodeTabContent(TabViewRenderer.java:279)
org.primefaces.component.tabview.TabViewRenderer.encodeContents(TabViewRenderer.java:237)
org.primefaces.component.tabview.TabViewRenderer.encodeMarkup(TabViewRenderer.java:128)
org.primefaces.component.tabview.TabViewRenderer.encodeEnd(TabViewRenderer.java:69)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1764)
javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:57)
org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:45)
org.primefaces.component.layout.LayoutUnitRenderer.encodeEnd(LayoutUnitRenderer.java:51)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1764)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1760)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1760)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1760)
com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:401)
com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)
org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79)
july.proj.filters.LoginUsuarioFilter.doFilter(LoginUsuarioFilter.java:43)
july.proj.filters.LoginFilter.doFilter(LoginFilter.java:43)
org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)[/code]
No caso esta dando ero porque esta retornando um conjunto nulo, mas não sei porque já que o mesmo metodo é chamado por outras requisições e funciona certinho
Abaixo alguns dos códigos…
GrupoFormController
[code]@ViewScoped
@ManagedBean(name=“grupoFormController”)
public class GrupoFormController extends AbstractFormController<Grupo, GrupoDao>{
private RecursoService recursoService = ServiceFactory.getRecursoService();
private List<SelectItem> acoes;
public List<Acao> getAcoesDoGrupo() {
List<Acao> acoesDoGrupo = new LinkedList<Acao>();
acoesDoGrupo.addAll(getGrupo().getAcoes());
return acoesDoGrupo;
}
public void setAcoesDoGrupo(List<Acao> acoes) {
getGrupo().setAcoes(acoes);
}
public List<SelectItem> getAcoes() {
if(acoes==null) {
acoes = new ArrayList<SelectItem>();
List<Recurso> recursos = recursoService.findAll(); /*Esta linha que da o erro*/
for (Recurso recurso : recursos) {
SelectItemGroup g = new SelectItemGroup(recurso.getNome());
List<SelectItem> itens = new ArrayList<SelectItem>();
for(Acao acao: recurso.getAcoes()) {
itens.add(new SelectItem(acao, acao.getNome()));
}
g.setSelectItems(itens.toArray(new SelectItem[itens.size()]));
acoes.add(g);
}
}
return acoes;
}
@PostConstruct
public void iniciar() {
super.iniciar();
System.out.println(getGrupo().getAcoes().size());
}
@Override
protected Grupo getNewModel() {
return new Grupo();
}
public Grupo getGrupo() {
return getModel();
}
}[/code]
RecursoDaoHibernate
[code]@Repository(“recursoDao”)
public class RecursoDaoHibernate extends AbstractDaoHibernate implements RecursoDao {
public RecursoDaoHibernate(){
super(“Recurso”);
}
}[/code]
AbstractDaoHibernate (somente o m´todo que utilizo)
[code]public AbstractDaoHibernate(String modelClassName) {
super();
this.modelClassName = modelClassName;
}
public List findAll() {
//Busca a sessão do Hibernate getSession()
//Cria um HQL para buscar os usuário
//E retorna uma lista com o resultado da consulta HQL
List models = getSession().createQuery(“from “+modelClassName+” order by nome”).list();
return models;
}[/code]
Desde já agradeço quem puder me ajudar, ou alguém souber algum tutorial para controle de acesso em java hibernate com spring
T+