Author: cbrisson
Date: Tue Jan  3 17:07:37 2017
New Revision: 1777166

URL: http://svn.apache.org/viewvc?rev=1777166&view=rev
Log:
[site] push markdown changes into production

Modified:
    velocity/site/production/engine/2.0/changes.html
    velocity/site/production/engine/2.0/developer-guide.html
    velocity/site/production/engine/devel/changes.html
    velocity/site/production/engine/devel/developer-guide.html
    velocity/site/production/release-process.html
    velocity/site/production/tools/devel/changes.html

Modified: velocity/site/production/engine/2.0/changes.html
URL: 
http://svn.apache.org/viewvc/velocity/site/production/engine/2.0/changes.html?rev=1777166&r1=1777165&r2=1777166&view=diff
==============================================================================
--- velocity/site/production/engine/2.0/changes.html (original)
+++ velocity/site/production/engine/2.0/changes.html Tue Jan  3 17:07:37 2017
@@ -317,6 +317,27 @@ h2:hover > .headerlink, h3:hover > .head
         <td>
           <img src="images/add.png"/>
         </td>
+        <td> Reviewed event handling API: <ul>  <li> added a Context argument 
for all events </li>  <li> got rid of the Executor pattern ; event handlers are 
directly called by the cartridge </li>  </ul>  . </td>
+        <td>cbrisson</td>
+      </tr>
+      <tr>
+        <td>
+          <img src="images/add.png"/>
+        </td>
+        <td> Removed references to ExtProperties from the engine configuration 
API. . </td>
+        <td>cbrisson</td>
+      </tr>
+      <tr>
+        <td>
+          <img src="images/add.png"/>
+        </td>
+        <td> Default encoding is now UTF-8. . </td>
+        <td>cbrisson</td>
+      </tr>
+      <tr>
+        <td>
+          <img src="images/add.png"/>
+        </td>
         <td> Make Velocity use the base logger namespace 'org.apache.velocity' 
unless specified with runtime.log.name in the configuration, and have the 
runtime instance log with this base namespace, and other modules log with 
children namespaces: <ul>  <li> directive, and 
velocity.directive.[directivename] </li>  <li> parser </li>  <li> loader and 
loader.[loadername] </li>  <li> macro </li>  <li> rendering </li>  <li> event 
</li>  </ul> Get rid of UberspectLoggable interface. . </td>
         <td>cbrisson</td>
       </tr>
@@ -464,7 +485,7 @@ h2:hover > .headerlink, h3:hover > .head
         <td>
           <img src="images/add.png"/>
         </td>
-        <td> The ResourceLoader API now provides a Reader rather than an 
InputStream. The InputStream getter method has been deprecated. Also fixes 
VELOCITY-599. . Fixes <a 
href="https://issues.apache.org/jira/browse/VELOCITY-793";>VELOCITY-793</a>. 
</td>
+        <td> The ResourceLoader API now provides a Reader rather than an 
InputStream. Also fixes VELOCITY-599. . Fixes <a 
href="https://issues.apache.org/jira/browse/VELOCITY-793";>VELOCITY-793</a>. 
</td>
         <td>cbrisson</td>
       </tr>
       <tr>
@@ -587,13 +608,6 @@ h2:hover > .headerlink, h3:hover > .head
         <td>apetrelli</td>
       </tr>
       <tr>
-        <td>
-          <img src="images/add.png"/>
-        </td>
-        <td> Shading of Commons Lang and Commons Collections . Fixes <a 
href="https://issues.apache.org/jira/browse/VELOCITY-789";>VELOCITY-789</a>. 
</td>
-        <td>apetrelli</td>
-      </tr>
-      <tr>
         <td>
           <img src="images/add.png"/>
         </td>

Modified: velocity/site/production/engine/2.0/developer-guide.html
URL: 
http://svn.apache.org/viewvc/velocity/site/production/engine/2.0/developer-guide.html?rev=1777166&r1=1777165&r2=1777166&view=diff
==============================================================================
--- velocity/site/production/engine/2.0/developer-guide.html (original)
+++ velocity/site/production/engine/2.0/developer-guide.html Tue Jan  3 
17:07:37 2017
@@ -272,7 +272,6 @@ h2:hover > .headerlink, h3:hover > .head
 <li><a 
