@Override public String getMessage(MessageSourceResolvable resolvable, Locale locale) throws NoSuchMessageException { if (this.parentMessageSource != null) { return this.parentMessageSource.getMessage(resolvable, locale); } else { if (resolvable.getDefaultMessage() != null) { return renderDefaultMessage(resolvable.getDefaultMessage(), resolvable.getArguments(), locale); } String[] codes = resolvable.getCodes(); String code = (codes != null && codes.length > 0 ? codes[0] : ""); throw new NoSuchMessageException(code, locale); } }
/** * Copy constructor: Create a new instance from another resolvable. * @param resolvable the resolvable to copy from */ public DefaultMessageSourceResolvable(MessageSourceResolvable resolvable) { this(resolvable.getCodes(), resolvable.getArguments(), resolvable.getDefaultMessage()); }
@Override public boolean equals(Object other) { if (this == other) { return true; } if (!(other instanceof MessageSourceResolvable)) { return false; } MessageSourceResolvable otherResolvable = (MessageSourceResolvable) other; return (ObjectUtils.nullSafeEquals(getCodes(), otherResolvable.getCodes()) && ObjectUtils.nullSafeEquals(getArguments(), otherResolvable.getArguments()) && ObjectUtils.nullSafeEquals(getDefaultMessage(), otherResolvable.getDefaultMessage())); }
@Override public String getMessage(MessageSourceResolvable resolvable, Locale locale) throws NoSuchMessageException { if (this.parentMessageSource != null) { return this.parentMessageSource.getMessage(resolvable, locale); } else { if (resolvable.getDefaultMessage() != null) { return renderDefaultMessage(resolvable.getDefaultMessage(), resolvable.getArguments(), locale); } String[] codes = resolvable.getCodes(); String code = (codes != null && codes.length > 0 ? codes[0] : ""); throw new NoSuchMessageException(code, locale); } }
/** * Copy constructor: Create a new instance from another resolvable. * @param resolvable the resolvable to copy from */ public DefaultMessageSourceResolvable(MessageSourceResolvable resolvable) { this(resolvable.getCodes(), resolvable.getArguments(), resolvable.getDefaultMessage()); }
/** * Get a default message for the given {@code MessageSourceResolvable}. * <p>This implementation fully renders the default message if available, * or just returns the plain default message {@code String} if the primary * message code is being used as a default message. * @param resolvable the value object to resolve a default message for * @param locale the current locale * @return the default message, or {@code null} if none * @since 4.3.6 * @see #renderDefaultMessage(String, Object[], Locale) * @see #getDefaultMessage(String) */ @Nullable protected String getDefaultMessage(MessageSourceResolvable resolvable, Locale locale) { String defaultMessage = resolvable.getDefaultMessage(); String[] codes = resolvable.getCodes(); if (defaultMessage != null) { if (!ObjectUtils.isEmpty(codes) && defaultMessage.equals(codes[0])) { // Never format a code-as-default-message, even with alwaysUseMessageFormat=true return defaultMessage; } return renderDefaultMessage(defaultMessage, resolvable.getArguments(), locale); } return (!ObjectUtils.isEmpty(codes) ? getDefaultMessage(codes[0]) : null); }
@Override public boolean equals(Object other) { if (this == other) { return true; } if (!(other instanceof MessageSourceResolvable)) { return false; } MessageSourceResolvable otherResolvable = (MessageSourceResolvable) other; return (ObjectUtils.nullSafeEquals(getCodes(), otherResolvable.getCodes()) && ObjectUtils.nullSafeEquals(getArguments(), otherResolvable.getArguments()) && ObjectUtils.nullSafeEquals(getDefaultMessage(), otherResolvable.getDefaultMessage())); }
/** * Get a default message for the given {@code MessageSourceResolvable}. * <p>This implementation fully renders the default message if available, * or just returns the plain default message {@code String} if the primary * message code is being used as a default message. * @param resolvable the value object to resolve a default message for * @param locale the current locale * @return the default message, or {@code null} if none * @since 4.3.6 * @see #renderDefaultMessage(String, Object[], Locale) * @see #getDefaultMessage(String) */ @Nullable protected String getDefaultMessage(MessageSourceResolvable resolvable, Locale locale) { String defaultMessage = resolvable.getDefaultMessage(); String[] codes = resolvable.getCodes(); if (defaultMessage != null) { if (!ObjectUtils.isEmpty(codes) && defaultMessage.equals(codes[0])) { // Never format a code-as-default-message, even with alwaysUseMessageFormat=true return defaultMessage; } return renderDefaultMessage(defaultMessage, resolvable.getArguments(), locale); } return (!ObjectUtils.isEmpty(codes) ? getDefaultMessage(codes[0]) : null); }
private static Gson gsonBuilder(final GoRequestContext requestContext) { GsonBuilder builder = new GsonBuilder(); builder.registerTypeAdapter(JsonUrl.class, (JsonSerializer<JsonUrl>) (src, typeOfSrc, context) -> { if (requestContext == null) { return new JsonPrimitive(src.getUrl()); } else { return new JsonPrimitive(requestContext.getFullRequestPath() + src.getUrl()); } }); builder.registerTypeHierarchyAdapter(MessageSourceResolvable.class, (JsonSerializer<MessageSourceResolvable>) (src, typeOfSrc, context) -> { if (requestContext == null) { return new JsonPrimitive(src.getDefaultMessage()); } else { return new JsonPrimitive(requestContext.getMessage(src)); } }); builder.serializeNulls(); return builder.create(); } }
@Override public String getDefaultMessage() { String defaultMessage = delegate.getDefaultMessage(); if (defaultMessage != null) { return defaultMessage; } String[] split = getCodes()[0].split("\\."); String tail = split[split.length - 1]; tail = "_title".equals(tail) ? split[split.length - 2] : tail; return StringUtils.capitalize(StringUtils .collectionToDelimitedString(Arrays.asList(SPLIT_CAMEL_CASE.split(tail)), " ").toLowerCase(Locale.US)); } }
@Override public String getDefaultMessage() { String defaultMessage = delegate.getDefaultMessage(); if (defaultMessage != null) { return defaultMessage; } String[] split = getCodes()[0].split("\\."); String tail = split[split.length - 1]; tail = "_title".equals(tail) ? split[split.length - 2] : tail; return StringUtils.capitalize(StringUtils .collectionToDelimitedString(Arrays.asList(SPLIT_CAMEL_CASE.split(tail)), " ").toLowerCase(Locale.US)); } }
/** * Copy constructor: Create a new instance from another resolvable. * @param resolvable the resolvable to copy from */ public DefaultMessageSourceResolvable(MessageSourceResolvable resolvable) { this(resolvable.getCodes(), resolvable.getArguments(), resolvable.getDefaultMessage()); }
public MessageSourceResolvable getEstimatedPercentCompleteMessage() { String defaultMessage = String .format( "This execution is estimated to be %.0f%% complete after %.0f ms based on %s", percentageComplete * 100, duration, percentCompleteBasis.getMessage().getDefaultMessage()); DefaultMessageSourceResolvable message = new DefaultMessageSourceResolvable( new String[] { "step.execution.estimated.progress" }, new Object[] { percentageComplete, duration, percentCompleteBasis.getMessage() }, defaultMessage); return message; }
public MessageSourceResolvable getEstimatedPercentCompleteMessage() { String defaultMessage = String .format( "This execution is estimated to be %.0f%% complete after %.0f ms based on %s", percentageComplete * 100, duration, percentCompleteBasis.getMessage().getDefaultMessage()); DefaultMessageSourceResolvable message = new DefaultMessageSourceResolvable( new String[] { "step.execution.estimated.progress" }, new Object[] { percentageComplete, duration, percentCompleteBasis.getMessage() }, defaultMessage); return message; }
public MessageSourceResolvable getEstimatedPercentCompleteMessage() { String defaultMessage = String.format( "This execution is estimated to be %.0f%% complete after %.0f ms based on %s", percentageComplete * 100, duration, percentCompleteBasis.getMessage().getDefaultMessage()); DefaultMessageSourceResolvable message = new DefaultMessageSourceResolvable( new String[] { "step.execution.estimated.progress" }, new Object[] { percentageComplete, duration, percentCompleteBasis.getMessage() }, defaultMessage); return message; }
public MessageSourceResolvable getEstimatedPercentCompleteMessage() { String defaultMessage = String .format( "This execution is estimated to be %.0f%% complete after %.0f ms based on %s", percentageComplete * 100, duration, percentCompleteBasis.getMessage().getDefaultMessage()); DefaultMessageSourceResolvable message = new DefaultMessageSourceResolvable( new String[] { "step.execution.estimated.progress" }, new Object[] { percentageComplete, duration, percentCompleteBasis.getMessage() }, defaultMessage); return message; }
public MessageSourceResolvable getEstimatedPercentCompleteMessage() { String defaultMessage = String .format( "This execution is estimated to be %.0f%% complete after %.0f ms based on %s", percentageComplete * 100, duration, percentCompleteBasis.getMessage().getDefaultMessage()); DefaultMessageSourceResolvable message = new DefaultMessageSourceResolvable( new String[] { "step.execution.estimated.progress" }, new Object[] { percentageComplete, duration, percentCompleteBasis.getMessage() }, defaultMessage); return message; }
public MessageSourceResolvable getEstimatedPercentCompleteMessage() { String defaultMessage = String.format( "This execution is estimated to be %.0f%% complete after %.0f ms based on %s", percentageComplete * 100, duration, percentCompleteBasis.getMessage().getDefaultMessage()); DefaultMessageSourceResolvable message = new DefaultMessageSourceResolvable( new String[] { "step.execution.estimated.progress" }, new Object[] { percentageComplete, duration, percentCompleteBasis.getMessage() }, defaultMessage); return message; }
@Override public String getMessage(MessageSourceResolvable resolvable, Locale locale) throws NoSuchMessageException { Translations translations = Translations.getTranslations(locale); for (String key : resolvable.getCodes()) { String t = translations.translateAllowNull(key); if (t != null) return MessageFormat.format(t, resolvable.getArguments()); } return resolvable.getDefaultMessage(); } }
/** * {@inheritDoc} */ public String getMessage(MessageSourceResolvable resolvable, Locale locale) { return getMessage(resolvable.getCodes()[0], resolvable.getArguments(), resolvable.getDefaultMessage(), locale); }