package com.algaworks.pedidovenda.converter; import java.util.Map; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; import javax.faces.convert.Converter; import javax.faces.convert.FacesConverter; import javax.inject.Inject; import org.apache.commons.lang3.StringUtils; import org.primefaces.convert.ClientConverter; import com.algaworks.pedidovenda.model.Categoria; import com.algaworks.pedidovenda.repository.Categorias; @FacesConverter(forClass = Categoria.class) public class CategoriaConverter implements Converter, ClientConverter { @Inject private Categorias categorias; @Override public Object getAsObject(FacesContext context, UIComponent component, String value) { Categoria retorno = null; if (StringUtils.isNotEmpty(value)) { Long id = new Long(value); retorno = categorias.porId(id); } return retorno; } @Override public String getAsString(FacesContext context, UIComponent component, Object value) { if (value != null) { return ((Categoria) value).getId().toString(); } return ""; } @Override public Map<String, Object> getMetadata() { return null; } @Override public String getConverterId() { return "com.algaworks.Categoria"; } }