package org.jboss.seam.wiki.core.ui; import org.jboss.seam.ui.EntityConverter; import org.jboss.seam.wiki.core.model.WikiNode; import org.jboss.seam.wiki.core.model.WikiTreeNode; import javax.faces.convert.ConverterException; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; /** * Making the broken JSF implementation happy. */ public class WikiTreeNodeEntityConverter extends EntityConverter { @Override public String getAsString(FacesContext facesContext, UIComponent uiComponent, Object o) throws ConverterException { String result; if (o instanceof WikiTreeNode) { result = super.getAsString(facesContext, uiComponent, ((WikiTreeNode) o).getNode()); return result; } else { throw new IllegalArgumentException("Can not convert: " + o); } } @Override public Object getAsObject(FacesContext facesContext, UIComponent uiComponent, String s) throws ConverterException { Object o = super.getAsObject(facesContext, uiComponent, s); return new WikiTreeNode(0, (WikiNode) o); } }