Author: cbrisson
Date: Thu Aug 20 17:16:02 2015
New Revision: 1696822

URL: http://svn.apache.org/r1696822
Log:
J2EE containers session serialization implies static logging from session 
scoped tools

Modified:
    velocity/tools/trunk/src/site/xdoc/changes.xml
    
velocity/tools/trunk/velocity-tools-struts/src/main/java/org/apache/velocity/tools/struts/TilesTool.java
    
velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/AbstractSearchTool.java
    
velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/BrowserTool.java
    
velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/ImportSupport.java
    
velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/tools/ImportTool.java

Modified: velocity/tools/trunk/src/site/xdoc/changes.xml
URL: 
http://svn.apache.org/viewvc/velocity/tools/trunk/src/site/xdoc/changes.xml?rev=1696822&r1=1696821&r2=1696822&view=diff
==============================================================================
--- velocity/tools/trunk/src/site/xdoc/changes.xml (original)
+++ velocity/tools/trunk/src/site/xdoc/changes.xml Thu Aug 20 17:16:02 2015
@@ -35,6 +35,7 @@
         <li>Reflect Velocity Engine dependency shading of commons-lang and 
commons-collections (cb)</li>
         <li>Removed deprecated class 
org.apache.velocity.tools.generic.log.LogSystemCommonsLog (cb)</li>
         <li>MathTool: fixed result type calculations and added bitwise 
operations (cb)</li>
+        <li>have session scoped tools use a static logger to fix J2EE 
containers session serialization (cb)</li>
         </ul>
     </subsection>
 

Modified: 
velocity/tools/trunk/velocity-tools-struts/src/main/java/org/apache/velocity/tools/struts/TilesTool.java
URL: 
http://svn.apache.org/viewvc/velocity/tools/trunk/velocity-tools-struts/src/main/java/org/apache/velocity/tools/struts/TilesTool.java?rev=1696822&r1=1696821&r2=1696822&view=diff
==============================================================================
--- 
velocity/tools/trunk/velocity-tools-struts/src/main/java/org/apache/velocity/tools/struts/TilesTool.java
 (original)
+++ 
velocity/tools/trunk/velocity-tools-struts/src/main/java/org/apache/velocity/tools/struts/TilesTool.java
 Thu Aug 20 17:16:02 2015
@@ -101,7 +101,6 @@ public class TilesTool extends ImportSup
             setRequest(ctx.getRequest());
             setResponse(ctx.getResponse());
             setServletContext(ctx.getServletContext());
-            setLog(ctx.getVelocityEngine().getLog());
         }
     }
 

Modified: 
velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/AbstractSearchTool.java
URL: 
http://svn.apache.org/viewvc/velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/AbstractSearchTool.java?rev=1696822&r1=1696821&r2=1696822&view=diff
==============================================================================
--- 
velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/AbstractSearchTool.java
 (original)
+++ 
velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/AbstractSearchTool.java
 Thu Aug 20 17:16:02 2015
@@ -22,7 +22,8 @@ package org.apache.velocity.tools.view;
 import java.util.Collections;
 import java.util.List;
 import javax.servlet.http.HttpServletRequest;
-import org.apache.velocity.runtime.log.Log;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.apache.velocity.tools.Scope;
 import org.apache.velocity.tools.config.DefaultKey;
 import org.apache.velocity.tools.config.InvalidScope;
@@ -129,19 +130,11 @@ public abstract class AbstractSearchTool
     protected static final String STORED_RESULTS_KEY =
         StoredResults.class.getName();
 
-    protected Log LOG;
+    protected static final Log LOG = 
LogFactory.getLog(AbstractSearchTool.class);
+
     private String criteriaKey = DEFAULT_CRITERIA_KEY;
     private Object criteria;
 
-    public void setLog(Log log)
-    {
-        if (log == null)
-        {
-            throw new NullPointerException("log should not be set to null");
-        }
-        this.LOG = log;
-    }
-
     /**
      * Sets the criteria *if* it is set in the request parameters.
      */

