package br.com.ufrj.msi2.netuno.converter; import java.util.Map; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; import javax.faces.convert.Converter; import br.com.ufrj.msi2.netuno.modelo.entidades.Porto; public class PortoConverter implements Converter { public Object getAsObject(FacesContext ctx, UIComponent component, String value) { if (value != null) { return this.getAttributesFrom(component).get(value); } return null; } public String getAsString(FacesContext ctx, UIComponent component, Object value) { if (value != null && !"".equals(value)) { Porto entity = (Porto) value; this.addAttribute(component, entity); int codigo = entity.getId(); return String.valueOf(codigo); } return (String) value; } protected void addAttribute(UIComponent component, Porto p) { String key = String.valueOf(p.getId()); this.getAttributesFrom(component).put(key, p); } protected Map<String, Object> getAttributesFrom(UIComponent component) { return component.getAttributes(); } }