in tobago-core/src/main/java/org/apache/myfaces/tobago/util/MessageUtils.java [71:130]
public static FacesMessage getMessage(
final FacesContext facesContext, final Locale locale,
final FacesMessage.Severity severity, final String messageId, final Object... args) {
final ResourceBundle appBundle = getApplicationBundle(facesContext, locale);
String summary = getBundleString(appBundle, messageId);
String detail = getBundleString(appBundle, messageId + DETAIL_SUFFIX);
if (summary == null || detail == null) {
final ResourceBundle tobagoMessages
= ResourceBundle.getBundle("org.apache.myfaces.tobago.context.TobagoMessageBundle", locale);
if (summary == null) {
summary = getBundleString(tobagoMessages, messageId);
}
if (detail == null) {
detail = getBundleString(tobagoMessages, messageId + DETAIL_SUFFIX);
}
if (summary == null || detail == null) {
final ResourceBundle tobagoBundle
= ResourceBundle.getBundle("org.apache.myfaces.tobago.context.TobagoResourceBundle", locale);
if (summary == null) {
summary = getBundleString(tobagoBundle, messageId);
}
if (detail == null) {
detail = getBundleString(tobagoBundle, messageId + DETAIL_SUFFIX);
}
if (summary == null || detail == null) {
final ResourceBundle defBundle = getDefaultBundle(facesContext, locale);
if (summary == null) {
summary = getBundleString(defBundle, messageId);
}
if (detail == null) {
detail = getBundleString(defBundle, messageId + DETAIL_SUFFIX);
}
}
}
}
if (summary == null && detail == null) {
//Neither detail nor summary found
facesContext.getExternalContext().log("No message with id " + messageId + " found in any bundle");
return new FacesMessage(severity, messageId, null);
}
if (args != null && args.length > 0) {
MessageFormat format;
if (summary != null) {
format = new MessageFormat(summary, locale);
summary = format.format(args);
}
if (detail != null) {
format = new MessageFormat(detail, locale);
detail = format.format(args);
}
}
return new LabelValueExpressionFacesMessage(severity, summary, detail);
}