Example usage for org.springframework.context MessageSource getMessage

List of usage examples for org.springframework.context MessageSource getMessage

Introduction

In this page you can find the example usage for org.springframework.context MessageSource getMessage.

Prototype

String getMessage(MessageSourceResolvable resolvable, Locale locale) throws NoSuchMessageException;

Source Link

Document

Try to resolve the message using all the attributes contained within the MessageSourceResolvable argument that was passed in.

Usage

From source file:com.github.pjungermann.config.ConfigError.java

/**
 * Renders the {@link #getMessage() message} using the
 * {@link MessageSource} and {@link Locale}.
 *
 * @param messageSource    {@link MessageSource} to render it.
 * @param locale           {@link Locale} needed to render it.
 * @return the message.//from  www  . j a va2s  .  c  om
 */
@NotNull
default String toMessage(@NotNull final MessageSource messageSource, @NotNull final Locale locale) {
    return messageSource.getMessage(getMessage(), locale);
}

From source file:org.obiba.onyx.wicket.test.ExtendedApplicationContextMock.java

/**
 * If a message source bean exists in the context (with name "messageSource"), returns the message resolved with that
 * bean.//from   www  .  ja v  a2  s.  c  om
 * 
 * Otherwise, the message configured with <code>setMessage</code> is returned.
 * 
 * @param resolvable message source resolvable
 * @param locale message locale
 * @return message previously set by <code>setMessage</code>
 */
public String getMessage(MessageSourceResolvable resolvable, Locale locale) {
    if (containsBean(MESSAGE_SOURCE_BEAN_NAME)) {
        MessageSource messageSource = (MessageSource) this.getBean("messageSource");
        return messageSource.getMessage(resolvable, locale);
    } else {
        return message;
    }
}

From source file:org.opentides.util.CrudUtil.java

/**
 * Builds success message by convention. Success messages are displayed as
 * notifications only./*from w  w  w .ja v a2 s  .  c o  m*/
 * 
 * Standard convention in order of resolving message is: (1)
 * message.<className>.
 * <code>-success (e.g. message.system-codes.add-success)
 *     (2) message.add-success (generic message)
 * 
 * @param elementClass
 * @param object
 * @param code
 * @param locale
 * @return
 */
public static List<MessageResponse> buildSuccessMessage(BaseEntity object, String code, Locale locale,
        MessageSource messageSource) {
    List<MessageResponse> messages = new ArrayList<MessageResponse>();
    Assert.notNull(object);
    String prefix = "message." + NamingUtil.toElementName(object.getClass().getSimpleName());
    String codes = prefix + "." + code + "-success,message." + code + "-success";
    MessageResponse message = new MessageResponse(MessageResponse.Type.notification, codes.split("\\,"), null);
    message.setMessage(messageSource.getMessage(message, locale));
    messages.add(message);
    return messages;
}

From source file:org.opentides.util.CrudUtil.java

/**
 * Converts the binding error messages to list of MessageResponse
 * //from  ww  w .  ja v  a2  s .com
 * @param bindingResult
 */
public static List<MessageResponse> convertErrorMessage(BindingResult bindingResult, Locale locale,
        MessageSource messageSource) {
    List<MessageResponse> errorMessages = new ArrayList<MessageResponse>();
    if (bindingResult.hasErrors()) {
        for (ObjectError error : bindingResult.getAllErrors()) {
            MessageResponse message = null;
            if (error instanceof FieldError) {
                FieldError ferror = (FieldError) error;
                message = new MessageResponse(MessageResponse.Type.error, error.getObjectName(),
                        ferror.getField(), error.getCodes(), error.getArguments());
            } else
                message = new MessageResponse(MessageResponse.Type.error, error.getObjectName(), null,
                        error.getCodes(), error.getArguments());
            message.setMessage(messageSource.getMessage(message, locale));
            errorMessages.add(message);
        }
    }
    return errorMessages;
}

From source file:com.seajas.search.utilities.tags.MessageTag.java

/**
 * Resolve the specified message into a concrete message String. The returned message String should be unescaped.
 * /*from  ww  w  .j a  v a2 s.c  o  m*/
 * @throws JspException
 * @throws NoSuchMessageException
 */
protected String resolveMessage() throws JspException, NoSuchMessageException {
    MessageSource messageSource = getMessageSource();
    if (messageSource == null) {
        throw new JspTagException("No corresponding MessageSource found");
    }

    // Evaluate the specified MessageSourceResolvable, if any.
    MessageSourceResolvable resolvedMessage = null;
    if (this.message instanceof MessageSourceResolvable) {
        resolvedMessage = (MessageSourceResolvable) this.message;
    } else if (this.message != null) {
        String expr = this.message.toString();
        resolvedMessage = (MessageSourceResolvable) ExpressionEvaluationUtils.evaluate("message", expr,
                MessageSourceResolvable.class, pageContext);
    }

    if (resolvedMessage != null) {
        // We have a given MessageSourceResolvable.
        return messageSource.getMessage(resolvedMessage, getRequestContext().getLocale());
    }

    String resolvedCode = ExpressionEvaluationUtils.evaluateString("code", this.code, pageContext);
    String resolvedText = ExpressionEvaluationUtils.evaluateString("text", this.text, pageContext);

    if (resolvedCode != null || resolvedText != null) {
        // We have a code or default text that we need to resolve.
        Object[] argumentsArray = arguments.toArray(new Object[arguments.size()]);
        if (resolvedText != null) {
            // We have a fallback text to consider.
            return messageSource.getMessage(resolvedCode, argumentsArray, resolvedText,
                    getRequestContext().getLocale());
        } else {
            // We have no fallback text to consider.
            return messageSource.getMessage(resolvedCode, argumentsArray, getRequestContext().getLocale());
        }
    }

    // All we have is a specified literal text.
    return resolvedText;
}

