You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@velocity.apache.org by cb...@apache.org on 2017/07/12 14:42:51 UTC
svn commit: r1801740 -
/velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/ViewToolContext.java
Author: cbrisson
Date: Wed Jul 12 14:42:51 2017
New Revision: 1801740
URL: http://svn.apache.org/viewvc?rev=1801740&view=rev
Log:
[tools] Protection from NPEs in view context initialization whenever request is null
There may only be a servlet context scope in some cases, for instance in a webapp background thread.
Modified:
velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/ViewToolContext.java
Modified: velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/ViewToolContext.java
URL: http://svn.apache.org/viewvc/velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/ViewToolContext.java?rev=1801740&r1=1801739&r2=1801740&view=diff
==============================================================================
--- velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/ViewToolContext.java (original)
+++ velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/ViewToolContext.java Wed Jul 12 14:42:51 2017
@@ -109,7 +109,10 @@ public class ViewToolContext extends Too
putToolProperty(RESPONSE, getResponse());
putToolProperty(SESSION, getSession());
putToolProperty(SERVLET_CONTEXT_KEY, getServletContext());
- putToolProperty(PATH_KEY, ServletUtils.getPath(getRequest()));
+ if (getRequest() != null)
+ {
+ putToolProperty(PATH_KEY, ServletUtils.getPath(getRequest()));
+ }
}
protected List<Toolbox> getToolboxes()
@@ -129,12 +132,14 @@ public class ViewToolContext extends Too
protected void addToolboxesUnderKey(String toolboxKey)
{
- Toolbox reqTools = (Toolbox)getRequest().getAttribute(toolboxKey);
- if (reqTools != null)
+ if (getRequest() != null)
{
- addToolbox(reqTools);
+ Toolbox reqTools = (Toolbox)getRequest().getAttribute(toolboxKey);
+ if (reqTools != null)
+ {
+ addToolbox(reqTools);
+ }
}
-
if (getSession() != null)
{
Toolbox sessTools = (Toolbox)getSession().getAttribute(toolboxKey);
@@ -214,11 +219,11 @@ public class ViewToolContext extends Too
{
if (key.equals(REQUEST))
{
- return request;
+ return getRequest();
}
else if(key.equals(RESPONSE))
{
- return response;
+ return getResponse();
}
else if (key.equals(SESSION))
{
@@ -241,7 +246,11 @@ public class ViewToolContext extends Too
*/
public Object getAttribute(String key)
{
- Object o = request.getAttribute(key);
+ Object o = null;
+ if (getRequest() != null)
+ {
+ getRequest().getAttribute(key);
+ }
if (o == null)
{
if (getSession() != null)
@@ -324,8 +333,8 @@ public class ViewToolContext extends Too
{
return super.containsKey(key)
|| getAttribute(key) != null
- || key.equals(REQUEST) && request != null
- || key.equals(RESPONSE) && response != null
+ || key.equals(REQUEST) && getRequest() != null
+ || key.equals(RESPONSE) && getResponse() != null
|| key.equals(SESSION) && getSession() != null
|| key.equals(APPLICATION) && application != null;
}