You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Sven Meier (Commented) (JIRA)" <ji...@apache.org> on 2011/11/29 07:49:40 UTC

[jira] [Commented] (WICKET-4270) Mounted ResourceReference getResource() method being called for requests that do not match the mounted name

    [ https://issues.apache.org/jira/browse/WICKET-4270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13159121#comment-13159121 ] 

Sven Meier commented on WICKET-4270:
------------------------------------

This has nothing to do with matching of an URL but the inverse:
ResourceMapper checks whether it can map a request handler to a URL. For this it checks equality on the resource reference and the resource itself.

What problem do you see here, and why aren't you implementing MyResourceReference#getResource() properly?
                
> Mounted ResourceReference getResource() method being called for requests that do not match the mounted name
> -----------------------------------------------------------------------------------------------------------
>
>                 Key: WICKET-4270
>                 URL: https://issues.apache.org/jira/browse/WICKET-4270
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 1.5.3
>            Reporter: Philip McCullick
>         Attachments: resource_example.zip
>
>
> The getResource() method is being called for a mounted ResourceReference even when the url does not match. So far it seems to only happen when some wicket Ajax is included in the page. To get around the problem, I've added a  check on my ResourceReference that looks for the mounted name in the request url but it seems like the mounting should handle that. 
> To reproduce the error:
> 1. Call mountResource("uploadedfiles", MyResourceReference.class);
> 2. Add an AjaxFallbackLink to a page
> 3. In MyResourceReference getResource() method return null;
> 4. Run the application and open the page with an AjaxFallbackLink and you will get 
> java.lang.NullPointerException
> at org.apache.wicket.request.mapper.ResourceMapper.mapHandler(ResourceMapper.java:167)
> at org.apache.wicket.request.mapper.CompoundRequestMapper.mapHandler(CompoundRequestMapper.java:156)
> at org.apache.wicket.request.cycle.RequestCycle.mapUrlFor(RequestCycle.java:401)
> at org.apache.wicket.request.cycle.RequestCycle.urlFor(RequestCycle.java:485)
> at org.apache.wicket.markup.html.internal.HeaderResponse.renderJavaScriptReference(HeaderResponse.java:205)
> ...
> The class org.apache.wicket.request.mapper.ResourceMap calls the getResource() (line 167) method even though the url does not match the mounted name. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira