Bonjour
j'ai vraiment cherché avant de pensé a posté ce message!!
je voudrais récupérer une liste de la basse de donnée et l'affecter dans pieModel de primefaces (camembert) mais le problème est qu'une erreur de pointeur null survient.
j'ai trois couches, métier, jsfBean, jsf (sans compter les entity class)
métier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package metier; :calim2:
 
import entity.*;
import java.util.List;
import javax.ejb.LocalBean;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
 
@Stateless
@LocalBean
public class metierStat {
 
    @PersistenceContext(unitName = "ChartTestPU")
    private EntityManager em;
   // CaClient est une vu
       public List<CaClient> affiche(){
 
       Query qq =em.createNativeQuery("select * from ca_client", CaClient.class);       
        List<CaClient> l = (List<CaClient>)qq.getResultList();
        return l;
 
   } 
}
couche jsfBean :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
 
@Named(value = "jSFBean")
@SessionScoped
public class ChartBean implements Serializable {
 
    @EJB
    private metier.metierStat metierStat;
 
    public ChartBean() {
        createPieModel();
 
    }
 
   // pie
    private PieChartModel pieModel;
 
    public PieChartModel getPieModel() {
        return pieModel;
    }
 
    private void createPieModel() {
        pieModel = new PieChartModel();
// le probleme est ICI, la premiere ligne
        pieModel.set("Brand 1", metierStat.affiche().get(0).getSomme());
// les autre ligne ne pose pas probleme
        pieModel.set("Brand 2", 2);
        pieModel.set("Brand 3", 2);
        pieModel.set("Brand 4", 2);
    }
 
}

dernière couche, JSF:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
 <p:pieChart id="custom" value="#{jSFBean.pieModel}" legendPosition="e" fill="false" showDataLabels="true"
                        title="Custom Options" style="width:400px;height:300px" sliceMargin="5" diameter="150" />
et si je déploie, il me sort une erreur de pointeur null
alors que j'ai pu affiché le résultat de la requête, et elle s'affiche très bien!!!
donc elle n'est pas null!!
je pense qu'il faut respecté un ordre a mon avis.
aidez moi s'il vous plait!!!
je suis coincé!!