From source file:com.ei.itop.common.tag.MessageTag.java

/**
 * Resolve the specified message into a concrete message String.
 * The returned message String should be unescaped.
 *//*from   w  w w.  j a  v a 2 s . co m*/
protected String resolveMessage() throws JspException, NoSuchMessageException {
    MessageSource messageSource = getMessageSource();
    if (messageSource == null) {
        throw new JspTagException("No corresponding MessageSource found");
    }

    // Evaluate the specified MessageSourceResolvable, if any.
    MessageSourceResolvable resolvedMessage = null;
    if (this.message instanceof MessageSourceResolvable) {
        resolvedMessage = (MessageSourceResolvable) this.message;
    } else if (this.message != null) {
        String expr = this.message.toString();
        resolvedMessage = (MessageSourceResolvable) ExpressionEvaluationUtils.evaluate("message", expr,
                MessageSourceResolvable.class, pageContext);
    }

    if (resolvedMessage != null) {
        // We have a given MessageSourceResolvable.
        return messageSource.getMessage(resolvedMessage, getRequestContext().getLocale());
    }

    String resolvedCode = ExpressionEvaluationUtils.evaluateString("code", this.code, pageContext);
    String resolvedText = ExpressionEvaluationUtils.evaluateString("text", this.text, pageContext);

    if (resolvedCode != null || resolvedText != null) {
        // We have a code or default text that we need to resolve.
        Object[] argumentsArray = resolveArguments(this.arguments);
        if (resolvedText != null) {
            return messageSource.getMessage(resolvedCode, argumentsArray, resolvedText, getLocale());
        } else {
            return messageSource.getMessage(resolvedCode, argumentsArray, getLocale());
        }
    }
    // All we have is a specified literal text.
    return resolvedText;
}

From source file:org.openmrs.web.taglib.OpenmrsMessageTag.java

/**
 * Resolve the specified message or code or text or tag body into a concrete message string. The returned message string should
 * be unescaped.// w  w w.j a  v  a 2 s  .  c om
 */
protected String resolveMessage() throws JspException {
    MessageSource messageSource = getMessageSource();
    if (messageSource == null) {
        throw new JspTagException("No corresponding MessageSource to resolve message with found");
    }

    // first, evaluate the specified MessageSourceResolvable, if any
    MessageSourceResolvable resolvedMessage = null;
    if (this.message instanceof MessageSourceResolvable) {
        resolvedMessage = (MessageSourceResolvable) this.message;
    } else if (this.message != null) {
        String expr = this.message.toString();
        throw new JspException("Attribute value \"" + expr + "\" is neither a JSP EL expression nor "
                + "assignable to result class [" + MessageSourceResolvable.class.getName() + "]");
    }

    if (resolvedMessage != null) {
        // we have a given MessageSourceResolvable.
        return messageSource.getMessage(resolvedMessage, getRequestContext().getLocale());
    }

    String resolvedCode = this.code;
    String bodyText = null;
    String resolvedText = null;
    // if locale specified with tag attribute is the same as context locale
    if (OpenmrsUtil.nullSafeEquals(this.locale, Context.getLocale().getLanguage())) {
        // we need to evaluate fallback values in this case
        resolvedText = this.text;
        if (getBodyContent() != null) {
            bodyText = getBodyContent().getString();
        }
    }
    // by default message code is used as fallback
    String message = resolvedCode;
    if (resolvedCode != null || resolvedText != null || bodyText != null) {
        // we have either a code or default text or body that we need to resolve.
        Object[] argumentsArray = resolveArguments(this.arguments);
        if (bodyText != null) {
            // we have a fallback body text to consider.
            message = messageSource.getMessage(resolvedCode, argumentsArray, bodyText,
                    getRequestContext().getLocale());
        } else if (resolvedText != null) {
            // we have a fallback value of text attribute to consider.
            message = messageSource.getMessage(resolvedCode, argumentsArray, resolvedText,
                    getRequestContext().getLocale());
        } else {
            // we have no fallback text to consider.
            try {
                message = messageSource.getMessage(resolvedCode, argumentsArray,
                        getRequestContext().getLocale());
            } catch (NoSuchMessageException e) {
                // do nothing, use resolved code as fallback
            }
        }
    }

    // all we have is a specified literal text.
    return message;
}

From source file:jp.co.ctc_g.jfw.core.resource.Rs.java

/**
 * ?????????/* w w w.  j  a  v  a  2 s.  c  o  m*/
 * ??????????????
 * @param context {@link MessageSourceResolvable}
 * @param locale 
 * @return ??
 */
public static String find(MessageSourceResolvable context, Locale locale) {
    try {
        MessageSource source = MessageSourceLocator.get();
        Locale currentLocale = locale;
        if (currentLocale == null) {
            Locale userLocale = LocaleContextHolder.getLocale();
            currentLocale = userLocale != null ? userLocale : Locale.getDefault();
        }
        return source.getMessage(context, currentLocale);
    } catch (NoSuchMessageException e) {
        return context.getDefaultMessage();
    }
}

From source file:org.codehaus.groovy.grails.support.MockApplicationContext.java

public String getMessage(MessageSourceResolvable resolvable, Locale locale) throws NoSuchMessageException {
    MessageSource messageSource = (MessageSource) getBean("messageSource");
    if (messageSource == null) {
        throw new BeanCreationException("No bean [messageSource] found in MockApplicationContext");
    }/*from   w  w  w  . j av  a 2s .  c  om*/
    return messageSource.getMessage(resolvable, locale);
}