From 9e4cea4d19b012ca4d067403ecc1f3916743eba1 Mon Sep 17 00:00:00 2001 From: mh Date: Tue, 10 Dec 2002 09:10:41 +0000 Subject: [PATCH 1/1] a wrapper class for the StringUtil.encodeHTML method that implements the freemarker templateMethodModel so we can call the method directly in templates. namely in the admin templated. sort of backport from the HEAD branch, although HEAD implements it differently. --- source/mir/misc/EncodeHTMLMethodModel.java | 67 ++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100755 source/mir/misc/EncodeHTMLMethodModel.java diff --git a/source/mir/misc/EncodeHTMLMethodModel.java b/source/mir/misc/EncodeHTMLMethodModel.java new file mode 100755 index 00000000..3957ee86 --- /dev/null +++ b/source/mir/misc/EncodeHTMLMethodModel.java @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2001, 2002 The Mir-coders group + * + * This file is part of Mir. + * + * Mir is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * Mir is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Mir; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * In addition, as a special exception, The Mir-coders gives permission to link + * the code of this program with the com.oreilly.servlet library, any library + * licensed under the Apache Software License, The Sun (tm) Java Advanced + * Imaging library (JAI), The Sun JIMI library (or with modified versions of + * the above that use the same license as the above), and distribute linked + * combinations including the two. You must obey the GNU General Public + * License in all respects for all of the code used other than the above + * mentioned libraries. If you modify this file, you may extend this exception + * to your version of the file, but you are not obligated to do so. If you do + * not wish to do so, delete this exception statement from your version. + */ + +package mir.misc; + +import freemarker.template.*; + +import java.util.List; + +/** + * Wrapper class that implements the freemarker template model for the + * StringUtil.encodeHTML method. + * + * @version $Id: EncodeHTMLMethodModel.java,v 1.1.2.1 2002/12/10 09:10:41 mh Exp $ + * @author mh, Mir-coders group + * + */ + +public class EncodeHTMLMethodModel implements TemplateMethodModel +{ + public TemplateModel exec(List arguments) throws TemplateModelException { + if (arguments.size()==1) { + try { + String aString = StringUtil.interpretAsString(arguments.get(0)); + return new SimpleScalar(StringUtil.encodeHTML(aString)); + } catch (Exception e) { + throw new TemplateModelException("EncodeHTMLTemplateMethodModel: "+e.getMessage()); + } + } else { + throw new TemplateModelException("EncodeHTMLTemplateMethodModel: argument list empty or null!"); + } + } + + // who knows..... -mh + public boolean isEmpty() { + return false; + } +} + -- 2.11.0