Deleted examples. They weren't maintained much. Anyway, if we want examples, 
that should be done on GitHub for example. Putting them into the releases 
doesn't make much sense.


Project: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/commit/19c2b987
Tree: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/tree/19c2b987
Diff: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/diff/19c2b987

Branch: refs/heads/2.3-gae
Commit: 19c2b98739b68e5e8fc6bc463a2ddb59f3a10385
Parents: def5937
Author: ddekany <[email protected]>
Authored: Sat Jan 2 16:06:30 2016 +0100
Committer: ddekany <[email protected]>
Committed: Sat Jan 2 16:06:30 2016 +0100

----------------------------------------------------------------------
 build.xml                                       |   75 -
 src/examples/README.txt                         |   39 -
 src/examples/ant/README.txt                     |   24 -
 src/examples/ant/build.xml                      |   34 -
 src/examples/ant/src/template/faq2html.ftl      |   51 -
 src/examples/ant/src/xml/faq.xml                |  221 --
 .../WEB-INF/classes/example/AddAction.java      |   45 -
 .../example/ApplicationResources.properties     |   22 -
 .../WEB-INF/classes/example/FormAction.java     |   37 -
 .../classes/example/GuestbookAction.java        |   34 -
 .../classes/example/GuestbookActionServlet.java |   39 -
 .../WEB-INF/classes/example/GuestbookEntry.java |   45 -
 .../classes/example/GuestbookEntryForm.java     |   73 -
 .../WEB-INF/classes/example/IndexAction.java    |   42 -
 .../struts-webapp/WEB-INF/struts-config.xml     |   60 -
 .../struts-webapp/WEB-INF/struts-html.tld       | 2934 ------------------
 src/examples/struts-webapp/WEB-INF/web.xml      |  125 -
 src/examples/struts-webapp/add.ftl              |   32 -
 src/examples/struts-webapp/form.ftl             |   39 -
 src/examples/struts-webapp/help.html            |   43 -
 src/examples/struts-webapp/index.ftl            |   41 -
 src/examples/struts-webapp/lib/common.ftl       |   39 -
 src/examples/struts-webapp/poweredby_ffffff.png |  Bin 2775 -> 0 bytes
 .../WEB-INF/classes/example/HelloServlet.java   |   80 -
 src/examples/webapp1/WEB-INF/templates/test.ftl |   26 -
 src/examples/webapp1/WEB-INF/web.xml            |   38 -
 src/examples/webapp1/help.html                  |   39 -
 .../classes/example/ControllerServlet.java      |  148 -
 .../WEB-INF/classes/example/GuestbookEntry.java |   45 -
 .../classes/example/GuestbookServlet.java       |   97 -
 .../webapp2/WEB-INF/classes/example/Page.java   |   67 -
 src/examples/webapp2/WEB-INF/templates/add.ftl  |   32 -
 src/examples/webapp2/WEB-INF/templates/form.ftl |   44 -
 .../webapp2/WEB-INF/templates/index.ftl         |   42 -
 .../webapp2/WEB-INF/templates/lib/common.ftl    |   39 -
 src/examples/webapp2/WEB-INF/web.xml            |   38 -
 src/examples/webapp2/help.html                  |   84 -
 src/examples/webapp2/poweredby_ffffff.png       |  Bin 2775 -> 0 bytes
 38 files changed, 4913 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/19c2b987/build.xml
----------------------------------------------------------------------
diff --git a/build.xml b/build.xml
index 06dc5eb..1d9769e 100644
--- a/build.xml
+++ b/build.xml
@@ -69,18 +69,6 @@
     property="boot.classpath.j2se1.6.correct"
   />
   
-  <condition property="example.freemarker.jar.location"
-    value="freemarker.jar" else="build/freemarker.jar">
-    <and>
-      <available  file="freemarker.jar" />
-      <not>
-        <available  file="build/freemarker.jar" />
-      </not>
-    </and>
-  </condition>
-  
-  <available file="lib/struts" property="struts.available" />
-  
   <!-- Set up version/timestamp filters and the version property: -->
   <tstamp>
     <format property="timestampNice" pattern="yyyy-MM-dd'T'HH:mm:ss'Z'"
