package javaone.con3638.pfscaffolding.jsfs; import javaone.con3638.pfscaffolding.entities.Owner; import javaone.con3638.pfscaffolding.sbs.OwnerFacade; import javaone.con3638.pfscaffolding.jsfs.util.JsfUtil; import java.util.logging.Level; import java.util.logging.Logger; import javax.inject.Named; import javax.inject.Inject; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; import javax.faces.convert.Converter; @Named public class OwnerConverter implements Converter { @Inject private OwnerFacade ejbFacade; @Override public Object getAsObject(FacesContext facesContext, UIComponent component, String value) { if (value == null || value.length() == 0 || JsfUtil.isDummySelectItem(component, value)) { return null; } return this.ejbFacade.find(getKey(value)); } java.lang.Long getKey(String value) { java.lang.Long key; key = Long.valueOf(value); return key; } String getStringKey(java.lang.Long value) { StringBuffer sb = new StringBuffer(); sb.append(value); return sb.toString(); } @Override public String getAsString(FacesContext facesContext, UIComponent component, Object object) { if (object == null || (object instanceof String && ((String) object).length() == 0)) { return null; } if (object instanceof Owner) { Owner o = (Owner) object; return getStringKey(o.getId()); } else { Logger.getLogger(this.getClass().getName()).log(Level.SEVERE, "object {0} is of type {1}; expected type: {2}", new Object[]{object, object.getClass().getName(), Owner.class.getName()}); return null; } } }