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"/>