Ha well how about that, out it comes. Regards Scott
----- Original Message ----- From: "Adrian Crum" <adri...@hlmksw.com> To: dev@ofbiz.apache.org Sent: Tuesday, June 16, 2009 8:18:10 AM (GMT+1000) Auto-Detected Subject: Re: svn commit: r784712 - in /ofbiz/trunk/framework/webapp: config/freemarkerTransforms.properties src/org/ofbiz/webapp/ftl/IncludeTemplateTransform.java If you search *.ftl for "<#include" you'll see that it is already being done. -Adrian Scott Gray wrote: > I wanted to be able to use component:// paths, if it's not wanted I don't > mind pulling it out as it was only 10 minutes work. > > Regards > Scott > > ----- Original Message ----- > From: "Adrian Crum" <adri...@hlmksw.com> > To: dev@ofbiz.apache.org > Sent: Tuesday, June 16, 2009 12:39:45 AM (GMT+1000) Auto-Detected > Subject: Re: svn commit: r784712 - in /ofbiz/trunk/framework/webapp: > config/freemarkerTransforms.properties > src/org/ofbiz/webapp/ftl/IncludeTemplateTransform.java > > Why is this necessary? Freemarker already has an include directive. > > -Adrian > > lekt...@apache.org wrote: >> Author: lektran >> Date: Mon Jun 15 10:18:55 2009 >> New Revision: 784712 >> >> URL: http://svn.apache.org/viewvc?rev=784712&view=rev >> Log: >> Add a new template transform for including templates in freemarker templates >> using component notation: >> <@includeTemplate >> location="component://common/webcommon/includes/cctypes.ftl"/> >> >> Added: >> >> ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/ftl/IncludeTemplateTransform.java >> (with props) >> Modified: >> ofbiz/trunk/framework/webapp/config/freemarkerTransforms.properties >> >> Modified: ofbiz/trunk/framework/webapp/config/freemarkerTransforms.properties >> URL: >> http://svn.apache.org/viewvc/ofbiz/trunk/framework/webapp/config/freemarkerTransforms.properties?rev=784712&r1=784711&r2=784712&view=diff >> ============================================================================== >> --- ofbiz/trunk/framework/webapp/config/freemarkerTransforms.properties >> (original) >> +++ ofbiz/trunk/framework/webapp/config/freemarkerTransforms.properties Mon >> Jun 15 10:18:55 2009 >> @@ -27,3 +27,4 @@ >> ofbizAmount=org.ofbiz.webapp.ftl.OfbizAmountTransform >> setRequestAttribute=org.ofbiz.webapp.ftl.SetRequestAttributeMethod >> renderWrappedText=org.ofbiz.webapp.ftl.RenderWrappedTextTransform >> +includeTemplate=org.ofbiz.webapp.ftl.IncludeTemplateTransform >> >> Added: >> ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/ftl/IncludeTemplateTransform.java >> URL: >> http://svn.apache.org/viewvc/ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/ftl/IncludeTemplateTransform.java?rev=784712&view=auto >> ============================================================================== >> --- >> ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/ftl/IncludeTemplateTransform.java >> (added) >> +++ >> ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/ftl/IncludeTemplateTransform.java >> Mon Jun 15 10:18:55 2009 >> @@ -0,0 +1,73 @@ >> +/******************************************************************************* >> + * Licensed to the Apache Software Foundation (ASF) under one >> + * or more contributor license agreements. See the NOTICE file >> + * distributed with this work for additional information >> + * regarding copyright ownership. The ASF licenses this file >> + * to you under the Apache 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.apache.org/licenses/LICENSE-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.ofbiz.webapp.ftl; >> + >> +import java.io.IOException; >> +import java.io.Writer; >> +import java.util.Map; >> + >> +import org.ofbiz.base.util.UtilValidate; >> +import org.ofbiz.base.util.template.FreeMarkerWorker; >> + >> +import freemarker.core.Environment; >> +import freemarker.template.SimpleScalar; >> +import freemarker.template.Template; >> +import freemarker.template.TemplateException; >> +import freemarker.template.TemplateModelException; >> +import freemarker.template.TemplateTransformModel; >> + >> +public class IncludeTemplateTransform implements TemplateTransformModel { >> + >> + public final static String module = >> IncludeTemplateTransform.class.getName(); >> + >> + public Writer getWriter(final Writer out, Map args) { >> + final StringBuilder buf = new StringBuilder(); >> + final String templateLocation = this.getTemplateLocation(args); >> + >> + return new Writer(out) { >> + public void write(char cbuf[], int off, int len) { >> + buf.append(cbuf, off, len); >> + } >> + >> + public void flush() throws IOException { >> + out.flush(); >> + } >> + >> + public void close() throws IOException { >> + try { >> + Environment env = Environment.getCurrentEnvironment(); >> + Template template = >> FreeMarkerWorker.getTemplate(templateLocation); >> + env.include(template); >> + } catch (TemplateModelException e) { >> + throw new IOException(e.getMessage()); >> + } catch (TemplateException e) { >> + throw new IOException(e.getMessage()); >> + } >> + } >> + }; >> + } >> + >> + private String getTemplateLocation(Map args) { >> + Object templateLocationObj = args.get("location"); >> + if (templateLocationObj != null && templateLocationObj instanceof >> SimpleScalar) { >> + return ((SimpleScalar) templateLocationObj).getAsString(); >> + } >> + return null; >> + } >> +} >> >> Propchange: >> ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/ftl/IncludeTemplateTransform.java >> ------------------------------------------------------------------------------ >> svn:eol-style = native >> >> Propchange: >> ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/ftl/IncludeTemplateTransform.java >> ------------------------------------------------------------------------------ >> svn:keywords = "Date Rev Author URL Id" >> >> Propchange: >> ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/ftl/IncludeTemplateTransform.java >> ------------------------------------------------------------------------------ >> svn:mime-type = text/plain >> >> >> >