You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Martin Grigorov (JIRA)" <ji...@apache.org> on 2014/05/20 21:55:40 UTC

[jira] [Assigned] (WICKET-5581) CachingRes​ourceStrea​mLocator is not extension-​aware

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

Martin Grigorov reassigned WICKET-5581:
---------------------------------------

    Assignee: Martin Grigorov

> CachingRes​ourceStrea​mLocator is not extension-​aware
> ------------------------------------------------------
>
>                 Key: WICKET-5581
>                 URL: https://issues.apache.org/jira/browse/WICKET-5581
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 6.15.0
>            Reporter: Fabio Fioretti
>            Assignee: Martin Grigorov
>
> Consider, as a real case scenario, an application that integrates with Apache FOP in a way that, by overriding Page's getMarkupType(), makes it possible to have a component render its .fo markup (to generate a PDF) instead of the usual html, depending on whether it is added to a Page with the fo MarkupType or the standard html one.
> This means the typical Panel of such application has two markup files, an html one and a fo one: Panel.html and Panel.fo.
> The default CachingRes​ourceStrea​mLocator makes use of ResourceReference#Key for the cache. That Key completely ignores the extension of the file or, better, assumes it is part of the name, while for markup files this is apparently not the case. Basically, Panel.html and Panel.fo have the same Key, the name of which is simply "Panel".
> Therefore, when a Panel is first rendered in html, its html markup reference is cached and there is no way to make it render again in fo, because the cache will always return the html markup reference.
> A workaround suggested by Martin Grigorov in the Users mailing list is to override #getVariation() for the pages and return "html" and "fo" respectively.
> However, the solution would be to fix CachingResourceStreamLocator to fully support this use case and properly cache different markup files of the same class.



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