[richfaces-svn-commits] JBoss Rich Faces SVN: r4945 - trunk/ui/calendar/src/main/java/org/richfaces/renderkit.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Fri Dec 21 04:50:26 EST 2007


Author: akushunin
Date: 2007-12-21 04:50:26 -0500 (Fri, 21 Dec 2007)
New Revision: 4945

Modified:
   trunk/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java
Log:
RF-1461

Modified: trunk/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java
===================================================================
--- trunk/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java	2007-12-21 01:25:13 UTC (rev 4944)
+++ trunk/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java	2007-12-21 09:50:26 UTC (rev 4945)
@@ -73,6 +73,8 @@
 
 	protected static final String MARKUP_SUFFIX = "Markup";
 
+	public static final String CALENDAR_BUNDLE = "org.richfaces.renderkit.calendar";
+
 	private final static Log log = LogFactory
 			.getLog(CalendarRendererBase.class);
 
@@ -168,7 +170,7 @@
 		String styleClass = (String) calendar.getAttributes().get("styleClass");
 		if (styleClass != null && styleClass.length() != 0) {
 			ResponseWriter writer = context.getResponseWriter();
-			writer.writeText(",\n className: '" + styleClass+"'", null);
+			writer.writeText(",\n className: '" + styleClass + "'", null);
 		}
 	}
 
@@ -515,72 +517,71 @@
 		return result;
 	}
 
+	public void writeStringFromBundle(ResourceBundle bundle1, ResourceBundle bundle2, String name,
+			ResponseWriter writer) throws IOException {
+		
+		String label = null;
+		try {
+			if(null != bundle1){
+				label = bundle1.getString(name.toUpperCase() + "_LABEL");
+			}
+			
+		} catch (MissingResourceException e) {
+			// Current key wasn't found in application bundle, use CALENDAR_BUNDLE
+			try {
+				
+				if(null != bundle2){
+					label = bundle2.getString(name.toUpperCase() + "_LABEL");
+				}
+			} catch (MissingResourceException exc) {
+				// Current key wasn't found, use default
+				if (!("close").equals(name.toLowerCase())) {
+					writer.writeText(name.toLowerCase() + ":'" + name + "', ", null);
+				} else {
+					writer.writeText("close:'x' ", null);
+				}
+				return;
+			}			
+		}	
+		
+			if (!("close").equals(name.toLowerCase())) {
+				writer.writeText(name.toLowerCase() + ":'" + label + "', ",null);
+			} else {
+				writer.writeText("close:'"+label+"'", null);					
+			}
+	}
+
 	public void writeLabels(FacesContext context, UICalendar calendar)
 			throws IOException {
 
+		ResourceBundle bundle1 = null;
+		ResourceBundle bundle2 = null;
+		ClassLoader loader = Thread.currentThread().getContextClassLoader();
 		String messageBundle = context.getApplication().getMessageBundle();
+		if (null != messageBundle) {
+			bundle1 = ResourceBundle.getBundle(messageBundle, calendar.getLocale(), loader);
+		} 
+		try {
+			bundle2 = ResourceBundle.getBundle(CALENDAR_BUNDLE, calendar.getLocale(), loader);
+
+		} catch (MissingResourceException e) {
+				//No external bundle was found, ignore this exception.				
+		}
 		
-		ResourceBundle bundle = null;
-		
-		if (null != messageBundle)
-		{
-			bundle = ResourceBundle.getBundle(messageBundle);
-		}
-
-		ResponseWriter writer = context.getResponseWriter();
+		ResponseWriter writer = context.getResponseWriter();		
 		writer.writeText(",\n labels:{", null);
-	
-		if (null != bundle && messageBundle.contains("calendar")) {
-			
-			try {
-				String applyLabel = bundle.getString("applyLabel");
-				writer.writeText("apply:'"+applyLabel + "', ", null);
-			} catch (MissingResourceException e) {
-				// Current key wasn't found in bundle, use default
-				writer.writeText("apply:'Apply', ", null);
-			}
-			
-			try {
-				String todayLabel = bundle.getString("todayLabel");
-				writer.writeText("today:'"+todayLabel + "', ", null);
-			} catch (MissingResourceException e) {
-				// Current key wasn't found in bundle, use default
-				writer.writeText("today:'Today', ", null);
-			}
-			
-			try {
-				String cleanLabel = bundle.getString("cleanLabel");
-				writer.writeText("clean:'"+cleanLabel + "', ", null);
-			} catch (MissingResourceException e) {
-				// Current key wasn't found in bundle, use default
-				writer.writeText("clean:'Clean', ", null);
-			}
-			try {
-				String okLabel = bundle.getString("okLabel");
-				writer.writeText("ok:'"+okLabel + "', ", null);
-			} catch (MissingResourceException e) {
-				// Current key wasn't found in bundle, use default
-				writer.writeText("ok:'OK', ", null);
-			}
-			try {
-				String cancelLabel = bundle.getString("cancelLabel");
-				writer.writeText("cancel:'"+cancelLabel + "', ", null);
-			} catch (MissingResourceException e) {
-				// Current key wasn't found in bundle, use default
-				writer.writeText("cancel:'Cancel', ", null);
-			}
-			
-			try {
-				String closeLabel = bundle.getString("closeLabel");
-				writer.writeText("close:'"+closeLabel+"'", null);
-			} catch (MissingResourceException e) {
-				// Current key wasn't found in bundle, use default
-				writer.writeText("close:'x'", null);
-			}			
-			
+		if (null != bundle1 || null != bundle2) {
+			writeStringFromBundle(bundle1, bundle2, "Apply", writer);
+			writeStringFromBundle(bundle1, bundle2, "Today", writer);
+			writeStringFromBundle(bundle1, bundle2, "Clean", writer);
+			writeStringFromBundle(bundle1, bundle2, "Cancel", writer);
+			writeStringFromBundle(bundle1, bundle2, "OK", writer);
+			writeStringFromBundle(bundle1, bundle2, "Close", writer);
 		}else{
-			writer.writeText("apply:'Apply', today:'Today', clean:'Clean', ok:'OK', cancel:'Cancel', close:'X'", null);
+			// No bundles were found, use default labels.
+			writer.writeText("apply:'Apply', today:'Today', clean:'Clean', ok:'OK', cancel:'Cancel', close:'x'", null);			
 		}
 		writer.writeText("}", null);
+
 	}
 }




More information about the richfaces-svn-commits mailing list