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]