Modified: 
velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/BrowserTool.java
URL: 
http://svn.apache.org/viewvc/velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/BrowserTool.java?rev=1696822&r1=1696821&r2=1696822&view=diff
==============================================================================
--- 
velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/BrowserTool.java
 (original)
+++ 
velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/BrowserTool.java
 Thu Aug 20 17:16:02 2015
@@ -24,7 +24,8 @@ import java.util.regex.Pattern;
 import java.util.regex.PatternSyntaxException;
 import java.util.*;
 import javax.servlet.http.HttpServletRequest;
-import org.apache.velocity.runtime.log.Log;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.apache.velocity.tools.Scope;
 import org.apache.velocity.tools.ConversionUtils;
 import org.apache.velocity.tools.generic.FormatConfig;
@@ -73,8 +74,8 @@ import org.apache.velocity.tools.config.
 public class BrowserTool extends FormatConfig implements java.io.Serializable
 {
     private static final long serialVersionUID = 1734529350532353339L;
-
-    protected Log LOG;
+ 
+    protected static final Log LOG = LogFactory.getLog(BrowserTool.class);
 
     /* User-Agent header variables */
     private String userAgent = null;
@@ -187,19 +188,6 @@ public class BrowserTool extends FormatC
     }
 
     /**
-     * Set log.
-     */
-    public void setLog(Log log)
-    {
-        if (log == null)
-        {
-            throw new NullPointerException("log should not be set to null");
-        }
-        this.LOG = log;
-    }
-
-
-    /**
      * Sets the User-Agent string to be parsed for info.  If null, the string
      * will be empty and everything will return false or null.  Otherwise,
      * it will set the whole string to lower case before storing to simplify

Modified: 
velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/ImportSupport.java
URL: 
http://svn.apache.org/viewvc/velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/ImportSupport.java?rev=1696822&r1=1696821&r2=1696822&view=diff
==============================================================================
--- 
velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/ImportSupport.java
 (original)
+++ 
velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/ImportSupport.java
 Thu Aug 20 17:16:02 2015
@@ -39,12 +39,17 @@ import javax.servlet.ServletOutputStream
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponseWrapper;
-import org.apache.velocity.runtime.log.Log;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
 
 /**
  * <p>Provides methods to import arbitrary local or remote resources as 
strings.</p>
  * <p>Based on ImportSupport from the JSTL taglib by Shawn Bayern</p>
  *
+ * <p>If you wish to take profit of your J2EE container session serialization,
+ *    inheriting tools should always be in the request scope.</p>
+ *
  * @author <a href="mailto:[email protected]";>Marino A. Jonsson</a>
  * @since VelocityTools 2.0
  * @version $Revision$ $Date$
@@ -57,7 +62,8 @@ public abstract class ImportSupport
     /** Default character encoding for response. */
     protected static final String DEFAULT_ENCODING = "ISO-8859-1";
 
-    protected Log LOG;
+    protected static final Log LOG = LogFactory.getLog(ImportSupport.class);
+
     protected ServletContext application;
     protected HttpServletRequest request;
     protected HttpServletResponse response;
@@ -65,15 +71,6 @@ public abstract class ImportSupport
 
     // --------------------------------------- Setup Methods -------------
 
-    public void setLog(Log log)
-    {
-        if (log == null)
-        {
-            throw new NullPointerException("log should not be set to null");
-        }
-        this.LOG = log;
-    }
-
     /**
      * Sets the current {@link HttpServletRequest}. This is required
      * for this tool to operate and will throw a NullPointerException

Modified: 
velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/tools/ImportTool.java
URL: 
http://svn.apache.org/viewvc/velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/tools/ImportTool.java?rev=1696822&r1=1696821&r2=1696822&view=diff
==============================================================================
--- 
velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/tools/ImportTool.java
 (original)
+++ 
velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/tools/ImportTool.java
 Thu Aug 20 17:16:02 2015
@@ -36,7 +36,6 @@ public class ImportTool extends org.apac
             setRequest(ctx.getRequest());
             setResponse(ctx.getResponse());
             setServletContext(ctx.getServletContext());
-            setLog(ctx.getVelocityEngine().getLog());
         }
     }
 }


Reply via email to