Bonjour les jeunes


Sur un formulaire d'ajout j'ai deux listes déroulante qui liste des objets agence et statut comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
    <h:outputText value="Agence"/>
                 <h:selectOneMenu   value="#{showA.agence}" converter="#{ConvertAgence}"> 
                     <f:selectItems value="#{showA.agences}" var="ag" itemValue="#{ag}"     itemLabel="#{ag.nomAgence}" />  
 
                 </h:selectOneMenu>
 
       <h:outputText value="Statut"/>
       <h:selectOneMenu   value="#{showS.statut}" converter="#{ConvertStatut}">
                    <f:selectItems value="#{showS.statuts}" var="st" itemValue="#{st}"     itemLabel="#{st.nomstatut}" /> 
 
       </h:selectOneMenu>

showA = AgenceController
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
 
public class AgenceController {
    private List<Agence> agences = new ArrayList<Agence>();
    private Agence agence ; 
 
    public List<Agence> getAgences() {
        AgenceDAO daoA = new AgenceDAO();
 
        return daoA.getAll();
    }
 
    public void setAgences(List<Agence> agences) {
        this.agences = agences;
    }
 
    public Agence getAgence() {
        return agence;
    }
 
    public void setAgence(Agence agence) {
        this.agence = agence;
    }
 
 
}

j'ai ajouté deux classes pour faire de la conversion voici une pour l'objet agence

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
 
public  class TestConverter  implements  Converter{
 
 
    private  AgenceDAO agencedao ; 
 
      @Override
    public Object getAsObject(FacesContext context, UIComponent component, String submittedValue) {
        if (submittedValue == null || submittedValue.isEmpty()) {
            return null;
        }
 
        try {
            return agencedao.getAgenceByNum(Integer.valueOf(submittedValue)); 
        } catch (NumberFormatException e) {
            throw new ConverterException(new FacesMessage(String.format("%s is not a valid agence ID", submittedValue)), e);
        }
    }
 
 
       @Override
    public String getAsString(FacesContext context, UIComponent component, Object modelValue) {
        if (modelValue == null) {
            return "";
        }
 
        if (modelValue instanceof Agence) {
            return String.valueOf(((Agence) modelValue).getNumAgence());
        } else {
            throw new ConverterException(new FacesMessage(String.format("%s is not a valid User", modelValue)));
        }
    }
}

quand je clique sur le bouton ajouter une erreur se déclenche en me disant qu'il y a un probleme dans la méthode getAsObject () de la classe TestConverter


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
java.lang.NullPointerException
	at Convert.TestConverter.getAsObject(TestConverter.java:40)
veuillez m'aider à trouver une solution à ce probleme