Paramètres Dynamique (Pie Chart : Primefaces 3.0)
Bonjour ,
j'ai créé une interface en jsf 2.0 , où l'utilisateur est invité à saisir un code d'une machine , une fois validé ,on doit faire certain calcul dont les resultat seront affiché sous forme de Pie Chart
voici le code page.xhtml :
Code:
1 2 3 4 5 6
| <h:outputText value="machine"/>
<h:inputText value="#{statBean.equId}"/>
<h:commandButton value="valider" action="#{statBean.search}" />
<p:pieChart value="#{statBean.pieModel}" legendPosition="w"
title="Sample Pie Chart" style="width:400px;height:300px"/> |
la partie pieChart de mon bean :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
private PieChartModel pieModel;
public void setPieModel(PieChartModel pieModel) {
this.pieModel = pieModel;
}
public PieChartModel getPieModel() {
return pieModel;
}
private void createPieModel()
{
pieModel = new PieChartModel();
pieModel.set("Brand 1", D);
pieModel.set("Brand 2", tr);
pieModel.set("Brand 3", r);
pieModel.set("Brand 4", c);
} |
sachant que les variables (D,tr,r,c) sont dynamiques et depend du l'identifiant du machine déjà saisi .
Mon problem que lorsque j'éxecute , je reçoi l'erreur suivante
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| java.lang.NullPointerException
at org.primefaces.component.chart.pie.PieChartRenderer.encodeData(PieChartRenderer.java:68)
at org.primefaces.component.chart.pie.PieChartRenderer.encodeScript(PieChartRenderer.java:51)
at org.primefaces.component.chart.pie.PieChartRenderer.encodeEnd(PieChartRenderer.java:36)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:883)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1659)
at javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:853)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1652)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1655)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1655)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:399)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:313)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:279)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:300)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619) |
les variables (D,tr,r,c) sont globals et pas nulles ; je teste avec
Code:
System.out.println("chiffre "+D);
mais apparament , ils ne sont pas utilisées par pieChart
Merci d'avance pour votre aide