[
https://issues.apache.org/jira/browse/WICKET-4162?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13154929#comment-13154929
]
Sven Meier commented on WICKET-4162:
------------------------------------
We have the following problem with the current solution:
All jars in a web application are loaded via the same classloader, thus
resulting in naming conflicts, if multiple jars want to provide
"wicket-jar.properties". Wicket's resource loading isn't aware of such a
situation and I don't think we should change this.
I've replaced the implementation for default resources instead in *trunk*:
Now IInitalizers can provide resources (see new
InitializerStringResourceLoader), working similar as applications specific
resources. Furthermore this solution supports resources for non-components too,
see UploadStatusResource.
If no one objects, I'll backport this fix to 1.5.x
> Add new StringResourceLoader to allow Wicket extensions to provide
> localization resource bundles
> ------------------------------------------------------------------------------------------------
>
> Key: WICKET-4162
> URL: https://issues.apache.org/jira/browse/WICKET-4162
> Project: Wicket
> Issue Type: New Feature
> Components: wicket
> Affects Versions: 1.5.1
> Reporter: Bertrand Guay-Paquet
> Assignee: Sven Meier
> Labels: extension, localization
> Fix For: 1.5.3
>
> Attachments: WICKET-4162.patch, jar_resource.patch
>
>
> Issue:
> It is currently not possible to provide default localization resource bundles
> for components in wicket extension modules (e.g. wicket-extensions). See
> issues WICKET-3911 and WICKET-4154 where this was a problem.
> Proposed changes:
> 1-Add a new IStringResourceLoader type (WicketExtensionStringResourceLoader?)
> which checks the root of the jar containing the component for properties in
> extension.properties.
> 2-Insert this new resource loader in the existing default resource loader
> chain:
> ResourceSettings() constructor:
> stringResourceLoaders.add(new ComponentStringResourceLoader());
> stringResourceLoaders.add(new PackageStringResourceLoader());
> stringResourceLoaders.add(new
> ClassStringResourceLoader(application.getClass()));
> // New loader inserted here
> stringResourceLoaders.add(new
> WicketExtensionStringResourceLoader());
> stringResourceLoaders.add(new ValidatorStringResourceLoader());
> 3-Start adding extension.properties files in wicket-extension and friends.
> Questions:
> Is a similar effort already underway?
> Are there any better ideas?
> Should the new loader be inserted at the end of the chain instead?
> Do you prefer other names for the loader or the properties file?
> I am prepared to provide a patch sometime next week if this is agreed on.
--
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