You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@velocity.apache.org by nb...@apache.org on 2008/06/24 03:18:21 UTC

svn commit: r670987 - in /velocity/tools/trunk/src/main/java/org/apache/velocity/tools: ToolContext.java generic/LocaleConfig.java generic/ResourceTool.java view/ViewResourceTool.java view/ViewToolContext.java view/tools.xml

Author: nbubna
Date: Mon Jun 23 18:18:20 2008
New Revision: 670987

URL: http://svn.apache.org/viewvc?rev=670987&view=rev
Log:
re-architect things so LocaleConfig is request-aware (at least, when in request scope), making ViewResourceTool superfluous

Removed:
    velocity/tools/trunk/src/main/java/org/apache/velocity/tools/view/ViewResourceTool.java
Modified:
    velocity/tools/trunk/src/main/java/org/apache/velocity/tools/ToolContext.java
    velocity/tools/trunk/src/main/java/org/apache/velocity/tools/generic/LocaleConfig.java
    velocity/tools/trunk/src/main/java/org/apache/velocity/tools/generic/ResourceTool.java
    velocity/tools/trunk/src/main/java/org/apache/velocity/tools/view/ViewToolContext.java
    velocity/tools/trunk/src/main/java/org/apache/velocity/tools/view/tools.xml

Modified: velocity/tools/trunk/src/main/java/org/apache/velocity/tools/ToolContext.java
URL: http://svn.apache.org/viewvc/velocity/tools/trunk/src/main/java/org/apache/velocity/tools/ToolContext.java?rev=670987&r1=670986&r2=670987&view=diff
==============================================================================
--- velocity/tools/trunk/src/main/java/org/apache/velocity/tools/ToolContext.java (original)
+++ velocity/tools/trunk/src/main/java/org/apache/velocity/tools/ToolContext.java Mon Jun 23 18:18:20 2008
@@ -42,6 +42,7 @@
     public static final String PATH_KEY = "requestPath";
     public static final String CONTEXT_KEY = "velocityContext";
     public static final String ENGINE_KEY = "velocityEngine";
+    public static final String LOCALE_KEY = "locale";
     public static final String LOG_KEY = "log";
     public static final String CATCH_EXCEPTIONS_KEY = "catchExceptions";
 

Modified: velocity/tools/trunk/src/main/java/org/apache/velocity/tools/generic/LocaleConfig.java
URL: http://svn.apache.org/viewvc/velocity/tools/trunk/src/main/java/org/apache/velocity/tools/generic/LocaleConfig.java?rev=670987&r1=670986&r2=670987&view=diff
==============================================================================
--- velocity/tools/trunk/src/main/java/org/apache/velocity/tools/generic/LocaleConfig.java (original)
+++ velocity/tools/trunk/src/main/java/org/apache/velocity/tools/generic/LocaleConfig.java Mon Jun 23 18:18:20 2008
@@ -20,6 +20,7 @@
  */
 
 import java.util.Locale;
+import org.apache.velocity.tools.ToolContext;
 
 /**
  * Implements common logic and constants for tools which allow their
@@ -35,11 +36,6 @@
      */
     public static final Locale DEFAULT_LOCALE = Locale.getDefault();
 
-    /**
-     * The key used for specifying a default locale via tool configuration.
-     */
-    public static final String LOCALE_KEY = "locale";
-
     private Locale locale = DEFAULT_LOCALE;
 
     /**
@@ -50,7 +46,7 @@
      */
     protected void configure(ValueParser values)
     {
-        Locale locale = values.getLocale(LOCALE_KEY);
+        Locale locale = values.getLocale(ToolContext.LOCALE_KEY);
         if (locale != null)
         {
             setLocale(locale);

Modified: velocity/tools/trunk/src/main/java/org/apache/velocity/tools/generic/ResourceTool.java
URL: http://svn.apache.org/viewvc/velocity/tools/trunk/src/main/java/org/apache/velocity/tools/generic/ResourceTool.java?rev=670987&r1=670986&r2=670987&view=diff
==============================================================================
--- velocity/tools/trunk/src/main/java/org/apache/velocity/tools/generic/ResourceTool.java (original)
+++ velocity/tools/trunk/src/main/java/org/apache/velocity/tools/generic/ResourceTool.java Mon Jun 23 18:18:20 2008
@@ -49,8 +49,15 @@
  *
  * <p>This comes in very handy when internationalizing templates.
  *    Note that the default resource bundle baseName is "resources", and
- *    the default locale is the system locale.  These may both be overridden
- *    in your toolbox config as demonstrated above.
+ *    the default locale is either:
+ *    <ul>
+ *      <li>the result of HttpServletRequest.getLocale() (if used in request scope
+ *          of a VelocityView app)</li>
+ *      <li>the configured locale for this tool (as shown above)<li>
+ *      <li>the configured locale for the toolbox this tool is in<li>
+ *      <li>the configured locale for the toolbox factory managing this tool</li>
+ *      <li>the system locale, if none of the above</li>
+ *    </ul>.
  * </p>
  * <p>Also, be aware that very few performance considerations have been made
  *    in this initial version.  It should do fine, but if you have performance

Modified: velocity/tools/trunk/src/main/java/org/apache/velocity/tools/view/ViewToolContext.java
URL: http://svn.apache.org/viewvc/velocity/tools/trunk/src/main/java/org/apache/velocity/tools/view/ViewToolContext.java?rev=670987&r1=670986&r2=670987&view=diff
==============================================================================
--- velocity/tools/trunk/src/main/java/org/apache/velocity/tools/view/ViewToolContext.java (original)
+++ velocity/tools/trunk/src/main/java/org/apache/velocity/tools/view/ViewToolContext.java Mon Jun 23 18:18:20 2008
@@ -96,6 +96,10 @@
     protected void putToolProperties()
     {
         putToolProperty(REQUEST, getRequest());
+        if (getRequest() != null)
+        {
+            putToolProperty(LOCALE_KEY, getRequest().getLocale());
+        }
         putToolProperty(RESPONSE, getResponse());
         putToolProperty(SESSION, getSession());
         putToolProperty(SERVLET_CONTEXT_KEY, getServletContext());

Modified: velocity/tools/trunk/src/main/java/org/apache/velocity/tools/view/tools.xml
URL: http://svn.apache.org/viewvc/velocity/tools/trunk/src/main/java/org/apache/velocity/tools/view/tools.xml?rev=670987&r1=670986&r2=670987&view=diff
==============================================================================
--- velocity/tools/trunk/src/main/java/org/apache/velocity/tools/view/tools.xml (original)
+++ velocity/tools/trunk/src/main/java/org/apache/velocity/tools/view/tools.xml Mon Jun 23 18:18:20 2008
@@ -28,11 +28,12 @@
         <tool class="org.apache.velocity.tools.view.PagerTool"/>
         <tool class="org.apache.velocity.tools.view.ParameterTool"/>
         <tool class="org.apache.velocity.tools.view.ViewContextTool"/>
-        <tool class="org.apache.velocity.tools.view.ViewResourceTool"/>
         <!-- 
         This is not directly useable.
         <tool class="org.apache.velocity.tools.view.AbstractSearchTool"/>
         -->
+        <!-- move this to request scope -->
+        <tool class="org.apache.velocity.tools.generic.ResourceTool"/>
     </toolbox>
     <toolbox scope="session" createSession="false">
         <tool class="org.apache.velocity.tools.view.BrowserTool"/>