Author: nbubna Date: Mon Sep 19 11:54:29 2005 New Revision: 290237 URL: http://svn.apache.org/viewcvs?rev=290237&view=rev Log: validate tool info before adding it (part of Henning's patch for Issue VELOCITY-375
Modified: jakarta/velocity/tools/trunk/src/java/org/apache/velocity/tools/view/servlet/ServletToolboxManager.java Modified: jakarta/velocity/tools/trunk/src/java/org/apache/velocity/tools/view/servlet/ServletToolboxManager.java URL: http://svn.apache.org/viewcvs/jakarta/velocity/tools/trunk/src/java/org/apache/velocity/tools/view/servlet/ServletToolboxManager.java?rev=290237&r1=290236&r2=290237&view=diff ============================================================================== --- jakarta/velocity/tools/trunk/src/java/org/apache/velocity/tools/view/servlet/ServletToolboxManager.java (original) +++ jakarta/velocity/tools/trunk/src/java/org/apache/velocity/tools/view/servlet/ServletToolboxManager.java Mon Sep 19 11:54:29 2005 @@ -94,8 +94,8 @@ * @author <a href="mailto:[EMAIL PROTECTED]">Gabriel Sidler</a> * @author <a href="mailto:[EMAIL PROTECTED]">Nathan Bubna</a> * @author <a href="mailto:[EMAIL PROTECTED]">Geir Magnusson Jr.</a> - * - * @version $Id: ServletToolboxManager.java,v 1.16 2004/11/11 06:26:27 nbubna Exp $ + * @author <a href="mailto:[EMAIL PROTECTED]">Henning P. Schmiedehausen</a> + * @version $Id$ */ public class ServletToolboxManager extends XMLToolboxManager { @@ -281,43 +281,53 @@ */ public void addTool(ToolInfo info) { - if (info instanceof DataInfo) + if (validateToolInfo(info)) { - //add static data to the appTools map - appTools.put(info.getKey(), info.getInstance(null)); - } - else if (info instanceof ServletToolInfo) - { - ServletToolInfo sti = (ServletToolInfo)info; - - if (ViewContext.REQUEST.equalsIgnoreCase(sti.getScope())) + if (info instanceof ServletToolInfo) { - requestToolInfo.add(sti); - } - else if (ViewContext.SESSION.equalsIgnoreCase(sti.getScope())) - { - sessionToolInfo.add(sti); - } - else if (ViewContext.APPLICATION.equalsIgnoreCase(sti.getScope())) - { - /* add application scoped tools to appTools and - * initialize them with the ServletContext */ - appTools.put(sti.getKey(), sti.getInstance(servletContext)); + ServletToolInfo sti = (ServletToolInfo)info; + + if (ViewContext.REQUEST.equalsIgnoreCase(sti.getScope())) + { + requestToolInfo.add(sti); + return; + } + else if (ViewContext.SESSION.equalsIgnoreCase(sti.getScope())) + { + sessionToolInfo.add(sti); + return; + } + else if (ViewContext.APPLICATION.equalsIgnoreCase(sti.getScope())) + { + /* add application scoped tools to appTools and + * initialize them with the ServletContext */ + appTools.put(sti.getKey(), sti.getInstance(servletContext)); + return; + } + else + { + LOG.warn("Unknown scope '" + sti.getScope() + "' - " + + sti.getKey() + " will be request scoped."); + } } else { - LOG.warn("Unknown scope '" + sti.getScope() + "' - " + - sti.getKey() + " will be request scoped."); - requestToolInfo.add(sti); + //default is request scope + requestToolInfo.add(info); } } - else + } + + /** + * Overrides XMLToolboxManager to put data into appTools map + */ + public void addData(ToolInfo info) + { + if (validateToolInfo(info)) { - //default is request scope - requestToolInfo.add(info); + appTools.put(info.getKey(), info.getInstance(null)); } } - /** * Overrides XMLToolboxManager to handle the separate --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]