[richfaces-svn-commits] JBoss Rich Faces SVN: r2495 - trunk/framework/api/src/main/java/org/ajax4jsf.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Sun Aug 26 08:34:00 EDT 2007


Author: nbelaevski
Date: 2007-08-26 08:33:59 -0400 (Sun, 26 Aug 2007)
New Revision: 2495

Modified:
   trunk/framework/api/src/main/java/org/ajax4jsf/Messages.java
Log:
http://jira.jboss.com/jira/browse/RF-601 
Messages ContextCL -> ResourceBundle map added

Modified: trunk/framework/api/src/main/java/org/ajax4jsf/Messages.java
===================================================================
--- trunk/framework/api/src/main/java/org/ajax4jsf/Messages.java	2007-08-25 10:31:25 UTC (rev 2494)
+++ trunk/framework/api/src/main/java/org/ajax4jsf/Messages.java	2007-08-26 12:33:59 UTC (rev 2495)
@@ -22,32 +22,46 @@
 package org.ajax4jsf;
 
 import java.text.MessageFormat;
+import java.util.HashMap;
 import java.util.Locale;
+import java.util.Map;
 import java.util.ResourceBundle;
 
 public class Messages {
 	private static final String BUNDLE_NAME = "org.ajax4jsf.messages";
-	static ResourceBundle bundle = ResourceBundle.getBundle(BUNDLE_NAME, Locale.getDefault(), Thread.currentThread().getContextClassLoader());
 	
+	private static Map bundles = new HashMap();
+	
+	private static synchronized ResourceBundle getBundle() {
+		ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
+		ResourceBundle bundle = (ResourceBundle) bundles.get(contextClassLoader);
+		if (bundle == null) {
+			bundle = ResourceBundle.getBundle(BUNDLE_NAME, Locale.getDefault(), contextClassLoader);
+			bundles.put(contextClassLoader, bundle);
+		}
+
+		return bundle;
+	}
+	
 	public static final String getMessage(String name) {
-		String value = bundle.getString(name);
-		return value == null ? "%" + name + "%" : bundle.getString(name);
+		String value = getBundle().getString(name);
+		return value == null ? "%" + name + "%" : value;
 	}
 	
 	public static final String getMessage(String name, Object param) {
-		String pattern = bundle.getString(name);
+		String pattern = getBundle().getString(name);
 		if(pattern == null) return "%" + name + "%";
 		return MessageFormat.format(pattern, new Object[]{param});
 	}
 	
 	public static final String getMessage(String name, Object param1, Object param2) {
-		String pattern = bundle.getString(name);
+		String pattern = getBundle().getString(name);
 		if(pattern == null) return "%" + name + "%";
 		return MessageFormat.format(pattern, new Object[]{param1, param2});
 	}
 	
 	public static final String getMessage(String name, Object[] params) {
-		String pattern = bundle.getString(name);
+		String pattern = getBundle().getString(name);
 		if(pattern == null) return "%" + name + "%";
 		return MessageFormat.format(pattern, params);
 	}




More information about the richfaces-svn-commits mailing list