@@ -598,69 +586,6 @@
     <u:manual offline="false" locale="zh_CN" />
   </target>
   
-  <!-- ====================== -->
-  <!-- Examples               -->
-  <!-- ====================== -->
-
-  <macrodef name="buildExampleWebapp" uri="http://freemarker.org/util";>
-    <attribute name="exampleName" />
-    <sequential>
-      <mkdir dir="build/examples/@{exampleName}/WEB-INF/classes" />
-      <ivy:cachepath conf="example.@{exampleName}" pathid="ivy.dep" />
-      <javac
-        srcdir="src/examples/@{exampleName}/WEB-INF/classes"
-        destdir="build/examples/@{exampleName}/WEB-INF/classes"
-        deprecation="off" debug="on" optimize="off" target="1.5" source="1.5"
-        encoding="utf-8"
-        includeantruntime="false"
-        classpathref="ivy.dep"
-        bootclasspath="${boot.classpath.j2se1.5}"
-      >
-        <classpath>
-          <pathelement path="${ivy.dep}" />
-          <pathelement location="${example.freemarker.jar.location}" />
-          <fileset dir="lib/struts" erroronmissingdir="false">
-            <include name="*.jar" />
-          </fileset>
-        </classpath>
-      </javac>
-      <copy toDir="build/examples/@{exampleName}">
-        <fileset dir="src/examples/@{exampleName}" excludes="**/*.java" />
-      </copy>
-      <copy file="${example.freemarker.jar.location}"
-        todir="build/examples/@{exampleName}/WEB-INF/lib" />
-      <echo message="*** Example built: build/examples/@{exampleName} ***" />
-    </sequential>
-  </macrodef>
-  
-  <target name="example-webapp1" depends="jar" description="Build example 
webapp 1">
-    <u:buildExampleWebapp examplename="webapp1" />
-  </target>
-
-  <target name="example-webapp2" depends="jar" description="Build example 
webapp 2">
-    <u:buildExampleWebapp examplename="webapp2" />
-  </target>
-
-  <target name="example-struts-webapp" depends="jar" description="Build 
example Struts 1 webapp">
-    <fail unless="struts.available"><!--
-      -->You have to copy the Struts 1.1 jar-s to <!--
-      -->&lt;freemarker_project>/lib/struts to build this example!<!--
-    --></fail>
-    <copy todir="build/examples/struts-webapp/WEB-INF/lib">
-      <fileset dir="lib/struts" />
-    </copy>
-    <u:buildExampleWebapp examplename="struts-webapp" />
-  </target>
-  
-  <target name="example-ant" depends="jar" description="Build Ant example">
-    <mkdir dir="build/examples/ant" />
-    <copy toDir="build/examples/ant">
-      <fileset dir="src/examples/ant" />
-    </copy>
-    <copy file="${example.freemarker.jar.location}"
-      todir="build/examples/ant/lib" />
-    <echo message="*** Example built: build/examples/ant ***" />
-  </target>
 
   <!-- ====================== -->
   <!-- Distributuion building -->

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/19c2b987/src/examples/README.txt
----------------------------------------------------------------------
diff --git a/src/examples/README.txt b/src/examples/README.txt
deleted file mode 100644
index 437cd28..0000000
--- a/src/examples/README.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * 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.
- */
- 
-Examples
-========
-
-Examples for using FreeMarker (FM):
-
-webapp1        Building Web app. framework around FM, step 1: Hello World!
-webapp2        Building Web app. framework around FM, step 2: Guest-book
-struts-webapp  Using FM in a Model-2 framework (Struts 1.1) with JSP taglibs
-ant            Demonstrates the FreeMarker XML transform Ant-task
-
-To build the example webapps, you need Ant (http://ant.apache.org/) and run
-the following commands from the base FreeMarker directory:
-
-  ant example-<example-name>
-
-where <example-name> is the name of the example as struts-webapp or webapp1.
-The built Web applications will be in the build/examples directory.
-
-For more information read the help.html or README.txt in the directory of
-examples.

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/19c2b987/src/examples/ant/README.txt
----------------------------------------------------------------------
diff --git a/src/examples/ant/README.txt b/src/examples/ant/README.txt
deleted file mode 100644
index 5ac811c..0000000
--- a/src/examples/ant/README.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * 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.
- */
- 
-Issue ant from this directory, and it will create an out directory with HTLM
-in it.
-
-You should do this in the already built example, not inside the
-src/examples/ant directory!

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/19c2b987/src/examples/ant/build.xml
----------------------------------------------------------------------
diff --git a/src/examples/ant/build.xml b/src/examples/ant/build.xml
deleted file mode 100644
index b60a2cb..0000000
--- a/src/examples/ant/build.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<!--
-  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.
--->
-<project name="FreeMarker-FAQ" default="generate" basedir=".">
-  <taskdef
-      name="freemarker"
-      classname="freemarker.ext.ant.FreemarkerXmlTask"
-      classpath="lib/freemarker.jar" />
-
-  <target name="generate">
-    <mkdir dir="html" />
-    <freemarker
-        basedir="src/xml"
-        destdir="out"
-        includes="**/*.xml"
-        template="src/template/faq2html.ftl" />
-  </target>
-    
-</project>

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/19c2b987/src/examples/ant/src/template/faq2html.ftl
----------------------------------------------------------------------
diff --git a/src/examples/ant/src/template/faq2html.ftl 
b/src/examples/ant/src/template/faq2html.ftl
deleted file mode 100644
index fb6a8ca..0000000
--- a/src/examples/ant/src/template/faq2html.ftl
+++ /dev/null
@@ -1,51 +0,0 @@
-<#--
-  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.
--->
-<#escape x as x?html>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"; lang="en" xml:lang="en">
-  <head>
-    <title>${.node.faq.@title}</title>
-    <meta name="keywords" content="FreeMarker, Java, servlet, HTML, template, 
free software, open source, XML" />
-  </head>
-  <body bgcolor="#ffffff">
-    <h2><a name="top">${.node.faq.@title}</a></h2>
-    <#noescape>${.node.faq.preface.@@markup}</#noescape>
-    <h3>Table of contents</h3>
-
-    <#list .node.faq.topicgroup as topicgroup>
-      <h4>${topicgroup.@name}</h4>
-      <ul>
-      <#list topicgroup.topic as topic>
-        <li><a href="#${topic.@id}">${topic.@name}</a></li>
-      </#list>
-      </ul>
-    </#list>
-
-    <p>If your question was not answered by this FAQ, write to
-    <a href="mailto:${.node.faq.@adminMailTo}";>${.node.faq.@adminName}</a>
-    (the current maintainer).</p>
-    <#list .node.faq.topicgroup.topic as topic>
-      <hr />
-      <h3><a name="${topic.@id}">${topic.@name}</a></h3>
-        <#noescape>${topic.@@nested_markup}</#noescape>
-      <p><a href="#top">Back to top</a></p>
-    </#list>
-  </body>
-</html>
-</#escape>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/19c2b987/src/examples/ant/src/xml/faq.xml
----------------------------------------------------------------------
diff --git a/src/examples/ant/src/xml/faq.xml b/src/examples/ant/src/xml/faq.xml
deleted file mode 100644
index d201a7f..0000000
--- a/src/examples/ant/src/xml/faq.xml
+++ /dev/null
@@ -1,221 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  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.
--->
-<faq title="The Old FreeMarker FAQ" 
adminMailTo="[email protected]" adminName="Nicholas Cull">
-  <preface/>
-  <topicgroup name="Assembling template data models">
-    <topic id="basic" name="Can you give me some examples showing how to 
assemble a template data model?">
-<p>The easiest way is to use <tt>SimpleHash</tt>, <tt>SimpleList</tt>, and 
-<tt>SimpleScalar</tt>. For example, suppose you want to be able to use a 
-variable called <tt>foo.bar.baz.bing</tt> in your template. You could make a 
-structure of nested <tt>SimpleHash</tt> objects like this: </p>
-<pre>SimpleHash foo = new SimpleHash();
-SimpleHash bar = new SimpleHash();
-SimpleHash baz = new SimpleHash();
-SimpleScalar bing = new SimpleScalar("value of bing");
-baz.put("bing", bing);
-bar.put("baz", baz);
-foo.put("bar", bar);
-modelRoot.put("foo", foo);
-</pre>
-<p>What about nested lists? Suppose you wanted to write something like this in 
a 
-template: </p>
-<pre>&lt;list list1 as list2&gt;
-    &lt;list list2 as list3&gt;
-        &lt;list list3 as element&gt;
-            ${element}&lt;br&gt;
-        &lt;/list&gt;
-    &lt;/list&gt;
-&lt;/list&gt;
-</pre>
-<p>You could make nested <tt>SimpleList</tt>s like this: </p>
-<pre>SimpleList list1 = new SimpleList();
-for (int i = 0; i &lt; 3; i++) {
-    SimpleList list2 = new SimpleList();
-    for (int j = 0; j &lt; 3; j++) {
-        SimpleList list3 = new SimpleList();
-        for (int k = 0; k &lt; 3; k++) {
-            list3.add(new SimpleScalar("test " +
-                                       String.valueOf(i) +
-                                       " " +
-                                       String.valueOf(j) +
-                                       " " +
-                                       String.valueOf(k)));
-        }
-        list2.add(list3);
-    }
-    list1.add(list2);
-}
-
-modelRoot.put("list1", list1);
-</pre>
-<p>The template code above would then produce this output: </p>
-<p>test 0 0 0<br />test 0 0 1<br />test 0 0 2<br />test 0 1 0<br />test 0 1 
1<br />test 0 
-1 2<br />test 0 2 0<br />test 0 2 1<br />test 0 2 2<br />test 1 0 0<br />test 
1 0 
-1<br />test 1 0 2<br />test 1 1 0<br /></p>
-<p>etc.</p> 
-    </topic>
-    <topic id="xml" name="Can I use XML documents as data models?">
-      <p>Yes, you can. In particular, you have to first build a <a 
href="http://www.jdom.org/"; target="_top">JDOM</a> tree
-      from your XML document, and afterwards you can use JDOM tree nodes as 
data models.
-      The extensions library has a class that can wrap a JDOM nodes to expose 
them to FreeMarker as
-      a template model. In order to wrap your JDOM document tree in a 
freemarker TemplateModel, it is 
-      sufficient to do the following:</p>
-      <pre>
-...
-org.jdom.Document document = getMyDocumentSomehow(...);
-TemplateModel model = new freemarker.ext.jdom.NodeListModel(document);
-...
-      </pre>
-      <p>In the example below, the templates will be able to access the XML 
document through the 
-      "document" variable. The adapter supports all kinds of tree traversals 
and filterings,
-      allows use of a node list as a TemplateListModel, and outputs XML 
fragments of contained nodes 
-      when used as a string literal. It also features full XPath support.</p>
-      <p>This FAQ page itself is created by applying a FreeMarker template to 
an XML document. Table
-      of contents with links, topic grouping, and "Back to top" are all 
generated by the template.
-      See the <tt>examples/jdom</tt> and <tt>examples/ant</tt>
-      directories in FreeMarker distribution for example on using the XML 
support.</p>
-    </topic>
-    <topic id="reflect" name="What's a good way to wrap an existing object so 
that a template can call its methods?">
-      <p>The extensions library has classes to wrap arbitrary Java objects
-      as data models. In general, all you need to do to wrap your object 
<tt>obj</tt> into
-      a TemplateModel is to call a single static factory method:</p>
-      <pre>
-...
-TemplateModel model = freemarker.ext.beans.ReflectionUtilities.wrap(obj);
-...
-      </pre>
-      <p>After this, you can write arbitrary method calls on the wrapped 
object, i.e. you
-      can write <tt>${obj.getFoo()}</tt> in a template to execute method foo 
and place its
-      result in the template output. Extensions library uses the JavaBeans 
introspector to discover available
-      methods, so you can use bean property-style invocations as well: in 
previous example you could 
-      have written <tt>${obj.foo}</tt> as well. If any property or method call 
returns an object,
-      it is automatically wrapped for you, so you can chain invocations: 
<tt>{$obj.bar.baz.bing}</tt>
-      would translate to what in Java would be 
<tt>obj.getBar().getBaz().getBing()</tt>.
-      The framework automatically recognizes arrays as well as iterators, maps 
and collections
-      from <tt>java.util</tt> package and provides them with additional 
capabilities (arrays,
-      iterators, and collections act as list models and maps act as both lists 
of their entries
-      and allow lookup when used as a method model). There is even a facility 
for invoking
-      static methods (in case you ever needed 
<tt>System.currentTimeMillis()</tt> in a template).</p>
-      <p>It is worth noting that the framework caches the results of 
introspection, so that 
-      the negative performance impact resulting from reflected method lookup 
is minimized.</p>
-      <p>For example on using the reflection wrapper, see the 
<tt>examples/webapp</tt>
-      directory in the FreeMarker distribution.</p>
-    </topic>
-  </topicgroup>
-  <topicgroup name="Integration">
-    <topic id="servlet" name="Is there a HTTP servlet for FreeMarker I can use 
out-of-the-box?">
-      <p>Yes, there is. The extensions library has the class 
<tt>freemarker.ext.servlet.FreemarkerServlet</tt>
-      that you can use to provide template processing capabilities to your 
webapp. There is even a sample
-      webapp under the <tt>examples/webapp</tt> directory of the distribution 
that should get you started.</p>
-      <p>In general, you should only place the following inside your 
<tt>web.xml</tt> file:</p>
-<pre>
-  &lt;servlet&gt;
-    &lt;servlet-name&gt;freemarker&lt;/servlet-name&gt;
-    
&lt;servlet-class&gt;freemarker.ext.servlet.FreemarkerServlet&lt;/servlet-class&gt;
-    &lt;init-param&gt;
-      &lt;param-name&gt;TemplatePath&lt;/param-name&gt;
-      &lt;param-value&gt;/templates&lt;/param-value&gt;
-    &lt;/init-param&gt;
-    &lt;init-param&gt;
-      &lt;param-name&gt;TemplateDelay&lt;/param-name&gt;
-      &lt;param-value&gt;0&lt;/param-value&gt;
-    &lt;/init-param&gt;
-    &lt;init-param&gt;
-      &lt;param-name&gt;NoCache&lt;/param-name&gt;
-      &lt;param-value&gt;true&lt;/param-value&gt;
-    &lt;/init-param&gt;
-    &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;
-  &lt;/servlet&gt;
-
-  &lt;servlet-mapping&gt;
-    &lt;servlet-name&gt;freemarker&lt;/servlet-name&gt;
-    &lt;url-pattern&gt;/templates/*&lt;/url-pattern&gt;
-  &lt;/servlet-mapping&gt;
-</pre>
-    <p>This will map all URLs beginning with /templates/ to templates in your 
<tt>webapp/templates</tt> directory.
-    The servlet readily provides access to ServletContext, HttpSession, 
HttpServletRequest and HttpServletRequest 
-    parameters in the template data model. If you need to have additional 
variables available in your data model, 
-    just subclass the servlet and override the <tt>preTemplateProcess()</tt> 
method to shove any additional data
-    you need into the model before the template gets processed.</p>
-    </topic>
-    <topic id="ant" name="Can I use FreeMarker template processing in Ant?">
-      <p>Yes, you can. In particular, there is a FreeMarker task for Ant that 
will get a set of XML
-      files, run them through a FreeMarker template, and output the resulting 
files in a target 
-      directory. This method is ideal for generating documentation, SQL 
scripts, or any other
-      transformation requried during your build process. It is a viable 
alternative to Ant's
-      <tt>xslt</tt> task. The Ant task is part of the extensions library. See 
the <tt>examples/ant</tt>
-      directory in FreeMarker distribution for a sample <tt>build.xml</tt> 
file that employs FreeMarker.</p>
-    </topic>
-  </topicgroup>
-  <topicgroup name="Features">
-    <topic id="arithmetic" name="Is it possible to do integer arithmetic in 
templates?">
-      <p>Yes. As of 2.0, FreeMarker supports numerics without casting in and
-      out of TemplateScalarModel. The new TemplateNumberModel intrace means
-      that numbers of any given precision are supported, not just integers.
-      </p>
-      <p>The basic arithmetic operators are supported,
-      and meaningful comparison can be made between numbers. Internally, 
-      FreeMarker uses BigDecimals to ensure that no precision is lost when 
-      performing arithmetic operations.  See the <a 
href="docs/manual/index.html" target="_top">manual</a> for further details.</p>
-    </topic>
-    <topic id="editorMangle" name="I'm using a visual HTML editor that mangles 
template tags. Will you change the template language syntax to accomodate my 
editor?">
-<p>I won't change the standard version, because a lot of templates depend on 
it. 
-However, FreeMarker is designed to make it easy for you to change the syntax 
to 
-suit your needs. Changing the tag delimiters, making tags case-insensitive, 
and 
-representing operators differently would be simple changes to make. Take a 
look 
-at <tt>freemarker.template.compiler.FMParser.jj</tt>, for more details.
-Let me know if you need further explanation of anything in the source code.</p>
-<p>My view is that the editors that break template code are themselves broken; 
-you'll probably have the same problem if you try to use them with other 
template 
-systems. A good editor should ignore, not mangle, what it doesn't understand. 
</p>
-     </topic>
-     <topic id="structureInfo" name="How can my Java classes ask a template 
for information about its structure (e.g. a list of all the variables)?">
-<p>This isn't possible, because variable names can be dynamically generated 
from 
-data (see the <a 
-href="docs/manual/expressions.html">manual</a>). 
-However, there's a more important reason why FreeMarker doesn't support this. 
-The design of FreeMarker is based on the idea of a separation between business 
-objects and presentation objects. This separation takes two forms: </p>
-<ol>
-  <li>The templates know what data to expect, but they don't know how it's 
-  generated. </li>
-  <li>The business objects know what data to produce, but they don't know how 
-  it's going to be displayed. Therefore, they don't know anything about 
-  templates. </li>
-</ol>
-<p>Since the business objects don't rely on the templates, if you need to use 
-them with some other presentation system, you won't have to rewrite your 
-application. </p>
-     </topic>
-  </topicgroup>
-  <topicgroup name="Legal issues">
-    <topic id="license" name="If we distribute FreeMarker with our product, do 
we have to release the source code for our product?">
-      <p>No. As of 2.0, FreeMarker is released under the BSD license. This 
-      means that source or binary distributions may be made freely, and
-      can be included in other products, whether commercial or open source.</p>
-      <p>The only restrictions apply to the copyright of FreeMarker itself,
-      and the use of FreeMarker or its contributors as endorsements of
-      your own product. See the <a href="LICENSE.txt">LICENSE</a> for
-      further details.</p>
-      <p>If you use FreeMarker, I hope you'll send me a link to some 
information about 
-      your product, but that's optional as well.</p> 
-    </topic>
-  </topicgroup>
-</faq>

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/19c2b987/src/examples/struts-webapp/WEB-INF/classes/example/AddAction.java
----------------------------------------------------------------------
diff --git a/src/examples/struts-webapp/WEB-INF/classes/example/AddAction.java 
b/src/examples/struts-webapp/WEB-INF/classes/example/AddAction.java
deleted file mode 100644
index f2df9a4..0000000
--- a/src/examples/struts-webapp/WEB-INF/classes/example/AddAction.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * 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 example;
-
-import java.util.List;
-import javax.servlet.http.*;
-import org.apache.struts.action.*;
-
-
-public class AddAction extends GuestbookAction {
-
-    public ActionForward execute(
-            ActionMapping mapping,
-            ActionForm form,
-            HttpServletRequest req,
-            HttpServletResponse resp) throws Exception {
-
-        GuestbookEntryForm f = (GuestbookEntryForm) form;
-        List guestbook = getGuestbook();
-        synchronized (guestbook) {
-            guestbook.add(0, new GuestbookEntry(
-                    f.getName(), f.getEmail(), f.getMessage()));
-        }
-        
-        return mapping.findForward("success");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/19c2b987/src/examples/struts-webapp/WEB-INF/classes/example/ApplicationResources.properties
----------------------------------------------------------------------
diff --git 
a/src/examples/struts-webapp/WEB-INF/classes/example/ApplicationResources.properties
 
b/src/examples/struts-webapp/WEB-INF/classes/example/ApplicationResources.properties
deleted file mode 100644
index 7d6f5c8..0000000
--- 
a/src/examples/struts-webapp/WEB-INF/classes/example/ApplicationResources.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-# 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.
-
-errors.header=<p><font color=red>Please correct the following 
problems:</font><ul>
-errors.prefix=<li><font color=red>
-errors.suffix=</font>
-errors.footer=</ul>
-errors.required={0} is required.

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/19c2b987/src/examples/struts-webapp/WEB-INF/classes/example/FormAction.java
----------------------------------------------------------------------
diff --git a/src/examples/struts-webapp/WEB-INF/classes/example/FormAction.java 
b/src/examples/struts-webapp/WEB-INF/classes/example/FormAction.java
deleted file mode 100644
index 183fde5..0000000
--- a/src/examples/struts-webapp/WEB-INF/classes/example/FormAction.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * 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 example;
-
-import javax.servlet.http.*;
-import org.apache.struts.action.*;
-
-
-public class FormAction extends GuestbookAction {
-
-    public ActionForward execute(
-            ActionMapping mapping,
-            ActionForm form,
-            HttpServletRequest req,
-            HttpServletResponse resp) throws Exception {
-
-        return mapping.findForward("success");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/19c2b987/src/examples/struts-webapp/WEB-INF/classes/example/GuestbookAction.java
----------------------------------------------------------------------
diff --git 
a/src/examples/struts-webapp/WEB-INF/classes/example/GuestbookAction.java 
b/src/examples/struts-webapp/WEB-INF/classes/example/GuestbookAction.java
deleted file mode 100644
index 6d8a7d4..0000000
--- a/src/examples/struts-webapp/WEB-INF/classes/example/GuestbookAction.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * 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 example;
-
-import java.util.*;
-import org.apache.struts.action.*;
-
-/**
- * Defines utility methods for this application. 
- */
-public class GuestbookAction extends Action {
-    
-    ArrayList getGuestbook() {
-        return (ArrayList) servlet.getServletContext()
-                .getAttribute(GuestbookActionServlet.GUESTBOOK_KEY);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/19c2b987/src/examples/struts-webapp/WEB-INF/classes/example/GuestbookActionServlet.java
----------------------------------------------------------------------
diff --git 
a/src/examples/struts-webapp/WEB-INF/classes/example/GuestbookActionServlet.java
 
b/src/examples/struts-webapp/WEB-INF/classes/example/GuestbookActionServlet.java
deleted file mode 100644
index b7e0496..0000000
--- 
a/src/examples/struts-webapp/WEB-INF/classes/example/GuestbookActionServlet.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * 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 example;
-
-import java.util.*;
-import javax.servlet.*;
-
-import org.apache.struts.action.ActionServlet;
-
-public class GuestbookActionServlet extends ActionServlet {
-    
-    static final String GUESTBOOK_KEY = "guestbook";
-    
-    public void init(ServletConfig scfg) throws ServletException {
-        super.init(scfg);
-        
-        ServletContext sctx = scfg.getServletContext();
-        
-        // Add application specific global objects
-        sctx.setAttribute(GUESTBOOK_KEY, new ArrayList()); 
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/19c2b987/src/examples/struts-webapp/WEB-INF/classes/example/GuestbookEntry.java
----------------------------------------------------------------------
diff --git 
a/src/examples/struts-webapp/WEB-INF/classes/example/GuestbookEntry.java 
b/src/examples/struts-webapp/WEB-INF/classes/example/GuestbookEntry.java
deleted file mode 100644
index 76fa240..0000000
--- a/src/examples/struts-webapp/WEB-INF/classes/example/GuestbookEntry.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * 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 example;
-
-public class GuestbookEntry {
-    private String name;
-    private String email;
-    private String message;
-
-    public GuestbookEntry(String name, String email, String message) {
-        this.name = name;
-        this.email = email;
-        this.message = message;
-    }
-
-    public String getEmail() {
-        return email;
-    }
-
-    public String getMessage() {
-        return message;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/19c2b987/src/examples/struts-webapp/WEB-INF/classes/example/GuestbookEntryForm.java
----------------------------------------------------------------------
diff --git 
a/src/examples/struts-webapp/WEB-INF/classes/example/GuestbookEntryForm.java 
b/src/examples/struts-webapp/WEB-INF/classes/example/GuestbookEntryForm.java
deleted file mode 100644
index 12b4dd6..0000000
--- a/src/examples/struts-webapp/WEB-INF/classes/example/GuestbookEntryForm.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * 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 example;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.apache.struts.action.*;
-
-public class GuestbookEntryForm extends ActionForm {
-    private String name;
-    private String email;
-    private String message;
-    
-    public GuestbookEntryForm() {
-    }
-
-    public String getEmail() {
-        return email;
-    }
-
-    public void setEmail(String email) {
-        this.email = normalizeString(email);
-    }
-
-    public String getMessage() {
-        return message;
-    }
-
-    public void setMessage(String message) {
-        this.message = normalizeString(message);
-    }
-
-    public void setName(String name) {
-        this.name = normalizeString(name);
-    }
-
-    public String getName() {
-        return name;
-    }
-    
-    public ActionErrors validate(ActionMapping arg0, HttpServletRequest arg1) {
-        ActionErrors errs = new ActionErrors();
-        if (name.length() == 0) {
-            errs.add("name", new ActionError("errors.required", "name"));
-        }
-        if (message.length() == 0) {
-            errs.add("message", new ActionError("errors.required", "message"));
-        }
-        return errs.size() == 0 ? null : errs;
-    }
-    
-    private static String normalizeString(String s) {
-        if (s == null) return "";
-        return s.trim();
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/19c2b987/src/examples/struts-webapp/WEB-INF/classes/example/IndexAction.java
----------------------------------------------------------------------
diff --git 
a/src/examples/struts-webapp/WEB-INF/classes/example/IndexAction.java 
b/src/examples/struts-webapp/WEB-INF/classes/example/IndexAction.java
deleted file mode 100644
index 695c283..0000000
--- a/src/examples/struts-webapp/WEB-INF/classes/example/IndexAction.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * 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 example;
-
-import java.util.*;
-import javax.servlet.http.*;
-import org.apache.struts.action.*;
-
-public class IndexAction extends GuestbookAction {
-    public ActionForward execute(
-            ActionMapping mapping,
-            ActionForm form,
-            HttpServletRequest req,
-            HttpServletResponse resp) throws Exception {
-
-        List snapShot;
-        
-        synchronized (getGuestbook()) {
-            snapShot = (List) getGuestbook().clone();
-        }
-        req.setAttribute("guestbook", snapShot);
-        
-        return mapping.findForward("success");
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/19c2b987/src/examples/struts-webapp/WEB-INF/struts-config.xml
----------------------------------------------------------------------
diff --git a/src/examples/struts-webapp/WEB-INF/struts-config.xml 
b/src/examples/struts-webapp/WEB-INF/struts-config.xml
deleted file mode 100644
index 2a50399..0000000
--- a/src/examples/struts-webapp/WEB-INF/struts-config.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!--
-  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.
--->
-
-<!DOCTYPE struts-config PUBLIC
-          "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
-          "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd";>
-
-<struts-config>
-  <form-beans>
-    <form-bean name="guestbookEntry" type="example.GuestbookEntryForm"/>
-  </form-beans>
-    
-  <action-mappings>
-    <action
-          path="/index"
-          type="example.IndexAction">
-      <forward name="success" path="/index.ftl"/>
-    </action>
-
-    <action
-          path="/form"
-          type="example.FormAction"
-          name="guestbookEntry"
-          scope="request"
-          validate="false">
-      <forward name="success" path="/form.ftl"/>
-    </action>
-    
-    <action
-          path="/add"
-          type="example.AddAction"
-          name="guestbookEntry"
-          validate="true"
-          scope="request"
-          input="/form.do">
-      <forward name="success" path="/add.ftl"/>
-    </action>
-    
-  </action-mappings>
-
-  <message-resources parameter="example.ApplicationResources"/>
-
-</struts-config>
\ No newline at end of file


Reply via email to