Converter

Se utilizan para realizar conversiones de tipo de datos a los objetos seleccionados generalmente cuando usamos un selectOneMenu, con una lista de entitys es un ejemplo de uso.

Implementar

  • Implements Converter

  • Inyectar el facade

  • método getAsObject()

  • método getAsString()

BodegaConverter.java

import com.avbravo.ejbspard.entity.*;
import com.avbravo.ejbspard.ejb.*;
import com.avbravo.avbravoutils.JsfUtil;
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 BodegaConverter implements Converter {

    @Inject
    BodegaRepository bodegaRepository;

    @Override
    public Object getAsObject(FacesContext facesContext, UIComponent uiComponent, String s) {
        Bodega bodega = new Bodega();
        try{
            if(!s.equals("null")){
               Bodega b = new Bodega();
               b.setIdbodega(s);
               Optional<Bodega> optional = bodegaRepository.findById(b);
               if (optional.isPresent()) {
               bodega= optional.get();  
               }   
             }
          } catch (Exception e) {
             JsfUtil.errorMessage("getAsObject()" + e.getLocalizedMessage());
          }
          return bodega;
      }


    @Override
    public String getAsString(FacesContext facesContext, UIComponent uiComponent, Object o) {
        String r = "";
        try {
            if (o instanceof Bodega) {
                Bodega bodega = (Bodega) o;
                r = String.valueOf(bodega.getIdbodega());
            }else if (o instanceof String) {
               r = (String) o;
            }
        } catch (Exception e) {
            JsfUtil.errorMessage("getAsString()" + e.getLocalizedMessage());
        }
        return r;
        }

}

Last updated

Was this helpful?