[
https://issues.apache.org/jira/browse/WICKET-4617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13402043#comment-13402043
]
Martin Grigorov commented on WICKET-4617:
-----------------------------------------
We split wicket.jar to -util, -request and -core to make it more modular.
Otherwise even simple util classes had access to Application/Session/... for no
good reason and it was hard to use them e.g. in tests. You need to run
WicketTester to test something simple.
If you want to move IResourceFinder in -core then you may have to put it in
o.a.w.core.util... and this will be yet another API change (package name
change) for no reason ...
> ResourceStreamLocator vs ResourceFinder
> ---------------------------------------
>
> Key: WICKET-4617
> URL: https://issues.apache.org/jira/browse/WICKET-4617
> Project: Wicket
> Issue Type: Bug
> Affects Versions: 6.0.0-beta2, 1.5.7
> Reporter: Carl-Eric Menzel
> Assignee: Carl-Eric Menzel
>
> I'm a bit confused by the responsibilities of ResourceFinder vs
> ResourceStreamLocator. Looking around in the code, I found the following:
> - IResourceFinder is apparently only implemented via its extension interface
> IResourcePath. Its two implementations Path and WebApplicationPath look
> through a list of filesystem folders for files.
> - ResourceStreamLocator does two things:
> - it loads resources, either via an IResourceFinder (which only finds
> filesystem resources) or via the classloader (it does this itself).
> - it uses a ResourceNameIterator to generate all possible filename
> variations based on locale and style and then tries to load one of them via
> the above mechanisms.
> Is this correct?
> If so, I think we have some mixed-up responsibilities here. I propose the
> following:
> - add a third IResourcePath implementation (e.g. ClassloaderPath) that
> handles loading of resources in classpaths. It should be able to try multiple
> paths (e.g. "/", "META-INF/resources" etc).
> - Instead of a single ResourceFinder, Application should have a list of them,
> by default containing WebApplicationPath (today's default) and the new
> ClassloaderPath.
> - ResourceStreamLocator should not do any loading on its own at all and just
> use the ResourceFinders defined in this new list in Application.
> This would also get rid of the hard-coded "META-INF/resources" lookup that
> currently is done in ResourceStreamLocator (I'll write a second ticket about
> that, it's causing us some problems).
> I think this could still be done within 6.0. Objections?
--
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