You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "dennis hoersch (JIRA)" <de...@myfaces.apache.org> on 2013/05/14 12:21:16 UTC
[jira] [Created] (MYFACES-3722) Cache for
ResourceHandlerImpl.isResourceRequest seams not to work in 'none resource
requests'
dennis hoersch created MYFACES-3722:
---------------------------------------
Summary: Cache for ResourceHandlerImpl.isResourceRequest seams not to work in 'none resource requests'
Key: MYFACES-3722
URL: https://issues.apache.org/jira/browse/MYFACES-3722
Project: MyFaces Core
Issue Type: Bug
Affects Versions: 2.1.11
Reporter: dennis hoersch
There is a cache for the calculated result whether the given request is a resource request.
I think it is not working as expected in the moment.
ResourceHandlerImpl:
@Override
public boolean isResourceRequest(FacesContext facesContext)
{
// Since this method could be called many times we save it
//on request map so the first time is calculated it remains
//alive until the end of the request
Boolean value = (Boolean) facesContext.getAttributes().get(IS_RESOURCE_REQUEST);
if (value != null && value)
{
//return the saved value
return value;
}
else
{
String resourceBasePath = getResourceHandlerSupport()
.calculateResourceBasePath(facesContext);
if (resourceBasePath != null
&& resourceBasePath.startsWith(ResourceHandler.RESOURCE_IDENTIFIER))
{
facesContext.getAttributes().put(IS_RESOURCE_REQUEST, Boolean.TRUE);
return true;
}
else
{
facesContext.getAttributes().put(IS_RESOURCE_REQUEST, Boolean.FALSE);
return false;
}
}
}
In case of IS_RESOURCE_REQUEST=false the value is recalculated for every method call again because of the 'if (value != null && value)'. I think it just should be 'if (value != null)', or?
----
(
@Override
public boolean isResourceRequest(FacesContext facesContext)
{
// Since this method could be called many times we save it
// on request map so the first time is calculated it remains
// alive until the end of the request
Boolean value = (Boolean) facesContext.getAttributes().get(IS_RESOURCE_REQUEST);
if (value == null)
{
String resourceBasePath = getResourceHandlerSupport()
.calculateResourceBasePath(facesContext);
value = resourceBasePath != null
&& resourceBasePath.startsWith(ResourceHandler.RESOURCE_IDENTIFIER);
facesContext.getAttributes().put(IS_RESOURCE_REQUEST, value);
}
return value;
}
)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira