IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

Pointeur null primfaces chart pie model


Sujet :

JSF Java

  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2013
    Messages : 45
    Par défaut Pointeur null primfaces chart pie model
    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é!!

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Peux-tu montrer la classe CaClient ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre actif
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2013
    Messages : 45
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    Peux-tu montrer la classe CaClient ?
    bonjour bien sur la voici
    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
     
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    package entity;
     
    import java.io.Serializable;
    import java.math.BigInteger;
    import javax.persistence.Basic;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.Id;
    import javax.persistence.NamedQueries;
    import javax.persistence.NamedQuery;
    import javax.persistence.Table;
    import javax.validation.constraints.NotNull;
    import javax.validation.constraints.Size;
    import javax.xml.bind.annotation.XmlRootElement;
     
    /**
     *
     * @author MOHAMED
     */
    @Entity
    @Table(name = "CA_CLIENT")
    @XmlRootElement
    @NamedQueries({
        @NamedQuery(name = "CaClient.findAll", query = "SELECT c FROM CaClient c"),
        @NamedQuery(name = "CaClient.findByRaisonSocialClient", query = "SELECT c FROM CaClient c WHERE c.raisonSocialClient = :raisonSocialClient"),
        @NamedQuery(name = "CaClient.findByNumDossClient", query = "SELECT c FROM CaClient c WHERE c.numDossClient = :numDossClient"),
        @NamedQuery(name = "CaClient.findBySomme", query = "SELECT c FROM CaClient c WHERE c.somme = :somme")})
    public class CaClient implements Serializable {
        private static final long serialVersionUID = 1L;
        @Basic(optional = false)
        @NotNull
        @Size(min = 1, max = 10)
        @Column(name = "RAISON_SOCIAL_CLIENT")
        @Id
        private String raisonSocialClient;
        @Column(name = "NUM_DOSS_CLIENT")
        private BigInteger numDossClient;
        @Column(name = "SOMME")
        private BigInteger somme;
     
        public CaClient() {
        }
     
        public String getRaisonSocialClient() {
            return raisonSocialClient;
        }
     
        public void setRaisonSocialClient(String raisonSocialClient) {
            this.raisonSocialClient = raisonSocialClient;
        }
     
        public BigInteger getNumDossClient() {
            return numDossClient;
        }
     
        public void setNumDossClient(BigInteger numDossClient) {
            this.numDossClient = numDossClient;
        }
     
        public BigInteger getSomme() {
            return somme;
        }
     
        public void setSomme(BigInteger somme) {
            this.somme = somme;
        }
     
    }
    Merci pour votre aide!!

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    D'après ce que tu dis, le problème pourrait venir du fait que ta colonne "SOMME" soit nulle dans la base de données...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    metierStat.affiche().get(0).getSomme()
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre actif
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2013
    Messages : 45
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    D'après ce que tu dis, le problème pourrait venir du fait que ta colonne "SOMME" soit nulle dans la base de données...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    metierStat.affiche().get(0).getSomme()
    bonjour!!
    non elle n'est pas null! je vous ai dit, que elle s'affiche si je la fait directement!!
    au fait j'ai reglé le probleme!!
    je vais posté la classe managedBean!
    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    package jsfBean;
     
     
    import javax.annotation.PostConstruct;
    import javax.ejb.EJB;
    import javax.inject.Named;
    import javax.enterprise.context.Dependent;
    import metier.metierStat;
    import org.primefaces.model.chart.PieChartModel;
     
    @Named(value = "jsfBean")
    @Dependent
    public class jsfBean {
        @EJB
        private metierStat metierStat;
     
        public jsfBean() {
     
        }
     
     
        @PostConstruct
        public void init (){
            createPieModel();
        }
     
         // pie
        private PieChartModel pieModel;
     
        public PieChartModel getPieModel() {
            return pieModel;
        }
     
        private void createPieModel() {
     
            pieModel = new PieChartModel();
     
            pieModel.set( metierStat.affiche().get(0).getRaisonSocialClient(), metierStat.affiche().get(0).getSomme());
            pieModel.set("Brand 2",  metierStat.affiche().get(1).getSomme());
            pieModel.set("Brand 3", 2);
            pieModel.set("Brand 4", 2);
        }
    }

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par gerxwcv Voir le message
    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!!
    Le fait qu'une requête ne soit pas nulle n'implique pas qu'une colonne ne le soit pas !!!!
    Avant de foutre des !!! partout, il faut peut-être te remettre en cause !
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/03/2006, 09h13
  2. [PORT COM] RS485 et pointeur null...
    Par floanne dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 20/02/2006, 11h00
  3. get => pointeur null apres fermeture d'une sous-fenetre
    Par gorgonite dans le forum AWT/Swing
    Réponses: 15
    Dernier message: 11/02/2006, 21h42
  4. [Info][Mémoire] utilisée pour un pointeur null
    Par thomas_strass dans le forum Langage
    Réponses: 14
    Dernier message: 04/11/2004, 12h48
  5. Réponses: 4
    Dernier message: 06/04/2004, 21h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo