[
http://jira.jboss.com/jira/browse/JBSEAM-421?page=all ]
Todd Smart updated JBSEAM-421:
------------------------------
Attachment: extras.zip
When considering this JIRA, you may find it useful to see it working with an example
external resource type ... in this case, a DB-driven resource bundle.
Here are some sample classes, a seam.properites file, and a DDL for a simple resource
table.
Of particular interest would be the DatabaseResourceBundle class
(
http://sadun-util.sourceforge.net/api/org/sadun/util/DatabaseResourceBund...) .
I've made some simple updates to make the class 'seam-enabled'.
Update to Seam i18n to support DatabaseResourceBundle
-----------------------------------------------------
Key: JBSEAM-421
URL:
http://jira.jboss.com/jira/browse/JBSEAM-421
Project: JBoss Seam
Issue Type: Feature Request
Components: Core
Affects Versions: 1.1
Reporter: Todd Smart
Fix For: 1.1
Attachments: extras.zip, ResourceBundle.java, ResourceBundle.java
The current Seam i18n ResourceBundle class only supports loading java.util.ResourceBundle
resource bundles. For ref, the loadBundle() method is:
{code}
private void loadBundle()
{
try
{
bundle = java.util.ResourceBundle.getBundle(
bundleName,
Locale.instance(),
Thread.currentThread().getContextClassLoader()
);
log.debug("loaded resource bundle: " + bundleName);
}
catch (MissingResourceException mre)
{
log.debug("resource bundle missing: " + bundleName);
}
}
{code}
I've updated the org.seam.core.ResourceBundle class to plug into the
org.sadun.util.DatabaseResourceBundle ... providing for a very flexible, db-driven i18n
system.
The only change required (for the prototype code!) to get this to work was an update to
the Seam ResourceBundle was:
{code}
private void loadBundle() {
try {
DatabaseResourceBundle databaseResourceBundle = new
DatabaseResourceBundle(jdbcUrl, bundleName, Locale.instance());
bundle = databaseResourceBundle;
log.debug("loaded resource bundle: " + bundleName);
} catch (MissingResourceException mre) {
log.debug("resource bundle missing: " + bundleName);
}
}
{code}
Beyond the prototype, of course, this will be cleaned up. I'm thinking others may
benefit from updating this Seam class to allow for supporting other types of resource
bundle repositories.
Feature Request:
------------------------
1) Add an attribute to ResourceBundle called: resourceType (thus allowing a class to be
called to load a bundle). This attribute would be configured in seam.properties.
2) Update the loadBundle() method such that if resourceType is not null, to get an
instance of ResourceType.instance() followed by a call to resourceType.loadBundle()
method
I don't mind contributing the code ... just testing the waters first.
Regards,
Todd Smart
todd.smart(a)smartbinary.com
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira