Las aplicaciones Java EE, requieren la conversión de los Entity a un tipo de datos especifico, para ser utilizados en muchos componentes Java Server Faces/Primefaces.
BahiaConverter
@Named
@RequestScoped
public class BahiaConverter implements Converter {
@Inject
BahiaFacade bahiaFacade;
@Override
public Object getAsObject(FacesContext facesContext, UIComponent uiComponent, String s) {
Bahia bahia = new Bahia();
try {
if (!s.equals("null")) {
Bahia b = new Bahia();
b.setIdbahia(s);
Optional<Bahia> optional = bahiaFacade.findById(b);
if (optional.isPresent()) {
bahia = optional.get();
}
}
} catch (Exception e) {
JsfUtil.addErrorMessage("getAsObject()" + e.getLocalizedMessage());
}
return bahia;
}
@Override
public String getAsString(FacesContext facesContext, UIComponent uiComponent, Object o) {
String r = "";
try {
if (o instanceof Bahia ) {
Bahia bahia = (Bahia) o;
r = bahia.getIdbahia();
} else if (o instanceof String) {
r = (String) o;
}
} catch (Exception e) {
JsfUtil.addErrorMessage("getAsString()" + e.getLocalizedMessage());
}
return r;
}
}