package com.loomis.jsf.component.wiki; import java.io.IOException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import javax.faces.application.FacesMessage; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; import javax.faces.convert.ConverterException; import org.apache.myfaces.custom.date.HtmlDateRenderer; import org.apache.myfaces.custom.date.HtmlInputDate.UserData; import org.apache.myfaces.shared_tomahawk.util.MessageUtils; import com.loomis.jsf.component.utils.WikiRenderer; public class WikiDateRenderer extends HtmlDateRenderer { @Override public void encodeBegin(FacesContext context, UIComponent component) throws IOException { WikiDate wikiComponent = (WikiDate) component; WikiRenderer wikiRenderer = WikiRenderer.getAppropriateInstance(context, wikiComponent); wikiRenderer.encodeBegin(); if (wikiComponent.isWikiEnabled()) { super.encodeBegin(context, component); } } @Override public void encodeEnd(FacesContext context, UIComponent component) throws IOException { WikiDate wikiComponent = (WikiDate) component; WikiRenderer wikiRenderer = WikiRenderer.getAppropriateInstance(context, wikiComponent); if (wikiComponent.isWikiEnabled()) { super.encodeEnd(context, component); } Object dateObj = wikiComponent.getValue(); if ((dateObj instanceof String) || dateObj instanceof Date) { wikiRenderer.encodeEnd((new SimpleDateFormat("MMM dd, yyyy")) .format(dateObj), true); } else { wikiRenderer.encodeEnd(null, true); } } @Override public void encodeChildren(FacesContext context, UIComponent component) throws IOException { WikiDate wikiComponent = (WikiDate) component; if (wikiComponent.isWikiEnabled()) { super.encodeEnd(context, component); } } }