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 2007/07/20 19:33:54 UTC
svn commit: r558066 - in /velocity/tools/branches/2.x/src:
main/java/org/apache/velocity/tools/
main/java/org/apache/velocity/tools/config/
main/java/org/apache/velocity/tools/struts/
main/java/org/apache/velocity/tools/view/ test/java/org/apache/veloc...
Author: nbubna
Date: Fri Jul 20 10:33:46 2007
New Revision: 558066
URL: http://svn.apache.org/viewvc?view=rev&rev=558066
Log:
add Scope constants/registry to provide compile-time typo checking and runtime validation of toolbox scopes
Added:
velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/Scope.java (with props)
Modified:
velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/ToolManager.java
velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/ToolboxFactory.java
velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/config/ToolboxConfiguration.java
velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/struts/ActionMessagesTool.java
velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/struts/ErrorsTool.java
velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/struts/FormTool.java
velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/struts/MessageTool.java
velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/struts/TilesTool.java
velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/struts/ValidatorTool.java
velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/AbstractSearchTool.java
velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/BrowserTool.java
velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/ContextTool.java
velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/CookieTool.java
velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/ImportTool.java
velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/LinkTool.java
velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/MultiViewsTool.java
velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/PagerTool.java
velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/ParameterTool.java
velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/VelocityView.java
velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/ViewRenderTool.java
velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/ViewResourceTool.java
velocity/tools/branches/2.x/src/test/java/org/apache/velocity/tools/test/whitebox/ConfigTests.java
Added: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/Scope.java
URL: http://svn.apache.org/viewvc/velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/Scope.java?view=auto&rev=558066
==============================================================================
--- velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/Scope.java (added)
+++ velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/Scope.java Fri Jul 20 10:33:46 2007
@@ -0,0 +1,87 @@
+package org.apache.velocity.tools;
+
+/*
+ * 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.
+ */
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * A specialized constants class to provide some compile-time typo checking and
+ * runtime validation for scopes specified in annotations, toolbox configs, etc.
+ *
+ * @author Nathan Bubna
+ * @version $Id: Toolbox.java 511959 2007-02-26 19:24:39Z nbubna $
+ */
+public final class Scope
+{
+ public static final String REQUEST = "request";
+ public static final String SESSION = "session";
+ public static final String APPLICATION = "application";
+
+ private static final List<String> VALUES;
+ static
+ {
+ List<String> defaults = new ArrayList<String>(3);
+ defaults.add(REQUEST);
+ defaults.add(SESSION);
+ defaults.add(APPLICATION);
+ VALUES = Collections.synchronizedList(defaults);
+ }
+
+ // keep an instance available in case someone wants to
+ // drop this into a template for some reason
+ private static final Scope INSTANCE = new Scope();
+
+ public static final Scope getInstance()
+ {
+ return INSTANCE;
+ }
+
+ public static final void add(String newScope)
+ {
+ // keep everything lower case
+ newScope = newScope.toLowerCase();
+ // complain if it already exists
+ if (VALUES.contains(newScope))
+ {
+ throw new IllegalArgumentException("Scope '"+newScope+"' has already been registered.");
+ }
+ VALUES.add(newScope);
+ }
+
+ public static final boolean exists(String scope)
+ {
+ // keep everything lower case
+ scope = scope.toLowerCase();
+ return VALUES.contains(scope);
+ }
+
+ public static final List<String> values()
+ {
+ return Collections.unmodifiableList(VALUES);
+ }
+
+ private Scope()
+ {
+ // keep constructor private, this is a singleton
+ }
+
+}
Propchange: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/Scope.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/Scope.java
------------------------------------------------------------------------------
svn:keywords = Revision
Modified: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/ToolManager.java
URL: http://svn.apache.org/viewvc/velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/ToolManager.java?view=diff&rev=558066&r1=558065&r2=558066
==============================================================================
--- velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/ToolManager.java (original)
+++ velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/ToolManager.java Fri Jul 20 10:33:46 2007
@@ -27,6 +27,7 @@
import java.util.Map;
import org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.exception.ResourceNotFoundException;
+import org.apache.velocity.tools.Scope;
import org.apache.velocity.tools.config.FactoryConfiguration;
import org.apache.velocity.tools.config.FileFactoryConfiguration;
import org.apache.velocity.tools.config.PropertiesFactoryConfiguration;
@@ -138,17 +139,17 @@
protected boolean hasRequestTools()
{
- return this.factory.hasTools(ToolboxFactory.DEFAULT_SCOPE);
+ return this.factory.hasTools(Scope.REQUEST);
}
protected Toolbox getRequestToolbox()
{
- return this.factory.createToolbox(ToolboxFactory.DEFAULT_SCOPE);
+ return this.factory.createToolbox(Scope.REQUEST);
}
protected boolean hasApplicationTools()
{
- return this.factory.hasTools(ToolboxFactory.APPLICATION_SCOPE);
+ return this.factory.hasTools(Scope.APPLICATION);
}
protected Toolbox getApplicationToolbox()
@@ -156,7 +157,7 @@
if (this.application == null)
{
this.application =
- this.factory.createToolbox(ToolboxFactory.APPLICATION_SCOPE);
+ this.factory.createToolbox(Scope.APPLICATION);
}
return this.application;
}
Modified: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/ToolboxFactory.java
URL: http://svn.apache.org/viewvc/velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/ToolboxFactory.java?view=diff&rev=558066&r1=558065&r2=558066
==============================================================================
--- velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/ToolboxFactory.java (original)
+++ velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/ToolboxFactory.java Fri Jul 20 10:33:46 2007
@@ -25,6 +25,7 @@
import java.util.Map;
import org.apache.velocity.tools.config.Data;
import org.apache.velocity.tools.config.FactoryConfiguration;
+import org.apache.velocity.tools.Scope;
import org.apache.velocity.tools.config.ToolboxConfiguration;
import org.apache.velocity.tools.config.ToolConfiguration;
@@ -36,8 +37,7 @@
*/
public class ToolboxFactory
{
- public static final String DEFAULT_SCOPE = "request";
- public static final String APPLICATION_SCOPE = "application";
+ public static final String DEFAULT_SCOPE = Scope.REQUEST;
private Map<String,Map<String,ToolInfo>> scopedToolInfo;
private Map<String,Map<String,Object>> scopedProperties;
@@ -193,7 +193,7 @@
{
return true;
}
- else if (data != null && APPLICATION_SCOPE.equals(scope))
+ else if (data != null && Scope.APPLICATION.equals(scope))
{
return true;
}
@@ -231,7 +231,7 @@
// if application scoped or if there's only one toolbox,
// then automatically include data, if we have any.
if (data != null &&
- (scopedToolInfo.size() == 1 || scope.equals(APPLICATION_SCOPE)))
+ (scopedToolInfo.size() == 1 || scope.equals(Scope.APPLICATION)))
{
toolbox.cacheData(getData());
}
Modified: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/config/ToolboxConfiguration.java
URL: http://svn.apache.org/viewvc/velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/config/ToolboxConfiguration.java?view=diff&rev=558066&r1=558065&r2=558066
==============================================================================
--- velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/config/ToolboxConfiguration.java (original)
+++ velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/config/ToolboxConfiguration.java Fri Jul 20 10:33:46 2007
@@ -20,6 +20,7 @@
*/
import java.util.List;
+import org.apache.velocity.tools.Scope;
import org.apache.velocity.tools.ToolboxFactory;
/**
@@ -133,6 +134,10 @@
if (getScope() == null)
{
throw new ConfigurationException(this, "Toolbox scope cannot be null");
+ }
+ if (!Scope.exists(getScope()))
+ {
+ throw new ConfigurationException(this, "Scope '"+getScope()+"' is not recognized. Please correct or add your new custom scope with "+Scope.class.getName()+".add(\""+getScope()+"\").");
}
// validate that all tools are allowed in this scope
Modified: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/struts/ActionMessagesTool.java
URL: http://svn.apache.org/viewvc/velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/struts/ActionMessagesTool.java?view=diff&rev=558066&r1=558065&r2=558066
==============================================================================
--- velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/struts/ActionMessagesTool.java (original)
+++ velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/struts/ActionMessagesTool.java Fri Jul 20 10:33:46 2007
@@ -25,6 +25,7 @@
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.util.MessageResources;
+import org.apache.velocity.tools.Scope;
import org.apache.velocity.tools.config.DefaultKey;
import org.apache.velocity.tools.config.ValidScope;
@@ -54,7 +55,7 @@
* @version $Id$
*/
@DefaultKey("messages")
-@ValidScope("request")
+@ValidScope(Scope.REQUEST)
public class ActionMessagesTool extends MessageResourcesTool
{
/** A reference to the queued action messages. */
Modified: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/struts/ErrorsTool.java
URL: http://svn.apache.org/viewvc/velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/struts/ErrorsTool.java?view=diff&rev=558066&r1=558065&r2=558066
==============================================================================
--- velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/struts/ErrorsTool.java (original)
+++ velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/struts/ErrorsTool.java Fri Jul 20 10:33:46 2007
@@ -21,6 +21,7 @@
import java.util.Map;
import org.apache.struts.action.ActionMessages;
+import org.apache.velocity.tools.Scope;
import org.apache.velocity.tools.config.DefaultKey;
import org.apache.velocity.tools.config.ValidScope;
@@ -53,7 +54,7 @@
* @version $Id$
*/
@DefaultKey("errors")
-@ValidScope("request")
+@ValidScope(Scope.REQUEST)
public class ErrorsTool extends ActionMessagesTool
{
Modified: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/struts/FormTool.java
URL: http://svn.apache.org/viewvc/velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/struts/FormTool.java?view=diff&rev=558066&r1=558065&r2=558066
==============================================================================
--- velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/struts/FormTool.java (original)
+++ velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/struts/FormTool.java Fri Jul 20 10:33:46 2007
@@ -24,6 +24,7 @@
import javax.servlet.http.HttpSession;
import org.apache.struts.action.ActionForm;
import org.apache.velocity.tools.view.ViewContext;
+import org.apache.velocity.tools.Scope;
import org.apache.velocity.tools.config.DefaultKey;
import org.apache.velocity.tools.config.ValidScope;
@@ -49,7 +50,7 @@
* @version $Id$
*/
@DefaultKey("form")
-@ValidScope("request")
+@ValidScope(Scope.REQUEST)
public class FormTool
{
Modified: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/struts/MessageTool.java
URL: http://svn.apache.org/viewvc/velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/struts/MessageTool.java?view=diff&rev=558066&r1=558065&r2=558066
==============================================================================
--- velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/struts/MessageTool.java (original)
+++ velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/struts/MessageTool.java Fri Jul 20 10:33:46 2007
@@ -22,6 +22,7 @@
import java.util.List;
import java.util.Locale;
import org.apache.struts.util.MessageResources;
+import org.apache.velocity.tools.Scope;
import org.apache.velocity.tools.config.DefaultKey;
import org.apache.velocity.tools.config.ValidScope;
@@ -50,7 +51,7 @@
* @version $Id$
*/
@DefaultKey("text")
-@ValidScope("request")
+@ValidScope(Scope.REQUEST)
public class MessageTool extends MessageResourcesTool
{
Modified: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/struts/TilesTool.java
URL: http://svn.apache.org/viewvc/velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/struts/TilesTool.java?view=diff&rev=558066&r1=558065&r2=558066
==============================================================================
--- velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/struts/TilesTool.java (original)
+++ velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/struts/TilesTool.java Fri Jul 20 10:33:46 2007
@@ -33,6 +33,7 @@
import org.apache.struts.tiles.DirectStringAttribute;
import org.apache.struts.tiles.TilesUtil;
import org.apache.velocity.context.Context;
+import org.apache.velocity.tools.Scope;
import org.apache.velocity.tools.config.DefaultKey;
import org.apache.velocity.tools.config.ValidScope;
import org.apache.velocity.tools.view.ImportSupport;
@@ -66,7 +67,7 @@
* @version $Revision$ $Date$
*/
@DefaultKey("tiles")
-@ValidScope("request")
+@ValidScope(Scope.REQUEST)
public class TilesTool extends ImportSupport
{
static final String PAGE_SCOPE = "page";
Modified: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/struts/ValidatorTool.java
URL: http://svn.apache.org/viewvc/velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/struts/ValidatorTool.java?view=diff&rev=558066&r1=558065&r2=558066
==============================================================================
--- velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/struts/ValidatorTool.java (original)
+++ velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/struts/ValidatorTool.java Fri Jul 20 10:33:46 2007
@@ -41,6 +41,7 @@
import org.apache.struts.util.ModuleUtils;
import org.apache.struts.validator.Resources;
import org.apache.struts.validator.ValidatorPlugIn;
+import org.apache.velocity.tools.Scope;
import org.apache.velocity.tools.config.DefaultKey;
import org.apache.velocity.tools.config.ValidScope;
import org.apache.velocity.tools.view.ViewContext;
@@ -74,7 +75,7 @@
* @version $Revision$ $Date$
*/
@DefaultKey("validator")
-@ValidScope("request")
+@ValidScope(Scope.REQUEST)
public class ValidatorTool
{
Modified: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/AbstractSearchTool.java
URL: http://svn.apache.org/viewvc/velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/AbstractSearchTool.java?view=diff&rev=558066&r1=558065&r2=558066
==============================================================================
--- velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/AbstractSearchTool.java (original)
+++ velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/AbstractSearchTool.java Fri Jul 20 10:33:46 2007
@@ -23,6 +23,7 @@
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.apache.velocity.runtime.log.Log;
+import org.apache.velocity.tools.Scope;
import org.apache.velocity.tools.config.DefaultKey;
import org.apache.velocity.tools.config.InvalidScope;
@@ -119,7 +120,7 @@
* @version $Revision$ $Date$
*/
@DefaultKey("search")
-@InvalidScope({"application","session"})
+@InvalidScope({Scope.APPLICATION,Scope.SESSION})
public abstract class AbstractSearchTool extends PagerTool
{
public static final String DEFAULT_CRITERIA_KEY = "find";
Modified: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/BrowserTool.java
URL: http://svn.apache.org/viewvc/velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/BrowserTool.java?view=diff&rev=558066&r1=558065&r2=558066
==============================================================================
--- velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/BrowserTool.java (original)
+++ velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/BrowserTool.java Fri Jul 20 10:33:46 2007
@@ -23,9 +23,10 @@
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;
import javax.servlet.http.HttpServletRequest;
+import org.apache.velocity.tools.Scope;
import org.apache.velocity.tools.config.DefaultKey;
-import org.apache.velocity.tools.view.ViewContext;
import org.apache.velocity.tools.config.InvalidScope;
+import org.apache.velocity.tools.view.ViewContext;
/**
* <p>browser-sniffing tool (session or request scope requested, session scope advised).</p>
@@ -60,7 +61,7 @@
* @version $Revision$ $Date$
*/
@DefaultKey("browser")
-@InvalidScope("application")
+@InvalidScope(Scope.APPLICATION)
public class BrowserTool implements java.io.Serializable
{
private static final long serialVersionUID = 1734529350532353339L;
Modified: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/ContextTool.java
URL: http://svn.apache.org/viewvc/velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/ContextTool.java?view=diff&rev=558066&r1=558065&r2=558066
==============================================================================
--- velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/ContextTool.java (original)
+++ velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/ContextTool.java Fri Jul 20 10:33:46 2007
@@ -30,6 +30,7 @@
import javax.servlet.ServletContext;
import org.apache.velocity.context.AbstractContext;
import org.apache.velocity.context.Context;
+import org.apache.velocity.tools.Scope;
import org.apache.velocity.tools.config.DefaultKey;
import org.apache.velocity.tools.config.InvalidScope;
import org.apache.velocity.tools.generic.ValueParser;
@@ -60,7 +61,7 @@
* @version $Id: ContextTool.java 385122 2006-03-11 18:37:42Z nbubna $
*/
@DefaultKey("context")
-@InvalidScope({"application","session"})
+@InvalidScope({Scope.APPLICATION,Scope.SESSION})
public class ContextTool
{
/**
Modified: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/CookieTool.java
URL: http://svn.apache.org/viewvc/velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/CookieTool.java?view=diff&rev=558066&r1=558065&r2=558066
==============================================================================
--- velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/CookieTool.java (original)
+++ velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/CookieTool.java Fri Jul 20 10:33:46 2007
@@ -24,6 +24,7 @@
import javax.servlet.http.HttpServletResponse;
import org.apache.velocity.tools.config.DefaultKey;
import org.apache.velocity.tools.config.ValidScope;
+import org.apache.velocity.tools.Scope;
/**
* <p>View tool for convenient cookie access and creation.</p>
@@ -48,7 +49,7 @@
* @version $Id$
*/
@DefaultKey("cookies")
-@ValidScope("request")
+@ValidScope(Scope.REQUEST)
public class CookieTool
{
Modified: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/ImportTool.java
URL: http://svn.apache.org/viewvc/velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/ImportTool.java?view=diff&rev=558066&r1=558065&r2=558066
==============================================================================
--- velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/ImportTool.java (original)
+++ velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/ImportTool.java Fri Jul 20 10:33:46 2007
@@ -19,6 +19,7 @@
* under the License.
*/
+import org.apache.velocity.tools.Scope;
import org.apache.velocity.tools.config.DefaultKey;
import org.apache.velocity.tools.config.ValidScope;
import org.apache.velocity.tools.view.ImportSupport;
@@ -43,7 +44,7 @@
* @version $Revision$ $Date$
*/
@DefaultKey("import")
-@ValidScope("request")
+@ValidScope(Scope.REQUEST)
public class ImportTool extends ImportSupport
{
/**
Modified: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/LinkTool.java
URL: http://svn.apache.org/viewvc/velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/LinkTool.java?view=diff&rev=558066&r1=558065&r2=558066
==============================================================================
--- velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/LinkTool.java (original)
+++ velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/LinkTool.java Fri Jul 20 10:33:46 2007
@@ -29,6 +29,7 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.velocity.runtime.log.Log;
+import org.apache.velocity.tools.Scope;
import org.apache.velocity.tools.config.DefaultKey;
import org.apache.velocity.tools.config.ValidScope;
import org.apache.velocity.tools.generic.ValueParser;
@@ -59,7 +60,7 @@
* @version $Id$
*/
@DefaultKey("link")
-@ValidScope("request")
+@ValidScope(Scope.REQUEST)
public class LinkTool implements Cloneable
{
/**
Modified: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/MultiViewsTool.java
URL: http://svn.apache.org/viewvc/velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/MultiViewsTool.java?view=diff&rev=558066&r1=558065&r2=558066
==============================================================================
--- velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/MultiViewsTool.java (original)
+++ velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/MultiViewsTool.java Fri Jul 20 10:33:46 2007
@@ -24,6 +24,7 @@
import javax.servlet.ServletContext;
import org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.context.Context;
+import org.apache.velocity.tools.Scope;
import org.apache.velocity.tools.config.DefaultKey;
import org.apache.velocity.tools.config.InvalidScope;
import org.apache.velocity.tools.view.ViewToolContext;
@@ -42,7 +43,7 @@
* @author <a href="mailto:dlr@finemaltcoding.com">Daniel Rall</a>
*/
@DefaultKey("i18n")
-@InvalidScope("application")
+@InvalidScope(Scope.APPLICATION)
public class MultiViewsTool
{
/**
Modified: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/PagerTool.java
URL: http://svn.apache.org/viewvc/velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/PagerTool.java?view=diff&rev=558066&r1=558065&r2=558066
==============================================================================
--- velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/PagerTool.java (original)
+++ velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/PagerTool.java Fri Jul 20 10:33:46 2007
@@ -25,6 +25,7 @@
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
+import org.apache.velocity.tools.Scope;
import org.apache.velocity.tools.config.DefaultKey;
import org.apache.velocity.tools.config.InvalidScope;
import org.apache.velocity.tools.view.ViewContext;
@@ -99,7 +100,7 @@
* @version $Revision$ $Date$
*/
@DefaultKey("pager")
-@InvalidScope({"application","session"})
+@InvalidScope({Scope.APPLICATION,Scope.SESSION})
public class PagerTool
{
public static final String DEFAULT_NEW_ITEMS_KEY = "new.items";
Modified: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/ParameterTool.java
URL: http://svn.apache.org/viewvc/velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/ParameterTool.java?view=diff&rev=558066&r1=558065&r2=558066
==============================================================================
--- velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/ParameterTool.java (original)
+++ velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/ParameterTool.java Fri Jul 20 10:33:46 2007
@@ -21,6 +21,7 @@
import java.util.Map;
import javax.servlet.ServletRequest;
+import org.apache.velocity.tools.Scope;
import org.apache.velocity.tools.config.DefaultKey;
import org.apache.velocity.tools.config.ValidScope;
import org.apache.velocity.tools.generic.ValueParser;
@@ -50,7 +51,7 @@
* @version $Revision$ $Date$
*/
@DefaultKey("params")
-@ValidScope("request")
+@ValidScope(Scope.REQUEST)
public class ParameterTool extends ValueParser
{
private ServletRequest request;
Modified: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/VelocityView.java
URL: http://svn.apache.org/viewvc/velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/VelocityView.java?view=diff&rev=558066&r1=558065&r2=558066
==============================================================================
--- velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/VelocityView.java (original)
+++ velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/VelocityView.java Fri Jul 20 10:33:46 2007
@@ -41,6 +41,7 @@
import org.apache.velocity.runtime.RuntimeConstants;
import org.apache.velocity.runtime.log.Log;
import org.apache.velocity.tools.generic.log.LogChuteCommonsLog;
+import org.apache.velocity.tools.Scope;
import org.apache.velocity.tools.Toolbox;
import org.apache.velocity.tools.ToolboxFactory;
import org.apache.velocity.tools.config.ConfigurationCleaner;
@@ -368,8 +369,7 @@
}
// add any application toolbox to the application attributes
- Toolbox appTools =
- toolboxFactory.createToolbox(ToolboxFactory.APPLICATION_SCOPE);
+ Toolbox appTools = toolboxFactory.createToolbox(Scope.APPLICATION);
if (appTools != null &&
this.servletContext.getAttribute(this.toolboxKey) == null)
{
@@ -794,12 +794,11 @@
public void prepareToolboxes(HttpServletRequest request)
{
// only set a new toolbox if we need one
- if (toolboxFactory.hasTools(ToolboxFactory.DEFAULT_SCOPE)
+ if (toolboxFactory.hasTools(Scope.REQUEST)
&& request.getAttribute(this.toolboxKey) == null)
{
// add request toolbox, if any
- Toolbox reqTools =
- toolboxFactory.createToolbox(ToolboxFactory.DEFAULT_SCOPE);
+ Toolbox reqTools = toolboxFactory.createToolbox(Scope.REQUEST);
if (reqTools != null)
{
request.setAttribute(this.toolboxKey, reqTools);
Modified: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/ViewRenderTool.java
URL: http://svn.apache.org/viewvc/velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/ViewRenderTool.java?view=diff&rev=558066&r1=558065&r2=558066
==============================================================================
--- velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/ViewRenderTool.java (original)
+++ velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/ViewRenderTool.java Fri Jul 20 10:33:46 2007
@@ -20,8 +20,9 @@
*/
import org.apache.velocity.context.Context;
-import org.apache.velocity.tools.generic.RenderTool;
+import org.apache.velocity.tools.Scope;
import org.apache.velocity.tools.config.InvalidScope;
+import org.apache.velocity.tools.generic.RenderTool;
/**
* This tool expose methods to evaluate the given
Modified: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/ViewResourceTool.java
URL: http://svn.apache.org/viewvc/velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/ViewResourceTool.java?view=diff&rev=558066&r1=558065&r2=558066
==============================================================================
--- velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/ViewResourceTool.java (original)
+++ velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/view/ViewResourceTool.java Fri Jul 20 10:33:46 2007
@@ -20,6 +20,7 @@
*/
import javax.servlet.http.HttpServletRequest;
+import org.apache.velocity.tools.Scope;
import org.apache.velocity.tools.config.InvalidScope;
import org.apache.velocity.tools.generic.ResourceTool;
@@ -62,7 +63,7 @@
* @version $Revision$ $Date: 2006-11-27 10:49:37 -0800 (Mon, 27 Nov 2006) $
* @since VelocityTools 1.3
*/
-@InvalidScope({"application","session"})
+@InvalidScope({Scope.APPLICATION,Scope.SESSION})
public class ViewResourceTool extends ResourceTool
{
/**
Modified: velocity/tools/branches/2.x/src/test/java/org/apache/velocity/tools/test/whitebox/ConfigTests.java
URL: http://svn.apache.org/viewvc/velocity/tools/branches/2.x/src/test/java/org/apache/velocity/tools/test/whitebox/ConfigTests.java?view=diff&rev=558066&r1=558065&r2=558066
==============================================================================
--- velocity/tools/branches/2.x/src/test/java/org/apache/velocity/tools/test/whitebox/ConfigTests.java (original)
+++ velocity/tools/branches/2.x/src/test/java/org/apache/velocity/tools/test/whitebox/ConfigTests.java Fri Jul 20 10:33:46 2007
@@ -29,11 +29,11 @@
import org.apache.commons.beanutils.converters.BooleanConverter;
import org.apache.commons.beanutils.converters.DoubleConverter;
import org.apache.commons.beanutils.converters.IntegerConverter;
-import org.apache.commons.beanutils.converters.StringConverter;
-import org.apache.velocity.tools.view.ViewRenderTool;
+import org.apache.velocity.tools.Scope;
+import org.apache.velocity.tools.config.*;
import org.apache.velocity.tools.generic.MathTool;
import org.apache.velocity.tools.generic.NumberTool;
-import org.apache.velocity.tools.config.*;
+import org.apache.velocity.tools.view.ViewRenderTool;
/**
* <p>Configuration tests.</p>
@@ -59,7 +59,7 @@
base.addData(datum);
ToolboxConfiguration toolbox = new ToolboxConfiguration();
- toolbox.setScope("request");
+ toolbox.setScope(Scope.REQUEST);
toolbox.setProperty("locale", Locale.US);
ToolConfiguration tool = new ToolConfiguration();
tool.setClass(ViewRenderTool.class);
@@ -67,7 +67,7 @@
base.addToolbox(toolbox);
toolbox = new ToolboxConfiguration();
- toolbox.setScope("application");
+ toolbox.setScope(Scope.APPLICATION);
tool = new ToolConfiguration();
tool.setKey("calc");
tool.setClass(MathTool.class);
@@ -159,7 +159,10 @@
datum.setType("number");
assertInvalid(datum);
- //TODO: test converter/target class stuff
+ // should fail to convert a decimal string to an integer
+ datum.setValue("0.1");
+ datum.convertWith(new IntegerConverter());
+ assertInvalid(datum);
}
public @Test void testData()