href="#orgapachevelocityappeventincludeeventhandler">org.apache.velocity.app.event.IncludeEventHandler</a></li>
 <li><a 
href="#orgapachevelocityappeventinvalidreferenceeventhandler">org.apache.velocity.app.event.InvalidReferenceEventHandler</a></li>
 <li><a 
href="#orgapachevelocityappeventmethodexceptioneventhandler">org.apache.velocity.app.event.MethodExceptionEventHandler</a></li>
-<li><a 
href="#orgapachevelocityappeventnullseteventhandler">org.apache.velocity.app.event.NullSetEventHandler</a></li>
 <li><a 
href="#orgapachevelocityappeventreferenceinsertioneventhandler">org.apache.velocity.app.event.ReferenceInsertionEventHandler</a></li>
 <li><a href="#registering-event-handlers">Registering Event Handlers</a></li>
 </ul>
@@ -713,28 +712,30 @@ see the Javadoc API documentation.</p>
 </pre></div>
 
 
-<p>And, assuming you have a directory <code>/opt/templates</code> and the 
template <code>testtemplate.vm</code> is in there, then things would work just 
fine. If you try this and have a problem, be sure to look at the velocity.log 
for information - the error messages are pretty good for figuring out what is 
wrong.</p>
-<p>If you need to place objects into the Velocity properties then you cannot 
use the Velocity.init(Properties p) method.  Instead you should create a new 
instance of the <code>org.apache.velocity.util.ExtProperties</code> class, copy 
all properties from an existing Properties object into the ExtProperties and 
then add new properties with your objects to the ExtProperties object.</p>
-<div class="codehilite"><pre> ...
+<p>And the same if you want to use a VelocityEngine object rather than the 
singleton engine:</p>
+<div class="codehilite"><pre> <span class="o">...</span>
 
-VelocityEngine velocityEngine = new VelocityEngine();
-ExtProperties eprops = null;
-if (props==null) {
-   eprops = new ExtProperties();
-} else {
-   eprops = ExtProperties.convertProperties(props);
-}
+<span class="kn">import</span> <span 
class="nn">java.util.Properties</span><span class="p">;</span>
+ <span class="o">...</span>
 
