/********************************************************************************** * $URL: https://source.sakaiproject.org/svn/presence/trunk/presence-api/api/src/java/org/sakaiproject/presence/api/PresenceService.java $ * $Id: PresenceService.java 7844 2006-04-17 13:06:02Z ggolden@umich.edu $ *********************************************************************************** * * Copyright (c) 2005, 2006, 2007, 2008 The Sakai Foundation * * Licensed under the Educational Community License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.opensource.org/licenses/ECL-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * **********************************************************************************/ package org.sakaiproject.jsf.roster; import java.io.IOException; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; import javax.faces.context.ResponseWriter; import javax.faces.render.Renderer; import org.sakaiproject.util.FormattedText; public class RosterDisplayHTMLRender extends Renderer { public boolean supportsComponentType(UIComponent component) { return (component instanceof org.sakaiproject.jsf.roster.RosterDisplayHTMLComponent); } public void encodeBegin(FacesContext context, UIComponent component) throws IOException { if (!component.isRendered()) return; ResponseWriter writer = context.getResponseWriter(); String rawValue = (String) component.getAttributes().get("value"); //process HTML and strip evil tags. String value = FormattedText.processFormattedText(rawValue, new StringBuilder(), true, false); if ((value != null) && (!value.equals(""))) { value = value.replaceAll("<strong>", "<b>"); value = value.replaceAll("</strong>", "</b>"); writer.write(value); } } public void encodeEnd(FacesContext context, UIComponent component) throws IOException { } }