Olá,
Estou com um problema para injetar um dao em um converter, por meio do ejb.
A injeção ocorre perfeitamente quando injeto no ManagedBean, porém no converter não funciona.
Aguém tem alguma dica de como devo proceder.
Segue abaixo o código do meu converter.
import br.mycomerce.model.dao.interfaces.ContinenteDao;
import br.mycomerce.model.persistence.Continente;
import javax.ejb.EJB;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;
/**
*
* @author José Ricardo
*/
@FacesConverter(value = "continenteConverter")
public class ContinenteConverter implements Converter {
[b] @EJB
private ContinenteDao continenteDAO;[/b]
@Override
public Object getAsObject(FacesContext fc, UIComponent uic, String string) {
Continente continente = continenteDAO.pesqParam("Select c From Continente c Where nome = '" + string + "'");
return continente;
}
@Override
public String getAsString(FacesContext fc, UIComponent uic, Object o) {
Continente continente = new Continente();
continente = (Continente) o;
return continente.getNome();
}
}
Na home page, eu chamo o converter assim
<p:autoComplete value="#{cadastroDeLogradouroBean.continente}"
completeMethod="#{cadastroDeLogradouroBean.completeContinente}"
var="continente" itemLabel="#{continente.nome}"
itemValue="#{continente}" [b]converter="continenteConverter"[/b]/>