Erro ao tentar implementar o controle de acesso

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+

Você já tentou colocar um breakpoint neste ponto abaixo, debugue seu código …

july.proj.service.impl.AbstractService.findAll(AbstractService.java:36)

Vc já testou sua conexão com o BD tá funcionando corretamente ?

OPA, valeu pelas dicas, então a conexão com o banco esta ok, esta listando outras coisas e cadastrando também.

Quanto ao breakpoint, no caso ele vai para a AbstractService.FindAll(), o certo era ir para a abstract DAO depois aih que ele da o erro, o mais estranho é que as outras listagens usam este mesmo metodo já que é um metodo abstrato usado por varios processos.
O que estou tentando listar, são varios checkbox do que ja cadastrei em outra tela aonde tem o recurso(pagina acessada) e a ação(o que pode ser feito), sendo que um recurso tem varias ações.

Assim com essas checkboxes sera para marcar o que pode ser usado pelo usuario poderá acessar quais as paginas e tals.

[quote=juliamoron]OPA, valeu pelas dicas, então a conexão com o banco esta ok, esta listando outras coisas e cadastrando também.

Quanto ao breakpoint, no caso ele vai para a AbstractService.FindAll(), o certo era ir para a abstract DAO depois aih que ele da o erro, o mais estranho é que as outras listagens usam este mesmo metodo já que é um metodo abstrato usado por varios processos.
O que estou tentando listar, são varios checkbox do que ja cadastrei em outra tela aonde tem o recurso(pagina acessada) e a ação(o que pode ser feito), sendo que um recurso tem varias ações.

Assim com essas checkboxes sera para marcar o que pode ser usado pelo usuario poderá acessar quais as paginas e tals.[/quote]

Mas se tem certeza que é isto que vc quer fazer mesmo ?

private RecursoService recursoService = ServiceFactory.getRecursoService();

talvez seja por isto que ele esta indo para AbstractService.FindAll() …

É que assim estou pegando este código de um exemplo da faculdade que esta sem spring, mas até agora tudo que fiz que peguei de algum exemplo era sem spring e criei com spring passando pela camada de serviço e estranho que só este do grupo esta dando problema pois a parte de cadastro e listagem de recurso/ação esta correta.

Apesar disso a lisatem de grupos a tela abre normalmente, só que sem nada cadastrado.