/** * 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 final String getMessage(MessageSourceResolvable resolvable, Locale locale) throws NoSuchMessageException { String[] codes = resolvable.getCodes(); if (codes != null) { for (String code : codes) { String message = getMessageInternal(code, resolvable.getArguments(), locale); if (message != null) { return message; } } } String defaultMessage = getDefaultMessage(resolvable, locale); if (defaultMessage != null) { return defaultMessage; } throw new NoSuchMessageException(!ObjectUtils.isEmpty(codes) ? codes[codes.length - 1] : "", locale); }
@Override public String[] getCodes() { return delegate.getCodes(); }
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 Object[] getArguments() { return delegate.getArguments(); }
/** * @see org.springframework.context.MessageSource#getMessage(org.springframework.context.MessageSourceResolvable, * java.util.Locale) */ @Override public String getMessage(MessageSourceResolvable resolvable, Locale locale) { if((resolvable.getCodes()[0]).equals((activeMessageSource.getMessage(resolvable, locale)))){ return (resolvable.getCodes()[(resolvable.getCodes().length) - 1]); } else{ return activeMessageSource.getMessage(resolvable, locale); } }
@Override public final String getMessage(MessageSourceResolvable resolvable, Locale locale) throws NoSuchMessageException { String[] codes = resolvable.getCodes(); if (codes != null) { for (String code : codes) { String message = getMessageInternal(code, resolvable.getArguments(), locale); if (message != null) { return message; } } } String defaultMessage = getDefaultMessage(resolvable, locale); if (defaultMessage != null) { return defaultMessage; } throw new NoSuchMessageException(!ObjectUtils.isEmpty(codes) ? codes[codes.length - 1] : "", locale); }
@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 Object[] getArguments() { return delegate.getArguments(); }
/** * 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()); }
/** * MessageSourceServiceImpl.getMessage()should return last error code if no localization found * * @see MessageSourceServiceImpl#getMessage(MessageSourceResolvable resolvable, Locale locale) */ @Test public void getMessage_shouldReturnTheLastErrorCodeIfnoLocalizationIsFound() { MapBindingResult errors = new MapBindingResult(new HashMap<String, Object>(), "request"); errors.rejectValue("myField", "myErrorCode"); MessageSourceResolvable fieldError = errors.getFieldError("myField"); Assert.assertEquals(3, fieldError.getCodes().length); Assert.assertEquals("myErrorCode.request.myField", fieldError.getCodes()[0]); Assert.assertEquals("myErrorCode.myField", fieldError.getCodes()[1]); Assert.assertEquals("myErrorCode", fieldError.getCodes()[2]); Assert.assertEquals("myErrorCode", Context.getMessageSourceService().getMessage(fieldError, Context.getLocale())); } }
@Override public final String getMessage(MessageSourceResolvable resolvable, Locale locale) throws NoSuchMessageException { String[] codes = resolvable.getCodes(); if (codes != null) { for (String code : codes) { String message = getMessageInternal(code, resolvable.getArguments(), locale); if (message != null) { return message; } } } String defaultMessage = getDefaultMessage(resolvable, locale); if (defaultMessage != null) { return defaultMessage; } throw new NoSuchMessageException(!ObjectUtils.isEmpty(codes) ? codes[codes.length - 1] : "", locale); }
@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 getMessage(MessageSourceResolvable resolvable, Locale locale) throws NoSuchMessageException { return resolve(delegate.getMessage(resolvable, locale), resolvable.getArguments(), locale); }
@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); } }
@Override public String[] getCodes() { return delegate.getCodes(); }
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 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) { if (!ObjectUtils.isEmpty(resolvable.getCodes())) { if (shouldBeRevealed(resolvable.getCodes()[0])) { return revealCodes(super.getMessage(resolvable, locale), resolvable.getCodes()); } } return super.getMessage(resolvable, locale); }
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; }