[jboss-cvs] jboss-seam/src/main/org/jboss/seam/core ...
Gavin King
gavin.king at jboss.com
Mon Oct 30 23:38:37 EST 2006
User: gavin
Date: 06/10/30 23:38:37
Modified: src/main/org/jboss/seam/core FacesMessages.java
Pages.java ResourceBundle.java
Log:
fix page bundle stuff
use resource bundle messages in fwk
Revision Changes Path
1.20 +1 -1 jboss-seam/src/main/org/jboss/seam/core/FacesMessages.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: FacesMessages.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/core/FacesMessages.java,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -b -r1.19 -r1.20
--- FacesMessages.java 13 Sep 2006 17:25:10 -0000 1.19
+++ FacesMessages.java 31 Oct 2006 04:38:37 -0000 1.20
@@ -213,7 +213,7 @@
{
String messageTemplate = defaultMessageTemplate;
java.util.ResourceBundle resourceBundle = ResourceBundle.instance();
- if (resourceBundle!=null)
+ if ( resourceBundle!=null && key!=null )
{
try
{
1.39 +9 -1 jboss-seam/src/main/org/jboss/seam/core/Pages.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: Pages.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/core/Pages.java,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -b -r1.38 -r1.39
--- Pages.java 31 Oct 2006 02:21:19 -0000 1.38
+++ Pages.java 31 Oct 2006 04:38:37 -0000 1.39
@@ -60,6 +60,11 @@
Page(String viewId)
{
this.viewId = viewId;
+ int loc = viewId.lastIndexOf('.');
+ if ( loc>0 && viewId.startsWith("/") )
+ {
+ this.resourceBundleName = viewId.substring(1, loc);
+ }
}
final String viewId;
@@ -202,7 +207,10 @@
}
String bundle = page.attributeValue("bundle");
- entry.resourceBundleName = bundle==null ? viewId.substring(1, viewId.indexOf('.')) : bundle;
+ if (bundle!=null)
+ {
+ entry.resourceBundleName = bundle;
+ }
List<Element> children = page.elements("param");
for (Element param: children)
1.17 +68 -56 jboss-seam/src/main/org/jboss/seam/core/ResourceBundle.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: ResourceBundle.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/core/ResourceBundle.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -b -r1.16 -r1.17
--- ResourceBundle.java 31 Oct 2006 02:21:19 -0000 1.16
+++ ResourceBundle.java 31 Oct 2006 04:38:37 -0000 1.17
@@ -81,18 +81,16 @@
private void createUberBundle()
{
+ final List<java.util.ResourceBundle> littleBundles = new ArrayList<java.util.ResourceBundle>();
if (bundleNames!=null)
{
-
- final List<java.util.ResourceBundle> littleBundles = new ArrayList<java.util.ResourceBundle>(bundleNames.length);
for (String bundleName: bundleNames)
{
java.util.ResourceBundle littleBundle = loadBundle(bundleName);
if (littleBundle!=null) littleBundles.add(littleBundle);
}
+ }
- if ( !littleBundles.isEmpty() )
- {
bundle = new java.util.ResourceBundle()
{
@@ -105,8 +103,19 @@
@Override
public Enumeration<String> getKeys()
{
- Enumeration<String>[] enumerations = new Enumeration[ littleBundles.size() ];
- for (int i=0; i<littleBundles.size(); i++)
+ int size = littleBundles.size();
+ java.util.ResourceBundle pageBundle = getPageResourceBundle();
+ if (pageBundle!=null)
+ {
+ ++size;
+ }
+ Enumeration<String>[] enumerations = new Enumeration[ littleBundles.size() + 1 ];
+ int i=0;
+ if (pageBundle!=null)
+ {
+ enumerations[i++] = pageBundle.getKeys();
+ }
+ for (; i<littleBundles.size(); i++)
{
enumerations[i] = littleBundles.get(i).getKeys();
}
@@ -116,16 +125,7 @@
@Override
protected Object handleGetObject(String key)
{
- FacesContext facesContext = FacesContext.getCurrentInstance();
- if (facesContext!=null)
- {
- UIViewRoot viewRoot = facesContext.getViewRoot();
- if (viewRoot!=null)
- {
- String viewId = viewRoot.getViewId();
- if (viewId!=null)
- {
- java.util.ResourceBundle pageBundle = Pages.instance().getResourceBundle(viewId);
+ java.util.ResourceBundle pageBundle = getPageResourceBundle();
if (pageBundle!=null)
{
try
@@ -133,10 +133,6 @@
return pageBundle.getObject(key);
}
catch (MissingResourceException mre) {}
-
- }
- }
- }
}
for (java.util.ResourceBundle littleBundle: littleBundles)
@@ -154,10 +150,26 @@
throw new MissingResourceException("Can't find resource in bundles: " + key, getClass().getName(), key );
}
- };
+ private java.util.ResourceBundle getPageResourceBundle()
+ {
+ FacesContext facesContext = FacesContext.getCurrentInstance();
+ if (facesContext!=null)
+ {
+ UIViewRoot viewRoot = facesContext.getViewRoot();
+ if (viewRoot!=null)
+ {
+ String viewId = viewRoot.getViewId();
+ if (viewId!=null)
+ {
+ return Pages.instance().getResourceBundle(viewId);
+ }
}
-
}
+ return null;
+ }
+
+ };
+
}
@Unwrap
More information about the jboss-cvs-commits
mailing list