NullPointerException dans primefaces charts

khadijashili Messages postés 6 Date d'inscription samedi 11 juin 2016 Statut Membre Dernière intervention 6 septembre 2016 - Modifié par KX le 2/09/2016 à 17:43
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 6 sept. 2016 à 20:15
Bonjour,
je suis entrai de faire un exemple de statistique avec primefaces .j'ai développé une classe bean chartController
qui permet d'afficher un barchart
mais lorsque j’exécute la page jsf l'erreur nullPointerException se déclenche et je ne sait pas ou est le probleme dans le code
Y a t il quelqu'un qui peut m'aider c'est très urgent et merci d'avance
voici le code:

@ManagedBean
@ViewScoped
public class ChartController implements Serializable{
    private Session session ;
    private List<Intervention> interention =null;
 private ChartSeries serie =new ChartSeries();
 private BarChartModel barModel;
 
private int countIntervention(){
      Query query= session.createQuery("SELECT COUNT(*)FROM Intervention WHERE YEAR(datefinint)=SELECT YEAR(NOW())");
    return (int) query.uniqueResult();
}
public void init(){
    createBarModel();
}
 private BarChartModel initBarModel(){
     BarChartModel model =new BarChartModel();
     serie= new ChartSeries();
    serie.setLabel("intervention");
    
            for(Intervention IData: interention){
               serie.set(IData.getDateDebint(),countIntervention());
            }
            model.addSeries(serie);
            
        return model;
 }
 private void createBarModel(){
     barModel=initBarModel();
     barModel.setTitle("Les interventions en 2016");
     barModel.setLegendPosition("ne");
     Axis xAxis= barModel.getAxis(AxisType.X);
     xAxis.setLabel("Nombre d'intervention");
     Axis yAxis=barModel.getAxis(AxisType.Y);
     yAxis.setLabel("Date");
     yAxis.setMin(0);
     yAxis.setMax(75);
 }
    public BarChartModel getBarModel() {
        return barModel;
    }

}

1 réponse

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 127
2 sept. 2016 à 17:45
Bonjour,

"l'erreur nullPointerException se déclenche et je ne sait pas ou est le probleme"

Si tu sait que c'est un NullPointerException c'est que tu dois avoir la stack d'erreur quelque part... quelle est elle ?
0
khadijashili Messages postés 6 Date d'inscription samedi 11 juin 2016 Statut Membre Dernière intervention 6 septembre 2016
Modifié par khadijashili le 6/09/2016 à 12:41
oui voici le Stack mais j'ai pas pu avoir ou est exactement le problème dans le code et comment le résoudre est ce que vous pouvez m'aider
Grave:   Error Rendering View[/Acceuil/acceuil.xhtml]
java.lang.NullPointerException
 at org.primefaces.component.chart.renderer.BarRenderer.encodeData(BarRenderer.java:33)
 at org.primefaces.component.chart.renderer.BasePlotRenderer.render(BasePlotRenderer.java:27)
 at org.primefaces.component.chart.ChartRenderer.encodeScript(ChartRenderer.java:95)
 at org.primefaces.component.chart.ChartRenderer.encodeEnd(ChartRenderer.java:67)
 at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
 at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863)
 at javax.faces.render.Renderer.encodeChildren(Renderer.java:176)
 at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889)
 at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1856)
 at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
 at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
 at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
 at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:456)
 at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:133)
 at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
 at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
 at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
 at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647)
 at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:344)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
 at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:316)
 at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:126)
 at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:90)
 at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
 at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:114)
 at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
 at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:122)
 at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
 at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)
 at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
 at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:168)
 at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
 at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:48)
 at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
 at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:205)
 at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
 at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:120)
 at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
 at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:64)
 at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108)
 at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
 at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:53)
 at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108)
 at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
 at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:91)
 at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
 at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:213)
 at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:176)
 at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)
 at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:316)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
 at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)
 at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174)
 at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:415)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:282)
 at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)
 at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167)
 at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:201)
 at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:175)
 at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)
 at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
 at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284)
 at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)
 at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)
 at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
 at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
 at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561)
 at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
 at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
 at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
 at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
 at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565)
 at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545)
 at java.lang.Thread.run(Thread.java:745)
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 127
6 sept. 2016 à 20:15
"ou est exactement le problème dans le code"
Cette erreur n'est pas liée (directement) à ton code...

Il faut aller chercher le code dans la classe incriminée (première ligne)
org.primefaces.component.chart.renderer.BarRenderer.

La ligne 33, ça va dépendre de ta version de primefaces.

En 5.0 :
boolean horizontal = model.getOrientation().equals("horizontal");

Le NullPointerException c'est
model==null
ou
model.getOrientation()==null
.

En 5.1 ou 5.2 :
BarChartModel model = (BarChartModel) chart.getModel();

Le NullPointerException c'est
chart==null
.

À voir dans quel cas tu es et comment bien utiliser le composant pour que ces données soient initialisées correctement.
0
Rejoignez-nous