[richfaces-svn-commits] JBoss Rich Faces SVN: r5618 - in trunk: ui/orderingList/src/main/java/org/richfaces/component and 1 other directory.
richfaces-svn-commits at lists.jboss.org
richfaces-svn-commits at lists.jboss.org
Thu Jan 24 20:36:38 EST 2008
Author: nbelaevski
Date: 2008-01-24 20:36:38 -0500 (Thu, 24 Jan 2008)
New Revision: 5618
Removed:
trunk/ui/orderingList/src/main/java/org/richfaces/component/MessageFactory.java
Modified:
trunk/framework/impl/src/main/java/org/richfaces/component/util/MessageUtil.java
trunk/ui/orderingList/src/main/java/org/richfaces/component/UIOrderingBaseComponent.java
Log:
http://jira.jboss.com/jira/browse/RF-2018
Modified: trunk/framework/impl/src/main/java/org/richfaces/component/util/MessageUtil.java
===================================================================
--- trunk/framework/impl/src/main/java/org/richfaces/component/util/MessageUtil.java 2008-01-25 01:23:45 UTC (rev 5617)
+++ trunk/framework/impl/src/main/java/org/richfaces/component/util/MessageUtil.java 2008-01-25 01:36:38 UTC (rev 5618)
@@ -21,8 +21,15 @@
package org.richfaces.component.util;
+import java.text.MessageFormat;
+import java.util.Locale;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
import javax.faces.application.Application;
+import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
+import javax.faces.component.UIViewRoot;
import javax.faces.context.FacesContext;
import javax.faces.el.ValueBinding;
@@ -65,4 +72,87 @@
return o;
}
+
+ private static final ResourceBundle getResourceBundle(String baseName, Locale locale, ClassLoader loader) {
+ if (loader != null) {
+ return ResourceBundle.getBundle(baseName, locale, loader);
+ } else {
+ return ResourceBundle.getBundle(baseName, locale);
+ }
+ }
+
+ private static final FacesMessage getMessage(FacesContext context, String messageId,
+ Object[] parameters, Locale locale) {
+ String summary = null;
+ String detail = null;
+
+ ClassLoader loader = Thread.currentThread().getContextClassLoader();
+
+ if (context != null) {
+ Application application = context.getApplication();
+ if (application != null) {
+ String messageBundleName = application.getMessageBundle();
+
+ if (messageBundleName != null) {
+ ResourceBundle bundle = getResourceBundle(messageBundleName, locale, loader);
+ if (bundle != null) {
+ try {
+ summary = bundle.getString(messageId);
+ detail = bundle.getString(messageId + "_detail");
+ } catch (MissingResourceException e) {
+ //do nothing
+ }
+ }
+ }
+ }
+ }
+
+ if (summary == null) {
+ ResourceBundle bundle = getResourceBundle(FacesMessage.FACES_MESSAGES, locale, loader);
+ try {
+ summary = bundle.getString(messageId);
+
+ if (summary == null) {
+ return null;
+ }
+
+ detail = bundle.getString(messageId + "_detail");
+ } catch (MissingResourceException e) {
+ //do nothing
+ }
+ }
+
+ String formattedSummary = MessageFormat.format(summary, parameters);
+ String formattedDetail = null;
+ if (detail != null) {
+ formattedDetail = MessageFormat.format(detail, parameters);
+ }
+
+ return new FacesMessage(formattedSummary, formattedDetail);
+ }
+
+ public static final FacesMessage getMessage(FacesContext context, String messageId,
+ Object[] parameters) {
+
+ Locale locale;
+ FacesMessage result = null;
+
+ if (context != null) {
+ UIViewRoot viewRoot = context.getViewRoot();
+ if (viewRoot != null) {
+ locale = viewRoot.getLocale();
+
+ if (locale != null) {
+ result = getMessage(context, messageId, parameters, locale);
+ }
+ }
+ }
+
+ if (result == null) {
+ locale = Locale.getDefault();
+ result = getMessage(context, messageId, parameters, locale);
+ }
+
+ return result;
+ }
}
Deleted: trunk/ui/orderingList/src/main/java/org/richfaces/component/MessageFactory.java
===================================================================
--- trunk/ui/orderingList/src/main/java/org/richfaces/component/MessageFactory.java 2008-01-25 01:23:45 UTC (rev 5617)
+++ trunk/ui/orderingList/src/main/java/org/richfaces/component/MessageFactory.java 2008-01-25 01:36:38 UTC (rev 5618)
@@ -1,22 +0,0 @@
-/**
- *
- */
-package org.richfaces.component;
-
-import javax.faces.application.FacesMessage;
-import javax.faces.context.FacesContext;
-
-/**
- * @author Nick Belaevski
- * mailto:nbelaevski at exadel.com
- * created 05.11.2007
- * @since 3.2
- */
-public class MessageFactory {
-
- public static FacesMessage getMessage(FacesContext context,
- String conversionMessageId) {
- // TODO Auto-generated method stub
- return null;
- }
-}
Modified: trunk/ui/orderingList/src/main/java/org/richfaces/component/UIOrderingBaseComponent.java
===================================================================
--- trunk/ui/orderingList/src/main/java/org/richfaces/component/UIOrderingBaseComponent.java 2008-01-25 01:23:45 UTC (rev 5617)
+++ trunk/ui/orderingList/src/main/java/org/richfaces/component/UIOrderingBaseComponent.java 2008-01-25 01:36:38 UTC (rev 5618)
@@ -37,6 +37,7 @@
import org.apache.commons.collections.Predicate;
import org.apache.commons.collections.iterators.EmptyIterator;
import org.apache.commons.collections.iterators.FilterIterator;
+import org.richfaces.component.util.MessageUtil;
/**
* @author Nick Belaevski
@@ -320,9 +321,11 @@
protected void validateValue(FacesContext context, Object newValue) {
// If our value is valid, enforce the required property if present
if (isValid() && isRequired() && isEmpty(newValue)) {
- FacesMessage message =
- MessageFactory.getMessage(context, UIInput.REQUIRED_MESSAGE_ID);
+ FacesMessage message = MessageUtil.getMessage(context,
+ UIInput.REQUIRED_MESSAGE_ID,
+ new Object[] {MessageUtil.getLabel(context, this)});
message.setSeverity(FacesMessage.SEVERITY_ERROR);
+
context.addMessage(getClientId(context), message);
setValid(false);
}
@@ -431,7 +434,8 @@
FacesMessage message = null;
if (null == messageStr) {
message =
- MessageFactory.getMessage(context, UIInput.CONVERSION_MESSAGE_ID);
+ MessageUtil.getMessage(context, UIInput.CONVERSION_MESSAGE_ID,
+ new Object[] {MessageUtil.getLabel(context, this)});
}
else {
message = new FacesMessage(messageStr);
@@ -441,20 +445,23 @@
setValid(false);
}
catch (FacesException e) {
- FacesMessage message =
- MessageFactory.getMessage(context, UIInput.CONVERSION_MESSAGE_ID);
+ FacesMessage message =
+ MessageUtil.getMessage(context, UIInput.CONVERSION_MESSAGE_ID,
+ new Object[] {MessageUtil.getLabel(context, this)});
message.setSeverity(FacesMessage.SEVERITY_ERROR);
context.addMessage(getClientId(context), message);
setValid(false);
} catch (IllegalArgumentException e) {
- FacesMessage message =
- MessageFactory.getMessage(context, UIInput.CONVERSION_MESSAGE_ID);
+ FacesMessage message =
+ MessageUtil.getMessage(context, UIInput.CONVERSION_MESSAGE_ID,
+ new Object[] {MessageUtil.getLabel(context, this)});
message.setSeverity(FacesMessage.SEVERITY_ERROR);
context.addMessage(getClientId(context), message);
setValid(false);
} catch (Exception e) {
FacesMessage message =
- MessageFactory.getMessage(context, UIInput.CONVERSION_MESSAGE_ID);
+ MessageUtil.getMessage(context, UIInput.CONVERSION_MESSAGE_ID,
+ new Object[] {MessageUtil.getLabel(context, this)});
message.setSeverity(FacesMessage.SEVERITY_ERROR);
context.addMessage(getClientId(context), message);
setValid(false);
@@ -488,8 +495,8 @@
ConverterException ce, Object value) {
FacesMessage message = ce.getFacesMessage();
if (message == null) {
- message = MessageFactory.getMessage(context,
- UIInput.CONVERSION_MESSAGE_ID);
+ message = MessageUtil.getMessage(context, UIInput.CONVERSION_MESSAGE_ID,
+ new Object[] {MessageUtil.getLabel(context, this)});
if (message.getDetail() == null) {
message.setDetail(ce.getMessage());
}
More information about the richfaces-svn-commits
mailing list