1 /*** 2 * Copyright (c) 2003 held jointly by the individual authors. 3 * 4 * This library is free software; you can redistribute it and/or modify it under 5 * the terms of the GNU Lesser General Public License as published by the Free 6 * Software Foundation; either version 2.1 of the License, or (at your option) 7 * any later version. 8 * 9 * This library is distributed in the hope that it will be useful, but WITHOUT 10 * ANY WARRANTY; with out even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License 12 * for more details. 13 * 14 * You should have received a copy of the GNU Lesser General Public License 15 * along with this library; if not, write to the Free Software Foundation, Inc., 16 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. > 17 * http://www.gnu.org/copyleft/lesser.html > 18 * http://www.opensource.org/licenses/lgpl-license.php 19 */ 20 package net.mlw.vlh.web.util; 21 22 import javax.servlet.jsp.PageContext; 23 24 import org.apache.commons.logging.Log; 25 import org.apache.commons.logging.LogFactory; 26 27 /*** 28 * 29 * The ImagesHomeDisplayHelper can be used by adding the folloing in the spring 30 * config file: 31 * 32 * <pre> 33 * 34 * 35 * <bean id="myLook" singleton="true" class="net.mlw.vlh.web.ValueListConfigBean"> 36 * <property name="displayHelper"> 37 * <bean class="net.mlw.vlh.web.util.ImagesHomeDisplayHelper" /> 38 * </property> 39 * ... 40 * </bean> 41 * 42 * 43 * </pre> 44 * 45 * This ImagesHomeDisplayHelper simply takes the value of your key and replace 46 * any occurrences of the text <code>@IMAGES_HOME@</code> with <b>html </b> DisplayProvider's images home. 47 * 48 * @author Andrej Zachar 49 * @version $Revision: 1.3 $ $Date: 2005/05/23 17:44:55 $ 50 */ 51 public final class ImagesHomeDisplayHelper implements DisplayHelper 52 { 53 /*** 54 * Logger for this class 55 */ 56 private static final Log LOGGER = LogFactory 57 .getLog(ImagesHomeDisplayHelper.class); 58 59 /*** 60 * Attribute key used in pageContext to store imagesHome dir. This usage 61 * will be 100% changed in the future! 62 * 63 * @TODO do not swallow this! 64 */ 65 public static final String IMAGES_HOME_ATTRIBUTE_KEY = "VALUELIST_IMAGE_HOME_ATTRIBUTE_KEY"; 66 67 /*** 68 * @see net.mlw.vlh.web.util.DisplayHelper#help(javax.servlet.jsp.PageContext, 69 * java.lang.String) 70 */ 71 public String help(PageContext pageContext, String key) 72 { 73 if (LOGGER.isDebugEnabled()) 74 { 75 LOGGER.debug("Replacing images home '" 76 + (String) pageContext 77 .getAttribute(IMAGES_HOME_ATTRIBUTE_KEY) 78 + "' in key '" + key + "'"); 79 } 80 81 return key.replaceAll("@IMAGES_HOME@", (String) pageContext 82 .getAttribute(IMAGES_HOME_ATTRIBUTE_KEY)); 83 } 84 }