Remplir une liste deroulante

Fermé
rosesamiarose Messages postés 21 Date d'inscription lundi 9 mai 2011 Statut Membre Dernière intervention 22 avril 2012 - 22 avril 2012 à 19:07
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:
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
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:
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////



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:
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
<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