You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by "Howard M. Lewis Ship (JIRA)" <ji...@apache.org> on 2014/08/27 18:45:58 UTC

[jira] [Closed] (TAP5-2281) Conflict in page name resolution

     [ https://issues.apache.org/jira/browse/TAP5-2281?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Howard M. Lewis Ship closed TAP5-2281.
--------------------------------------

    Resolution: Invalid

This is now an error, see TAP5-2377 which will log errors identifying the conflicting page names and class names.

> Conflict in page name resolution
> --------------------------------
>
>                 Key: TAP5-2281
>                 URL: https://issues.apache.org/jira/browse/TAP5-2281
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.3.7
>            Reporter: Mauricio Aldazosa Mariaca
>            Priority: Minor
>
> Due to URL shortening, sometimes it is possible for Tapestry to obtain an incorrect page class. This behavior can be exposed by doing something like:
> 1. Create a page 'Choose' inside package foo.
> 2. Create a page 'ChooseFoo' inside package foo.
> In a ComponentRequestFilter try to obtain one of the pages:
> {code}
>    handlePageRender(PageRenderRequestParameters params,
>                     ComponentRequestHandler handler) {
>         String pageName params.getLogicalPageName();
>         Component page = _componentSource.getPage(pageName);
>         ...
>         handler.handlePageRender(parameters);
>     }
> {code}
> When the request filter handles a request for page "Choose", the component source ends picking up the page "ChooseFoo". It seems that tapestry's logical page name shortening doesn't handle cases where more than one page resolve to the same logical name.
> Maybe Tapestry should raise a warning or throw an exception when it encounters pages with ambigous names.



--
This message was sent by Atlassian JIRA
(v6.2#6252)