You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by Adrian Crum <ad...@hlmksw.com> on 2009/06/15 16:39:45 UTC
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
lektran@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
>
>
>
Re: svn commit: r784712 - in /ofbiz/trunk/framework/webapp: config/freemarkerTransforms.properties src/org/ofbiz/webapp/ftl/IncludeTemplateTransform.java
Posted by Jacques Le Roux <ja...@les7arts.com>.
I never tried, thanks!
Jacques
From: "Adrian Crum" <ad...@hlmksw.com>
> Use a file: URL.
>
> -Adrian
>
> Jacques Le Roux wrote:
>> I'm not sure it's the reason but with the Freemarker include directive you can't get a file out of the webapp root (there is no
>> real absolute path option)
>>
>> Jacques
>>
>> From: "Adrian Crum" <ad...@hlmksw.com>
>>> Why is this necessary? Freemarker already has an include directive.
>>>
>>> -Adrian
>>>
>>> lektran@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
>>>>
>>>>
>>>>
>>>
>>
>>
>>
>
Re: svn commit: r784712 - in /ofbiz/trunk/framework/webapp: config/freemarkerTransforms.properties
src/org/ofbiz/webapp/ftl/IncludeTemplateTransform.java
Posted by Adrian Crum <ad...@hlmksw.com>.
Use a file: URL.
-Adrian
Jacques Le Roux wrote:
> I'm not sure it's the reason but with the Freemarker include directive
> you can't get a file out of the webapp root (there is no real absolute
> path option)
>
> Jacques
>
> From: "Adrian Crum" <ad...@hlmksw.com>
>> Why is this necessary? Freemarker already has an include directive.
>>
>> -Adrian
>>
>> lektran@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
>>>
>>>
>>>
>>
>
>
>
Re: svn commit: r784712 - in /ofbiz/trunk/framework/webapp: config/freemarkerTransforms.properties src/org/ofbiz/webapp/ftl/IncludeTemplateTransform.java
Posted by Jacques Le Roux <ja...@les7arts.com>.
I'm not sure it's the reason but with the Freemarker include directive you can't get a file out of the webapp root (there is no real
absolute path option)
Jacques
From: "Adrian Crum" <ad...@hlmksw.com>
> Why is this necessary? Freemarker already has an include directive.
>
> -Adrian
>
> lektran@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
>>
>>
>>
>
Re: svn commit: r784712 - in /ofbiz/trunk/framework/webapp:
config/freemarkerTransforms.properties
src/org/ofbiz/webapp/ftl/IncludeTemplateTransform.java
Posted by Scott Gray <sc...@hotwaxmedia.com>.
Ha well how about that, out it comes.
Regards
Scott
----- Original Message -----
From: "Adrian Crum" <ad...@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" <ad...@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
>
> lektran@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
>>
>>
>>
>
Re: svn commit: r784712 - in /ofbiz/trunk/framework/webapp: config/freemarkerTransforms.properties
src/org/ofbiz/webapp/ftl/IncludeTemplateTransform.java
Posted by Adrian Crum <ad...@hlmksw.com>.
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" <ad...@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
>
> lektran@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
>>
>>
>>
>
Re: svn commit: r784712 - in /ofbiz/trunk/framework/webapp:
config/freemarkerTransforms.properties
src/org/ofbiz/webapp/ftl/IncludeTemplateTransform.java
Posted by Scott Gray <sc...@hotwaxmedia.com>.
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" <ad...@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
lektran@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
>
>
>