Converter
Converter lo usamos para los autocomplete y selectOneMenu
PersonaConverter.java
package com.avbravo.practicaejb.converter;
import com.avbravo.jmoordbutils.JsfUtil;
import com.avbravo.practicaejb.entity.Persona;
import com.avbravo.practicaejb.repository.PersonaRepository;
import java.util.Optional;
import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.inject.Named;
/**
*
* @author avbravo
*/
@Named
@RequestScoped
public class PersonaConverter implements Converter {
@Inject
PersonaRepository personaRepository;
@Override
public Object getAsObject(FacesContext facesContext, UIComponent uiComponent, String s) {
Persona persona = new Persona();
try{
if(!s.equals("null")){
Persona b = new Persona();
b.setCedula(s);
Optional<Persona> optional = personaRepository.findById(b);
if (optional.isPresent()) {
persona= optional.get();
}
}
} catch (Exception e) {
JsfUtil.errorMessage("getAsObject()" + e.getLocalizedMessage());
}
return persona;
}
@Override
public String getAsString(FacesContext facesContext, UIComponent uiComponent, Object o) {
String r = "";
try {
if (o instanceof Persona) {
Persona persona = (Persona) o;
r = String.valueOf(persona.getCedula());
}else if (o instanceof String) {
r = (String) o;
}
} catch (Exception e) {
JsfUtil.errorMessage("getAsString()" + e.getLocalizedMessage());
}
return r;
}
}
Last updated
Was this helpful?