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 2012/08/22 09:29:38 UTC

[jira] [Comment Edited] (WICKET-4721) ConcatBundleResource is unnecessarily limited to accepting PackageResourceReference

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

Martin Grigorov edited comment on WICKET-4721 at 8/22/12 6:29 PM:
------------------------------------------------------------------

>From the two suggested patches I prefer the simple one.
The one with the generics is too intrusive and requires too much typing. It can be improved though : no need to pass the type for JavaScriptResourceReference or JavaScriptReferenceHeaderItem. The type should be part of the ResRef/HeaderItem declaration. E.g. JavaScriptResRef is tied with JavaScriptPackageResource:

class PackageResourceReference<T extends PackageResource> extends ResourceReference<T> { ... }
class JavaScriptResourceRefeference extends PackageResourceReference<JavaScriptPackageResource> { ... }.


I think about of a third solution: ConcatResourceBundleReference is a ResRef but it works with IReferenceHeaderItems instead of with IResource (IStaticCacheableResource (ISCR) in this case) like any other ResRef. The problem with making it work with ISCR is that the user will have to manage the dependencies himself.
                
      was (Author: mgrigorov):
    From the two suggested patches I prefer the simple one.
The one with the generics is too intrusive and requires too much typing. It can be improved though : no need to pass the type for JavaScriptResourceReference or JavaScriptReferenceHeaderItem. The type should be part of the ResRef/HeaderItem declaration. E.g. JavaScriptResRef is tied with JavaScriptPackageResource:

class PackageResourceReference<T extends PackageResource> extends ResourceReference<T> { ... }
class JavaScriptResourceRefeference extends PackageResourceReference<JavaScriptPackageResource> { ... }.


I think about of a third solution: ConcatResourceBundleReference is a ResRef but it works with IReferenceHeaderItems instead of with IStaticCacheableResource (ISCR) like any other ResRef. The problem with making with work with ISCR is that the user will have to manage the dependencies himself.
                  
> ConcatBundleResource is unnecessarily limited to accepting PackageResourceReference
> -----------------------------------------------------------------------------------
>
>                 Key: WICKET-4721
>                 URL: https://issues.apache.org/jira/browse/WICKET-4721
>             Project: Wicket
>          Issue Type: Improvement
>    Affects Versions: 6.0.0-beta3
>            Reporter: Luke Niesink
>            Assignee: Emond Papegaaij
>            Priority: Minor
>         Attachments: WICKET-4721-generics.patch, WICKET-4721-simple.patch
>
>
> ConcatBundleResource (and ConcatResourceBundleReference) are currently limited to concatenating resources of the type PackageResource.
> The only methods of the specified PackageResource's used by ConcatBundleResource are PackageResource#getCacheKey() and PackageResource#getResourceStream().
> The implementation of PackageResource#getResourceStream() is (nearly) identical to PackageResource#getCacheableResourceStream().
> The methods PackageResource#getCacheKey() and PackageResource#getCacheableResourceStream() are both implemented as part of the interface IStaticCacheableResource.
> ConcatBundleResource (and ConcatResourceBundleReference) should, in my vision, therefor be able to concatenate all resources that implement IStaticCacheableResource.

--
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