package org.jboss.seam.example.ui; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; import javax.persistence.EntityManager; import org.jboss.seam.Component; import org.jboss.seam.annotations.Name; import org.jboss.seam.annotations.faces.Converter; import org.jboss.seam.annotations.intercept.BypassInterceptors; @Name("filmConverter") @Converter(forClass = Film.class) @BypassInterceptors public class FilmConverter implements javax.faces.convert.Converter { public Object getAsObject(FacesContext context, UIComponent component, String value) { EntityManager entityManager = (EntityManager) Component.getInstance("entityManager"); if (value != null) { try { Integer id = Integer.parseInt(value); if (id != null) { return entityManager.find(Film.class, id); } } catch (NumberFormatException e) { } } return null; } public String getAsString(FacesContext context, UIComponent component, Object value) { if (value instanceof Film) { Film film = (Film) value; return film.getId().toString(); } else { return null; } } }