Bonjour,

je suis entrain de developper une page qui me permet d'ajouter un nouveau employee.
cet employee a un cle etrangere avec privilege. donc il faut avoir une liste dans la page d'ajout d'un employee qui donne la liste des privilege afin de choisir une. j'ai fait le code source et normalement il est valide mais il m'affiche une erreur "java.lang.NullPointerException"
j'utilise netbeans 7.1.1 avec la framework jsf et ejb.

voici le code source de EmployeeMBean.java:
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
private Converter privilegeConverter = new Converter() { 
@Override 
public Object getAsObject(FacesContext context, UIComponent component, String value) { 
char code = value.charAt(0); 
Privilege pr = gestionnairePrivilege.getPrivilegeByCodePrivilege(code); 
return pr; 
} 
@Override 
public String getAsString(FacesContext context, UIComponent component, Object value) { 
Privilege pr = (Privilege) value; 
return pr.getCodePrivilege()+" : "+pr.getLibellePrivilege(); 
} 
}; 
public List<SelectItem> getAllPrivileges() { 
List<SelectItem> options = new ArrayList<SelectItem>(); 
List<Privilege> lpr = gestionnairePrivilege.getAllPrivilege(); 
for(Privilege pr : lpr) { 
options.add(new SelectItem(pr.getCodePrivilege()+" : "+pr.getLibellePrivilege())); 
} 
return options; 
} 
 
 
public Converter getPrivilegeConverter() { 
return privilegeConverter; 
}
voici le code source de GestionnairePrivilege.java:
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
package session; 
 
import entities.Privilege; 
import java.util.List; 
import javax.ejb.Stateless; 
import javax.ejb.LocalBean; 
import javax.persistence.EntityManager; 
import javax.persistence.PersistenceContext; 
import javax.persistence.Query; 
 
@Stateless 
@LocalBean 
public class GestionnairePrivilege { 
@PersistenceContext(unitName = "GMTTPU") 
private EntityManager emm; 
 
public List<Privilege> getAllPrivilege() { 
Query query = emm.createNamedQuery("Privilege.findAll"); 
return query.getResultList(); 
} 
 
public Privilege update(Privilege privilege) { 
return emm.merge(privilege); 
} 
 
public void create(Privilege privilege) { 
emm.persist(privilege); 
} 
 
public Privilege getPrivilegeByCodePrivilege(char code) { 
Query query = emm.createNamedQuery("EtatEmployee.findByCodeEtatEmployee"); 
query.setParameter("CodePrivilege", code); 
return (Privilege) query.getSingleResult(); 
} 
}
voici le code de la page AjoutEmployee.xhtml:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
<h:outputLabel value="PrivilegeEmployee:" for="privilegeEmployee" /> 
<h:selectOneMenu id="privilegeEmployee" value="#{employeeMBean.empM.emp.privilegeEmployee}"> 
<f:selectItems value="#{employeeMBean.allPrivileges}"/> 
</h:selectOneMenu>
j'ai pas tout le code car c'est trop long
merci de m'aider car je suis blocké danc cette etape depuis quelque jour
merci d'avance