Add support for ResourceBundle base names
-----------------------------------------
Key: SLING-363
URL: https://issues.apache.org/jira/browse/SLING-363
Project: Sling
Issue Type: New Feature
Components: Core
Reporter: Felix Meschberger
Assignee: Felix Meschberger
Fix For: 2.0.0
>From http://markmail.org/message/6ikv4wfabqtnmajk:
1) Base Names
The concept for ResourceBundle base names is derived from the
ResourceBundle.getBundle(String baseName) factory method, which returns a
ResourceBundle for the given base name. While the ResourceBundle.getBundle
factory method looks for ResourceBundle implementations (e.g.
ListResourceBundle class or a properties file for the PropertyResourceBundle
class), the Sling implementation of a new
ResourceBundle ResourceBundleProvider.getResourceBundle(String
baseName, Locale locale)
method uses an extended query to find the matching resources.
The basic query is to find the resources below nodes which have a node type of
mix:language and a property jcr:language whose value is the string
representation of the Locale. The extended query would also consider a new
property sling:basename: A lanugage node is considered if the jcr:language
property matches the Locale and the sling:basename property matches the
baseName.
The sling:basename property is defined in a new mixin node type
[sling:Language] > mix:language
mixin
- sling:basename (string)
- sling:basename (string) multiple
That is the sling:basename may be a single-valued or multi-valued property.
Thus a language node may apply to multiple basenames.
The base name generally is an application identifier.
In addition the SlingHttpServletRequest interface should be extended with:
ResourceBundle getResourceBundle(String baseName, Locale locale)
which allows requests to easily get "base-named" resource bundles.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.