-// Now set the property with your object instance
-eprops.setProperty(&quot;name&quot;, object);
+<span class="n">public</span> <span class="n">static</span> <span 
class="n">void</span> <span class="n">main</span><span class="p">(</span> <span 
class="n">String</span> <span class="n">args</span><span class="p">[]</span> 
<span class="p">)</span>
+<span class="p">{</span>
+    <span class="o">/*</span> <span class="n">first</span><span 
class="p">,</span> <span class="n">we</span> <span class="n">init</span> <span 
class="n">the</span> <span class="n">runtime</span> <span 
class="n">engine</span><span class="o">.</span>  <span class="o">*/</span>
+
+    <span class="n">Properties</span> <span class="n">p</span> <span 
class="o">=</span> <span class="n">new</span> <span 
class="n">Properties</span><span class="p">();</span>
+    <span class="n">p</span><span class="o">.</span><span 
class="n">setProperty</span><span class="p">(</span><span 
class="s2">&quot;file.resource.loader.path&quot;</span><span class="p">,</span> 
<span class="s2">&quot;/opt/templates&quot;</span><span class="p">);</span>
+    <span class="n">VelocityEngine</span> <span class="n">engine</span> <span 
class="o">=</span> <span class="n">new</span> <span 
class="n">VelocityEngine</span><span class="p">();</span>
+    <span class="n">engine</span><span class="o">.</span><span 
class="n">init</span><span class="p">(</span> <span class="n">p</span> <span 
class="p">);</span>
+
+    <span class="o">/*</span> <span class="n">lets</span> <span 
class="n">make</span> <span class="n">a</span> <span class="n">Context</span> 
<span class="ow">and</span> <span class="n">put</span> <span 
class="n">data</span> <span class="n">into</span> <span class="n">it</span> 
<span class="o">*/</span>
 
-...
-velocityEngine.setExtendedProperties(eprops);
-velocityEngine.init();
-...
+<span class="o">...</span>
 </pre></div>
 
 
+<p>And, assuming you have a directory <code>/opt/templates</code> and the 
template <code>testtemplate.vm</code> is in there, then things would work just 
fine. If you try this and have a problem, be sure to look at the velocity.log 
for information - the error messages are pretty good for figuring out what is 
wrong.</p>
+<p>If you need to place objects into the Velocity properties, you may do so: 
the <code>java.util.Properties</code> class <em>does</em> accept Object values 
(which will only invalidate the use of its <code>load</code> and 
<code>store</code> methods).</p>
+<p>To combine multiple properties files, you may call several times 
<code>setProperties(Properties)</code>, <code>setProperty(String, 
Object)</code> or <code>addProperty(String, Object)</code> before calling 
<code>init()</code>.</p>
 <p>You may want to also consider using the Application Attributes feature 
described in the following section.</p>
 <h2 id="logging">Logging<a class="headerlink" href="#logging" title="Permanent 
link">&para;</a></h2>
 <p>Since version 2.0, Velocity has switched to the <a 
href="http://www.slf4j.org/";>SLF4J</a> logging facade.</p>
@@ -1060,14 +1061,16 @@ velocityEngine.init();
 
 <p>Note that internal components cannot set the value of the key, just get it. 
if the internal component must communicate information to the application 
layer, it must do so via the Object passed as the value.</p>
 <h2 id="event-handlers">Event Handlers<a class="headerlink" 
href="#event-handlers" title="Permanent link">&para;</a></h2>
-<p>Velocity contains a fine-grained event handling system that allows you to 
customize the operation of the engine.  For example, you may change the text of 
references that are inserted into a page, modify which templates are actually 
included with <code>#include</code> or <code>#parse</code>, or capture all 
invalid references.</p>
+<p>Velocity contains a fine-grained event handling system that allows you to 
customize the operation of the engine. Those events are synchronous, and act as 
callback handlers.</p>
+<p>For example, you may change the text of references that are inserted into a 
page, modify which templates are actually included with <code>#include</code> 
or <code>#parse</code>, or capture all invalid references.</p>
 <p>All event handler interfaces available in Velocity are in the package 
<code>org.apache.velocity.app.event</code>.  You may create your own 
implementation or use one of the sample implementations in the package 
<code>org.apache.velocity.app.event.implement</code>.  (See the javadocs for 
more details on the provided implementations).</p>
 <h3 
id="orgapachevelocityappeventincludeeventhandler"><code>org.apache.velocity.app.event.IncludeEventHandler</code><a
 class="headerlink" href="#orgapachevelocityappeventincludeeventhandler" 
title="Permanent link">&para;</a></h3>
 <blockquote>
 <p>The <code>IncludeEventHandler</code> can be used to modify the template 
that is included in a page with <code>#include</code> or <code>#parse</code>.  
For example, this may be used to make all includes relative to the current 
directory or to prevent access to unauthorized resources. Multiple 
<code>IncludeEventHandler</code>'s may be chained, with the return value of the 
final call used as the name of the template to retrieve.</p>
 <div class="codehilite"><pre>public IncludeEventHandler extends EventHandler
 {
-    public String includeEvent( String includeResourcePath, 
+    public String includeEvent( Context context,
+                                String includeResourcePath, 
                                 String currentResourcePath, 
                                 String directiveName );
 }
@@ -1115,7 +1118,8 @@ velocityEngine.init();
 <p>When a user-supplied method throws an exception, the 
<code>MethodExceptionEventHandler</code> is invoked with the Class, method name 
and thrown Exception.  The handler can either return a valid Object to be used 
as the return value of the method call or throw the passed-in or new Exception, 
which will be wrapped and propogated to the user as a 
<code>MethodInvocationException</code>.  While 
<code>MethodExceptionEventHandler</code>'s can be chained only the first 
handler is actually called -- all others are ignored.</p>
 <div class="codehilite"><pre>public interface MethodExceptionEventHandler 
extends EventHandler
 {
-    public Object methodException( Class claz, 
+    public Object methodException( Context context,
+                                   Class claz, 
                                    String method, 
                                    Exception e )
          throws Exception;
@@ -1128,28 +1132,13 @@ velocityEngine.init();
 <li><code>org.apache.velocity.app.event.implement.PrintExceptions</code></li>
 </ul>
 </blockquote>
-<h3 
id="orgapachevelocityappeventnullseteventhandler"><code>org.apache.velocity.app.event.NullSetEventHandler</code><a
 class="headerlink" href="#orgapachevelocityappeventnullseteventhandler" 
title="Permanent link">&para;</a></h3>
-<blockquote>
-<p>When a #set() rejects an assignment due to the right hand side being an 
invalid or null reference, this is normally logged.  The 
<code>NullSetEventHandler</code> allows you to 'veto' the logging of this 
condition.  Multiple <code>NullSetEventHandler</code>'s can be chained; each 
event handler is called in sequence until a false is returned.</p>
-<div class="codehilite"><pre>public interface NullSetEventHandler extends 
EventHandler
-{
-    public boolean shouldLogOnNullSet( String lhs, 
-                                       String rhs );
-}
-</pre></div>
-
-
-<p>Available implementations include:</p>
-<ul>
-<li><em>none provided</em></li>
-</ul>
-</blockquote>
 <h3 
id="orgapachevelocityappeventreferenceinsertioneventhandler"><code>org.apache.velocity.app.event.ReferenceInsertionEventHandler</code><a
 class="headerlink" 
href="#orgapachevelocityappeventreferenceinsertioneventhandler" 
title="Permanent link">&para;</a></h3>
 <blockquote>
 <p>A <code>ReferenceInsertionEventHandler</code> allows the developer to 
intercept each write of a reference ($foo) value to the output stream and 
modify that output.  Multiple <code>ReferenceInsertionEventHandler</code>'s may 
be chained with each step potentially altering the inserted reference.</p>
 <div class="codehilite"><pre>public interface  ReferenceInsertionEventHandler 
extends EventHandler
 {
-    public Object referenceInsert( String reference, 
+    public Object referenceInsert( Context context,
+                                     String reference, 
                                    Object value  );
 }
 </pre></div>

Modified: velocity/site/production/engine/devel/changes.html
URL: 
http://svn.apache.org/viewvc/velocity/site/production/engine/devel/changes.html?rev=1777166&r1=1777165&r2=1777166&view=diff
==============================================================================
--- velocity/site/production/engine/devel/changes.html (original)
+++ velocity/site/production/engine/devel/changes.html Tue Jan  3 17:07:37 2017
@@ -317,6 +317,20 @@ h2:hover > .headerlink, h3:hover > .head
         <td>
           <img src="images/add.png"/>
         </td>
+        <td> Reviewed event handling API: <ul>  <li> added a Context argument 
for all events </li>  <li> got rid of the Executor pattern ; event handlers are 
directly called by the cartridge </li>  </ul>  . </td>
+        <td>cbrisson</td>
+      </tr>
+      <tr>
+        <td>
+          <img src="images/add.png"/>
+        </td>
+        <td> Removed references to ExtProperties from the engine configuration 
API. . </td>
+        <td>cbrisson</td>
+      </tr>
+      <tr>
+        <td>
+          <img src="images/add.png"/>
+        </td>
         <td> Default encoding is now UTF-8. . </td>
         <td>cbrisson</td>
       </tr>

Modified: velocity/site/production/engine/devel/developer-guide.html
URL: 
http://svn.apache.org/viewvc/velocity/site/production/engine/devel/developer-guide.html?rev=1777166&r1=1777165&r2=1777166&view=diff
==============================================================================
--- velocity/site/production/engine/devel/developer-guide.html (original)
+++ velocity/site/production/engine/devel/developer-guide.html Tue Jan  3 
17:07:37 2017
@@ -272,7 +272,6 @@ h2:hover > .headerlink, h3:hover > .head
 <li><a 
href="#orgapachevelocityappeventincludeeventhandler">org.apache.velocity.app.event.IncludeEventHandler</a></li>
 <li><a 
href="#orgapachevelocityappeventinvalidreferenceeventhandler">org.apache.velocity.app.event.InvalidReferenceEventHandler</a></li>
 <li><a 
href="#orgapachevelocityappeventmethodexceptioneventhandler">org.apache.velocity.app.event.MethodExceptionEventHandler</a></li>
-<li><a 
href="#orgapachevelocityappeventnullseteventhandler">org.apache.velocity.app.event.NullSetEventHandler</a></li>
 <li><a 
href="#orgapachevelocityappeventreferenceinsertioneventhandler">org.apache.velocity.app.event.ReferenceInsertionEventHandler</a></li>
 <li><a href="#registering-event-handlers">Registering Event Handlers</a></li>
 </ul>
@@ -713,28 +712,30 @@ see the Javadoc API documentation.</p>
 </pre></div>
 
 
-<p>And, assuming you have a directory <code>/opt/templates</code> and the 
template <code>testtemplate.vm</code> is in there, then things would work just 
fine. If you try this and have a problem, be sure to look at the velocity.log 
for information - the error messages are pretty good for figuring out what is 
wrong.</p>
-<p>If you need to place objects into the Velocity properties then you cannot 
use the Velocity.init(Properties p) method.  Instead you should create a new 
instance of the <code>org.apache.velocity.util.ExtProperties</code> class, copy 
all properties from an existing Properties object into the ExtProperties and 
then add new properties with your objects to the ExtProperties object.</p>
-<div class="codehilite"><pre> ...
+<p>And the same if you want to use a VelocityEngine object rather than the 
singleton engine:</p>
+<div class="codehilite"><pre> <span class="o">...</span>
 
-VelocityEngine velocityEngine = new VelocityEngine();
-ExtProperties eprops = null;
-if (props==null) {
-   eprops = new ExtProperties();
-} else {
-   eprops = ExtProperties.convertProperties(props);
-}
+<span class="kn">import</span> <span 
class="nn">java.util.Properties</span><span class="p">;</span>
+ <span class="o">...</span>
 
-// Now set the property with your object instance
-eprops.setProperty(&quot;name&quot;, object);
+<span class="n">public</span> <span class="n">static</span> <span 
class="n">void</span> <span class="n">main</span><span class="p">(</span> <span 
class="n">String</span> <span class="n">args</span><span class="p">[]</span> 
<span class="p">)</span>
+<span class="p">{</span>
+    <span class="o">/*</span> <span class="n">first</span><span 
class="p">,</span> <span class="n">we</span> <span class="n">init</span> <span 
class="n">the</span> <span class="n">runtime</span> <span 
class="n">engine</span><span class="o">.</span>  <span class="o">*/</span>
+
+    <span class="n">Properties</span> <span class="n">p</span> <span 
class="o">=</span> <span class="n">new</span> <span 
class="n">Properties</span><span class="p">();</span>
+    <span class="n">p</span><span class="o">.</span><span 
class="n">setProperty</span><span class="p">(</span><span 
class="s2">&quot;file.resource.loader.path&quot;</span><span class="p">,</span> 
<span class="s2">&quot;/opt/templates&quot;</span><span class="p">);</span>
+    <span class="n">VelocityEngine</span> <span class="n">engine</span> <span 
class="o">=</span> <span class="n">new</span> <span 
class="n">VelocityEngine</span><span class="p">();</span>
+    <span class="n">engine</span><span class="o">.</span><span 
class="n">init</span><span class="p">(</span> <span class="n">p</span> <span 
class="p">);</span>
+
+    <span class="o">/*</span> <span class="n">lets</span> <span 
class="n">make</span> <span class="n">a</span> <span class="n">Context</span> 
<span class="ow">and</span> <span class="n">put</span> <span 
class="n">data</span> <span class="n">into</span> <span class="n">it</span> 
<span class="o">*/</span>
 
-...
-velocityEngine.setExtendedProperties(eprops);
-velocityEngine.init();
-...
+    <span class="o">...</span>
 </pre></div>
 
 
+<p>And, assuming you have a directory <code>/opt/templates</code> and the 
template <code>testtemplate.vm</code> is in there, then things would work just 
fine. If you try this and have a problem, be sure to look at the velocity.log 
for information - the error messages are pretty good for figuring out what is 
wrong.</p>
+<p>If you need to place objects into the Velocity properties, you may do so: 
the <code>java.util.Properties</code> class <em>does</em> accept Object values 
(which will only invalidate the use of its <code>load</code> and 
<code>store</code> methods).</p>
+<p>To combine multiple properties files, you may call several times 
<code>setProperties(Properties)</code>, <code>setProperty(String, 
Object)</code> or <code>addProperty(String, Object)</code> before calling 
<code>init()</code>.</p>
 <p>You may want to also consider using the Application Attributes feature 
described in the following section.</p>
 <h2 id="logging">Logging<a class="headerlink" href="#logging" title="Permanent 
link">&para;</a></h2>
 <p>Since version 2.0, Velocity has switched to the <a 
href="http://www.slf4j.org/";>SLF4J</a> logging facade.</p>
@@ -1060,14 +1061,16 @@ velocityEngine.init();
 
 <p>Note that internal components cannot set the value of the key, just get it. 
if the internal component must communicate information to the application 
layer, it must do so via the Object passed as the value.</p>
 <h2 id="event-handlers">Event Handlers<a class="headerlink" 
href="#event-handlers" title="Permanent link">&para;</a></h2>
-<p>Velocity contains a fine-grained event handling system that allows you to 
customize the operation of the engine.  For example, you may change the text of 
references that are inserted into a page, modify which templates are actually 
included with <code>#include</code> or <code>#parse</code>, or capture all 
invalid references.</p>
+<p>Velocity contains a fine-grained event handling system that allows you to 
customize the operation of the engine. Those events are synchronous, and act as 
callback handlers.</p>
+<p>For example, you may change the text of references that are inserted into a 
page, modify which templates are actually included with <code>#include</code> 
or <code>#parse</code>, or capture all invalid references.</p>
 <p>All event handler interfaces available in Velocity are in the package 
<code>org.apache.velocity.app.event</code>.  You may create your own 
implementation or use one of the sample implementations in the package 
<code>org.apache.velocity.app.event.implement</code>.  (See the javadocs for 
more details on the provided implementations).</p>
 <h3 
id="orgapachevelocityappeventincludeeventhandler"><code>org.apache.velocity.app.event.IncludeEventHandler</code><a
 class="headerlink" href="#orgapachevelocityappeventincludeeventhandler" 
title="Permanent link">&para;</a></h3>
 <blockquote>
 <p>The <code>IncludeEventHandler</code> can be used to modify the template 
that is included in a page with <code>#include</code> or <code>#parse</code>.  
For example, this may be used to make all includes relative to the current 
directory or to prevent access to unauthorized resources. Multiple 
<code>IncludeEventHandler</code>'s may be chained, with the return value of the 
final call used as the name of the template to retrieve.</p>
 <div class="codehilite"><pre>public IncludeEventHandler extends EventHandler
 {
-    public String includeEvent( String includeResourcePath, 
+    public String includeEvent( Context context,
+                                String includeResourcePath, 
                                 String currentResourcePath, 
                                 String directiveName );
 }
@@ -1115,7 +1118,8 @@ velocityEngine.init();
 <p>When a user-supplied method throws an exception, the 
<code>MethodExceptionEventHandler</code> is invoked with the Class, method name 
and thrown Exception.  The handler can either return a valid Object to be used 
as the return value of the method call or throw the passed-in or new Exception, 
which will be wrapped and propogated to the user as a 
<code>MethodInvocationException</code>.  While 
<code>MethodExceptionEventHandler</code>'s can be chained only the first 
handler is actually called -- all others are ignored.</p>
 <div class="codehilite"><pre>public interface MethodExceptionEventHandler 
extends EventHandler
 {
-    public Object methodException( Class claz, 
+    public Object methodException( Context context,
+                                   Class claz, 
                                    String method, 
                                    Exception e )
          throws Exception;
@@ -1128,28 +1132,13 @@ velocityEngine.init();
 <li><code>org.apache.velocity.app.event.implement.PrintExceptions</code></li>
 </ul>
 </blockquote>
-<h3 
id="orgapachevelocityappeventnullseteventhandler"><code>org.apache.velocity.app.event.NullSetEventHandler</code><a
 class="headerlink" href="#orgapachevelocityappeventnullseteventhandler" 
title="Permanent link">&para;</a></h3>
-<blockquote>
-<p>When a #set() rejects an assignment due to the right hand side being an 
invalid or null reference, this is normally logged.  The 
<code>NullSetEventHandler</code> allows you to 'veto' the logging of this 
condition.  Multiple <code>NullSetEventHandler</code>'s can be chained; each 
event handler is called in sequence until a false is returned.</p>
-<div class="codehilite"><pre>public interface NullSetEventHandler extends 
EventHandler
-{
-    public boolean shouldLogOnNullSet( String lhs, 
-                                       String rhs );
-}
-</pre></div>
-
-
-<p>Available implementations include:</p>
-<ul>
-<li><em>none provided</em></li>
-</ul>
-</blockquote>
 <h3 
id="orgapachevelocityappeventreferenceinsertioneventhandler"><code>org.apache.velocity.app.event.ReferenceInsertionEventHandler</code><a
 class="headerlink" 
href="#orgapachevelocityappeventreferenceinsertioneventhandler" 
title="Permanent link">&para;</a></h3>
 <blockquote>
 <p>A <code>ReferenceInsertionEventHandler</code> allows the developer to 
intercept each write of a reference ($foo) value to the output stream and 
modify that output.  Multiple <code>ReferenceInsertionEventHandler</code>'s may 
be chained with each step potentially altering the inserted reference.</p>
 <div class="codehilite"><pre>public interface  ReferenceInsertionEventHandler 
extends EventHandler
 {
-    public Object referenceInsert( String reference, 
+    public Object referenceInsert( Context context,
+                                     String reference, 
                                    Object value  );
 }
 </pre></div>

Modified: velocity/site/production/release-process.html
URL: 
http://svn.apache.org/viewvc/velocity/site/production/release-process.html?rev=1777166&r1=1777165&r2=1777166&view=diff
==============================================================================
--- velocity/site/production/release-process.html (original)
+++ velocity/site/production/release-process.html Tue Jan  3 17:07:37 2017
@@ -317,6 +317,15 @@ h2:hover > .headerlink, h3:hover > .head
 <p>These steps must be performed <strong>for each</strong> release.</p>
 <ul>
 <li>
+<p>Archive the previous release candidate</p>
+<p>If it's not the first release candidate you're trying to release, you 
should archive the previous release candidate. For instance:</p>
+<div class="codehilite"><pre>svn mv ci -m &quot;[engine] archive engine 2.0 
RC4&quot; 
https://[email protected]/repos/asf/velocity/engine/tags/2.0 
https://[email protected]/repos/asf/velocity/engine/tags/2.0-RC4
+</pre></div>
+
+
+<p>And don't forget to also drop the staged artifact.</p>
+</li>
+<li>
 <p>Prepare the release tag</p>
 <p>To prepare the release Subversion tag, check out the branch/trunk from where
 you are preparing the release and type:</p>
@@ -336,7 +345,7 @@ you are preparing the release and type:<
 </li>
 <li>
 <p>Close the staging repository</p>
-<p>Login to {{{https://repository.apache.org using} Nexus repository}} your 
Apache LDAP credentials.</p>
+<p>Login to <a href="https://repository.apache.org";>Nexus repository</a> using 
your Apache LDAP credentials.</p>
 <p>Click on "Staging". Then click on "velocity" in the list of 
repositories.</p>
 <p>In the panel below you should see an open repository that is linked to your 
username and ip.</p>
 <p>Right click on this repository and select "Close".</p>
@@ -350,7 +359,7 @@ you are preparing the release and type:<
 <p>If you click on your repository, a tree view will appear below.</p>
 <p>You can then browse the contents to ensure the artifacts are as you expect 
them.</p>
 <p>Pay particular attention to the existence of *.asc (signature) files.</p>
-<p>If the you don't like the content of the repository, right click your 
repository and choose "Drop".</p>
+<p>If you don't like the content of the repository, right click your 
repository and choose "Drop".</p>
 <p>You can then rollback your release and repeat the process.</p>
 <p>Note the repository URL, you will need this in your vote email.</p>
 </li>
@@ -471,7 +480,7 @@ Everyone who has tested the build is inv
 <li>Promote staged artifacts</li>
 </ul>
 <p>Once the release is deemed fit for public consumption it can be transfered 
to a production repository where it will be available to all users.</p>
-<p>Login to {{{https://repository.apache.org}Nexus repository}} again.</p>
+<p>Login to <a href="https://repository.apache.org";>Nexus repository</a> 
again.</p>
 <p>Click on "Staging" and then on the repository with id 
"velocity-staging".</p>
 <p>Find your closed staging repository, right click on it and choose 
"Promote".</p>
 <p>Select the "Releases" repository and click "Promote".</p>

Modified: velocity/site/production/tools/devel/changes.html
URL: 
http://svn.apache.org/viewvc/velocity/site/production/tools/devel/changes.html?rev=1777166&r1=1777165&r2=1777166&view=diff
==============================================================================
--- velocity/site/production/tools/devel/changes.html (original)
+++ velocity/site/production/tools/devel/changes.html Tue Jan  3 17:07:37 2017
@@ -279,6 +279,69 @@ h2:hover > .headerlink, h3:hover > .head
     <tbody>
       <tr>
         <td>
+          <img src="images/add.png"/>
+        </td>
+        <td> ImportTool reenginering: <ul>  <li> the ImportSupport utility 
class has been splitted between o.a.v.generic.ImportSupport and 
o.a.v.view.ViewImportSupport </li>  <li> the ImportTool now has a generic 
version (for remote URLs import) and a view version (for local URLs import) 
which cannot use remote URLs in safe mode </li>  </ul>  . </td>
+        <td>cbrisson</td>
+      </tr>
+      <tr>
+        <td>
+          <img src="images/add.png"/>
+        </td>
+        <td> XmlTool now uses the standard JRE XML parser instead of the 
org.jdom API ; it is now in two flavors, the generic tools one and the view 
tools one. The view tools flavor allows the parsing of http query xml post 
data. . </td>
+        <td>cbrisson</td>
+      </tr>
+      <tr>
+        <td>
+          <img src="images/add.png"/>
+        </td>
+        <td> Added a new JsonTool for parsing json. It is in two flavors, the 
generic tools one and the view tools one. The view tools flavor allows the 
parsing of http query json post data. . </td>
+        <td>cbrisson</td>
+      </tr>
+      <tr>
+        <td>
+          <img src="images/add.png"/>
+        </td>
+        <td> Added an EscapeTool.unurl(String) unescaping method . </td>
+        <td>cbrisson</td>
+      </tr>
+      <tr>
+        <td>
+          <img src="images/add.png"/>
+        </td>
+        <td> Deprecated ConversionTool: date/time parsing and formatting 
methods belong to DateTool, while number parsing and formatting methods belong 
to NumberTool ; toLocale() method is now in LocaleConfig . </td>
+        <td>cbrisson</td>
+      </tr>
+      <tr>
+        <td>
+          <img src="images/add.png"/>
+        </td>
+        <td> Deprecated SortTool, and added a CollectionTool to gather lists 
sorting/splitting methods . </td>
+        <td>cbrisson</td>
+      </tr>
+      <tr>
+        <td>
+          <img src="images/add.png"/>
+        </td>
+        <td> Deprecated MathTool number parsing methods, which are redundant 
with NumberTool ones . </td>
+        <td>cbrisson</td>
+      </tr>
+      <tr>
+        <td>
+          <img src="images/add.png"/>
+        </td>
+        <td> Deprecated AlternateTool . </td>
+        <td>cbrisson</td>
+      </tr>
+      <tr>
+        <td>
+          <img src="images/add.png"/>
+        </td>
+        <td> DateTool reenginering: <ul>  <li> added iso and iso_tz 
date/datetime standard formats </li>  <li> added intl and intl_tz for 
human-readable international format (time zone displayed by id) </li>  </ul>  . 
</td>
+        <td>cbrisson</td>
+      </tr>
+      <tr>
+        <td>
           <img src="images/fix.png"/>
         </td>
         <td> use static logging in Tools classes . </td>


Reply via email to