Java 类org.springframework.context.MessageSourceResolvable 实例源码
项目:lams
文件:AbstractMessageSource.java
@Override
public final String getMessage(MessageSourceResolvable resolvable, Locale locale)
throws NoSuchMessageException {
String[] codes = resolvable.getCodes();
if (codes == null) {
codes = new String[0];
}
for (String code : codes) {
String msg = getMessageInternal(code, resolvable.getArguments(), locale);
if (msg != null) {
return msg;
}
}
String defaultMessage = resolvable.getDefaultMessage();
if (defaultMessage != null) {
return renderDefaultMessage(defaultMessage, resolvable.getArguments(), locale);
}
if (codes.length > 0) {
String fallback = getDefaultMessage(codes[0]);
if (fallback != null) {
return fallback;
}
}
throw new NoSuchMessageException(codes.length > 0 ? codes[codes.length - 1] : null, locale);
}
项目:lams
文件:AbstractMessageSource.java
/**
* Searches through the given array of objects, finds any MessageSourceResolvable
* objects and resolves them.
* <p>Allows for messages to have MessageSourceResolvables as arguments.
* @param args array of arguments for a message
* @param locale the locale to resolve through
* @return an array of arguments with any MessageSourceResolvables resolved
*/
@Override
protected Object[] resolveArguments(Object[] args, Locale locale) {
if (args == null) {
return new Object[0];
}
List<Object> resolvedArgs = new ArrayList<Object>(args.length);
for (Object arg : args) {
if (arg instanceof MessageSourceResolvable) {
resolvedArgs.add(getMessage((MessageSourceResolvable) arg, locale));
}
else {
resolvedArgs.add(arg);
}
}
return resolvedArgs.toArray(new Object[resolvedArgs.size()]);
}
项目:spring4-understanding
文件:AbstractMessageSource.java
@Override
public final String getMessage(MessageSourceResolvable resolvable, Locale locale)
throws NoSuchMessageException {
String[] codes = resolvable.getCodes();
if (codes == null) {
codes = new String[0];
}
for (String code : codes) {
String msg = getMessageInternal(code, resolvable.getArguments(), locale);
if (msg != null) {
return msg;
}
}
String defaultMessage = resolvable.getDefaultMessage();
if (defaultMessage != null) {
return renderDefaultMessage(defaultMessage, resolvable.getArguments(), locale);
}
if (codes.length > 0) {
String fallback = getDefaultMessage(codes[0]);
if (fallback != null) {
return fallback;
}
}
throw new NoSuchMessageException(codes.length > 0 ? codes[codes.length - 1] : null, locale);
}
项目:spring4-understanding
文件:AbstractMessageSource.java
/**
* Searches through the given array of objects, finds any MessageSourceResolvable
* objects and resolves them.
* <p>Allows for messages to have MessageSourceResolvables as arguments.
* @param args array of arguments for a message
* @param locale the locale to resolve through
* @return an array of arguments with any MessageSourceResolvables resolved
*/
@Override
protected Object[] resolveArguments(Object[] args, Locale locale) {
if (args == null) {
return new Object[0];
}
List<Object> resolvedArgs = new ArrayList<Object>(args.length);
for (Object arg : args) {
if (arg instanceof MessageSourceResolvable) {
resolvedArgs.add(getMessage((MessageSourceResolvable) arg, locale));
}
else {
resolvedArgs.add(arg);
}
}
return resolvedArgs.toArray(new Object[resolvedArgs.size()]);
}
项目:spring4-understanding
文件:StaticMessageSourceTests.java
@Test
public void messageSourceResolvable() {
// first code valid
String[] codes1 = new String[] {"message.format.example3", "message.format.example2"};
MessageSourceResolvable resolvable1 = new DefaultMessageSourceResolvable(codes1, null, "default");
assertTrue("correct message retrieved", MSG_TXT3_US.equals(sac.getMessage(resolvable1, Locale.US)));
// only second code valid
String[] codes2 = new String[] {"message.format.example99", "message.format.example2"};
MessageSourceResolvable resolvable2 = new DefaultMessageSourceResolvable(codes2, null, "default");
assertTrue("correct message retrieved", MSG_TXT2_US.equals(sac.getMessage(resolvable2, Locale.US)));
// no code valid, but default given
String[] codes3 = new String[] {"message.format.example99", "message.format.example98"};
MessageSourceResolvable resolvable3 = new DefaultMessageSourceResolvable(codes3, null, "default");
assertTrue("correct message retrieved", "default".equals(sac.getMessage(resolvable3, Locale.US)));
// no code valid, no default
String[] codes4 = new String[] {"message.format.example99", "message.format.example98"};
MessageSourceResolvable resolvable4 = new DefaultMessageSourceResolvable(codes4);
exception.expect(NoSuchMessageException.class);
sac.getMessage(resolvable4, Locale.US);
}
项目:spring4-understanding
文件:MessageTagTests.java
@Test
@SuppressWarnings("rawtypes")
public void requestContext() throws ServletException {
PageContext pc = createPageContext();
RequestContext rc = new RequestContext((HttpServletRequest) pc.getRequest(), pc.getServletContext());
assertEquals("test message", rc.getMessage("test"));
assertEquals("test message", rc.getMessage("test", (Object[]) null));
assertEquals("test message", rc.getMessage("test", "default"));
assertEquals("test message", rc.getMessage("test", (Object[]) null, "default"));
assertEquals("test arg1 message arg2",
rc.getMessage("testArgs", new String[] {"arg1", "arg2"}, "default"));
assertEquals("test arg1 message arg2",
rc.getMessage("testArgs", Arrays.asList(new String[] {"arg1", "arg2"}), "default"));
assertEquals("default", rc.getMessage("testa", "default"));
assertEquals("default", rc.getMessage("testa", (List) null, "default"));
MessageSourceResolvable resolvable = new DefaultMessageSourceResolvable(new String[] {"test"});
assertEquals("test message", rc.getMessage(resolvable));
}
项目:spring4-understanding
文件:ThemeTagTests.java
@Test
@SuppressWarnings("rawtypes")
public void requestContext() throws ServletException {
PageContext pc = createPageContext();
RequestContext rc = new RequestContext((HttpServletRequest) pc.getRequest());
assertEquals("theme test message", rc.getThemeMessage("themetest"));
assertEquals("theme test message", rc.getThemeMessage("themetest", (String[]) null));
assertEquals("theme test message", rc.getThemeMessage("themetest", "default"));
assertEquals("theme test message", rc.getThemeMessage("themetest", (Object[]) null, "default"));
assertEquals("theme test message arg1",
rc.getThemeMessage("themetestArgs", new String[] {"arg1"}));
assertEquals("theme test message arg1",
rc.getThemeMessage("themetestArgs", Arrays.asList(new String[] {"arg1"})));
assertEquals("default", rc.getThemeMessage("themetesta", "default"));
assertEquals("default", rc.getThemeMessage("themetesta", (List) null, "default"));
MessageSourceResolvable resolvable = new DefaultMessageSourceResolvable(new String[] {"themetest"});
assertEquals("theme test message", rc.getThemeMessage(resolvable));
}
项目:my-spring-cache-redis
文件:AbstractMessageSource.java
@Override
public final String getMessage(MessageSourceResolvable resolvable, Locale locale)
throws NoSuchMessageException {
String[] codes = resolvable.getCodes();
if (codes == null) {
codes = new String[0];
}
for (String code : codes) {
String msg = getMessageInternal(code, resolvable.getArguments(), locale);
if (msg != null) {
return msg;
}
}
String defaultMessage = resolvable.getDefaultMessage();
if (defaultMessage != null) {
return renderDefaultMessage(defaultMessage, resolvable.getArguments(), locale);
}
if (codes.length > 0) {
String fallback = getDefaultMessage(codes[0]);
if (fallback != null) {
return fallback;
}
}
throw new NoSuchMessageException(codes.length > 0 ? codes[codes.length - 1] : null, locale);
}
项目:my-spring-cache-redis
文件:AbstractMessageSource.java
/**
* Searches through the given array of objects, finds any MessageSourceResolvable
* objects and resolves them.
* <p>Allows for messages to have MessageSourceResolvables as arguments.
* @param args array of arguments for a message
* @param locale the locale to resolve through
* @return an array of arguments with any MessageSourceResolvables resolved
*/
@Override
protected Object[] resolveArguments(Object[] args, Locale locale) {
if (args == null) {
return new Object[0];
}
List<Object> resolvedArgs = new ArrayList<Object>(args.length);
for (Object arg : args) {
if (arg instanceof MessageSourceResolvable) {
resolvedArgs.add(getMessage((MessageSourceResolvable) arg, locale));
}
else {
resolvedArgs.add(arg);
}
}
return resolvedArgs.toArray(new Object[resolvedArgs.size()]);
}
项目:spring
文件:AbstractMessageSource.java
@Override
public final String getMessage(MessageSourceResolvable resolvable, Locale locale)
throws NoSuchMessageException {
String[] codes = resolvable.getCodes();
if (codes == null) {
codes = new String[0];
}
for (String code : codes) {
String msg = getMessageInternal(code, resolvable.getArguments(), locale);
if (msg != null) {
return msg;
}
}
String defaultMessage = resolvable.getDefaultMessage();
if (defaultMessage != null) {
return renderDefaultMessage(defaultMessage, resolvable.getArguments(), locale);
}
if (codes.length > 0) {
String fallback = getDefaultMessage(codes[0]);
if (fallback != null) {
return fallback;
}
}
throw new NoSuchMessageException(codes.length > 0 ? codes[codes.length - 1] : null, locale);
}
项目:spring
文件:AbstractMessageSource.java
/**
* Searches through the given array of objects, finds any MessageSourceResolvable
* objects and resolves them.
* <p>Allows for messages to have MessageSourceResolvables as arguments.
* @param args array of arguments for a message
* @param locale the locale to resolve through
* @return an array of arguments with any MessageSourceResolvables resolved
*/
@Override
protected Object[] resolveArguments(Object[] args, Locale locale) {
if (args == null) {
return new Object[0];
}
List<Object> resolvedArgs = new ArrayList<Object>(args.length);
for (Object arg : args) {
if (arg instanceof MessageSourceResolvable) {
resolvedArgs.add(getMessage((MessageSourceResolvable) arg, locale));
}
else {
resolvedArgs.add(arg);
}
}
return resolvedArgs.toArray(new Object[resolvedArgs.size()]);
}
项目:sample-boot-hibernate
文件:RestErrorAdvice.java
protected Warns convert(List<ObjectError> errors) {
Warns warns = Warns.init();
errors.forEach((oe) -> {
String field = "";
if (1 == oe.getCodes().length) {
field = bindField(oe.getCodes()[0]);
} else if (1 < oe.getCodes().length) {
// low: プリフィックスは冗長なので外してます
field = bindField(oe.getCodes()[1]);
}
List<String> args = Arrays.stream(oe.getArguments())
.filter((arg) -> !(arg instanceof MessageSourceResolvable))
.map(Object::toString)
.collect(Collectors.toList());
String message = oe.getDefaultMessage();
if (0 <= oe.getCodes()[0].indexOf("typeMismatch")) {
message = oe.getCodes()[2];
}
warns.add(field, message, args.toArray(new String[0]));
});
return warns;
}
项目:ipplan-api
文件:SwaggerConfig.java
@Bean
public Docket api(){
return new Docket(DocumentationType.SWAGGER_2)
.useDefaultResponseMessages(false)
.forCodeGeneration(false)
.alternateTypeRules(
getAlternateTypeRule(Collection.class, WildcardType.class, List.class,
WildcardType.class),
getAlternateTypeRule(Stream.class, WildcardType.class, List.class,
WildcardType.class),
getAlternateTypeRule(DeferredResult.class, List.class, WildcardType.class,
List.class, WildcardType.class))
.ignoredParameterTypes(PagedResourcesAssembler.class, Pageable.class)
.directModelSubstitute(MessageSourceResolvable.class, String.class)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.regex("/api/.*"))
.build()
.apiInfo(apiInfo());
}
项目:svarog
文件:AbstractViewerTree.java
@Override
public String convertValueToText(Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) {
{
if (value instanceof I18nMessage) {
return ((I18nMessage) value).i18n();
}
if (value instanceof MessageSourceResolvable) {
return ((MessageSourceResolvable) value).getDefaultMessage();
}
String s = value.toString();
if (s != null && s.length() > 0) {
return s;
}
}
return super.convertValueToText(value, selected, expanded, leaf, row, hasFocus);
}
项目:svarog
文件:AtomFilterChainTableModel.java
@Override
public Class<?> getColumnClass(int columnIndex) {
switch (columnIndex) {
case INDEX_COLUMN :
return Integer.class;
case NAME_COLUMN :
return String.class;
case TYPE_COLUMN :
return MessageSourceResolvable.class;
case BLOCKING_COLUMN :
return Boolean.class;
case ENABLED_COLUMN :
return Boolean.class;
default :
throw new SanityCheckException("Unsupported index [" + columnIndex + "]");
}
}
项目:springapp
文件:DeindexMessageSource.java
private MessageSourceResolvable parse2(String code, Object[] args, String defaultMessage) {
List<MessageSourceResolvable> params = new ArrayList<>();
Matcher m = pattern.matcher(code);
boolean result = m.find();
if (!result) {
return new DefaultMessageSourceResolvable(new String[] { code }, getArgs(params, args), defaultMessage);
}
StringBuffer sb = new StringBuffer();
do {
String s = m.group(1);
params.add(create(sb.toString(), s));
m.appendReplacement(sb, "[]");
result = m.find();
} while (result);
m.appendTail(sb);
return new DefaultMessageSourceResolvable(new String[] { code, sb.toString() }, getArgs(params, args),
defaultMessage);
}
项目:class-guard
文件:AbstractMessageSource.java
/**
* Searches through the given array of objects, finds any MessageSourceResolvable
* objects and resolves them.
* <p>Allows for messages to have MessageSourceResolvables as arguments.
* @param args array of arguments for a message
* @param locale the locale to resolve through
* @return an array of arguments with any MessageSourceResolvables resolved
*/
@Override
protected Object[] resolveArguments(Object[] args, Locale locale) {
if (args == null) {
return new Object[0];
}
List<Object> resolvedArgs = new ArrayList<Object>(args.length);
for (Object arg : args) {
if (arg instanceof MessageSourceResolvable) {
resolvedArgs.add(getMessage((MessageSourceResolvable) arg, locale));
}
else {
resolvedArgs.add(arg);
}
}
return resolvedArgs.toArray(new Object[resolvedArgs.size()]);
}
项目:class-guard
文件:MessageTagTests.java
public void testRequestContext() throws ServletException {
PageContext pc = createPageContext();
RequestContext rc = new RequestContext((HttpServletRequest) pc.getRequest(), pc.getServletContext());
assertEquals("test message", rc.getMessage("test"));
assertEquals("test message", rc.getMessage("test", (Object[]) null));
assertEquals("test message", rc.getMessage("test", "default"));
assertEquals("test message", rc.getMessage("test", (Object[]) null, "default"));
assertEquals("test arg1 message arg2",
rc.getMessage("testArgs", new String[] {"arg1", "arg2"}, "default"));
assertEquals("test arg1 message arg2",
rc.getMessage("testArgs", Arrays.asList(new String[] {"arg1", "arg2"}), "default"));
assertEquals("default", rc.getMessage("testa", "default"));
assertEquals("default", rc.getMessage("testa", (List) null, "default"));
MessageSourceResolvable resolvable = new DefaultMessageSourceResolvable(new String[] {"test"});
assertEquals("test message", rc.getMessage(resolvable));
}
项目:class-guard
文件:ThemeTagTests.java
public void testRequestContext() throws ServletException {
PageContext pc = createPageContext();
RequestContext rc = new RequestContext((HttpServletRequest) pc.getRequest());
assertEquals("theme test message", rc.getThemeMessage("themetest"));
assertEquals("theme test message", rc.getThemeMessage("themetest", (String[]) null));
assertEquals("theme test message", rc.getThemeMessage("themetest", "default"));
assertEquals("theme test message", rc.getThemeMessage("themetest", (Object[]) null, "default"));
assertEquals("theme test message arg1",
rc.getThemeMessage("themetestArgs", new String[] {"arg1"}));
assertEquals("theme test message arg1",
rc.getThemeMessage("themetestArgs", Arrays.asList(new String[] {"arg1"})));
assertEquals("default", rc.getThemeMessage("themetesta", "default"));
assertEquals("default", rc.getThemeMessage("themetesta", (List) null, "default"));
MessageSourceResolvable resolvable = new DefaultMessageSourceResolvable(new String[] {"themetest"});
assertEquals("theme test message", rc.getThemeMessage(resolvable));
}
项目:lams
文件:DefaultMessageSourceResolvable.java
@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());
}
项目:lams
文件:DelegatingMessageSource.java
@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] : null);
throw new NoSuchMessageException(code, locale);
}
}
项目:onboarding-service
文件:InputErrorsConverter.java
/**
* For some reason Spring puts MessageSourceResolvable as argument so need to remove it
*/
private List<String> getArguments(ObjectError error) {
if (error.getArguments() == null) {
return emptyList();
}
return Arrays.stream(error.getArguments())
.filter(arg -> !(arg instanceof MessageSourceResolvable))
.map(Object::toString)
.collect(toList());
}
项目:spring4-understanding
文件:DefaultMessageSourceResolvable.java
@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());
}
项目:spring4-understanding
文件:DelegatingMessageSource.java
@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] : null);
throw new NoSuchMessageException(code, locale);
}
}
项目:spring4-understanding
文件:StaticMessageSourceTests.java
@Test
public void nestedMessageSourceWithParamInChild() {
StaticMessageSource source = new StaticMessageSource();
StaticMessageSource parent = new StaticMessageSource();
source.setParentMessageSource(parent);
source.addMessage("param", Locale.ENGLISH, "value");
parent.addMessage("with.param", Locale.ENGLISH, "put {0} here");
MessageSourceResolvable resolvable = new DefaultMessageSourceResolvable(
new String[] {"with.param"}, new Object[] {new DefaultMessageSourceResolvable("param")});
assertEquals("put value here", source.getMessage(resolvable, Locale.ENGLISH));
}
项目:spring4-understanding
文件:StaticMessageSourceTests.java
@Test
public void nestedMessageSourceWithParamInParent() {
StaticMessageSource source = new StaticMessageSource();
StaticMessageSource parent = new StaticMessageSource();
source.setParentMessageSource(parent);
parent.addMessage("param", Locale.ENGLISH, "value");
source.addMessage("with.param", Locale.ENGLISH, "put {0} here");
MessageSourceResolvable resolvable = new DefaultMessageSourceResolvable(
new String[] {"with.param"}, new Object[] {new DefaultMessageSourceResolvable("param")});
assertEquals("put value here", source.getMessage(resolvable, Locale.ENGLISH));
}
项目:my-spring-cache-redis
文件:DefaultMessageSourceResolvable.java
@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());
}
项目:my-spring-cache-redis
文件:DelegatingMessageSource.java
@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] : null);
throw new NoSuchMessageException(code, locale);
}
}
项目:java-samples
文件:FailSafeMessageSource.java
@Override
public String getMessage(final MessageSourceResolvable resolvable, final Locale locale)
throws NoSuchMessageException {
try {
return source.getMessage(resolvable, locale);
} catch (NoSuchMessageException e) {
return getUnknownMessages(resolvable.getCodes());
}
}
项目:spring
文件:DefaultMessageSourceResolvable.java
@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()));
}
项目:spring
文件:DelegatingMessageSource.java
@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] : null);
throw new NoSuchMessageException(code, locale);
}
}
项目:communote-server
文件:ResourceBundleManagerMessageSource.java
/**
* {@inheritDoc}
*/
public String getMessage(MessageSourceResolvable resolvable, Locale locale)
throws NoSuchMessageException {
for (String code : resolvable.getCodes()) {
String message = getMessage(code, resolvable.getArguments(), locale);
if (message != null && message.length() > 0) {
return message;
}
}
return resolvable.getDefaultMessage();
}
项目:spring-struts-forwardport
文件:SpringBindingActionForm.java
private Object[] resolveArguments(Object[] arguments) {
if (arguments == null || arguments.length == 0) {
return arguments;
}
for (int i = 0; i < arguments.length; i++) {
Object arg = arguments[i];
if (arg instanceof MessageSourceResolvable) {
MessageSourceResolvable resolvable = (MessageSourceResolvable)arg;
String[] codes = resolvable.getCodes();
boolean resolved = false;
if (this.messageResources != null) {
for (int j = 0; j < codes.length; j++) {
String code = codes[j];
if (this.messageResources.isPresent(this.locale, code)) {
arguments[i] = this.messageResources.getMessage(
this.locale, code, resolveArguments(resolvable.getArguments()));
resolved = true;
break;
}
}
}
if (!resolved) {
arguments[i] = resolvable.getDefaultMessage();
}
}
}
return arguments;
}
项目:springapp
文件:ResponseHelperImpl.java
@Override
public <T> Response<T> createResponse(StatusCode statusCode, List<? extends MessageSourceResolvable> messages) {
Response<T> response = new Response<>();
response.setStatusCode(statusCode.code());
response.setDescription(getMessageList(messages));
return response;
}
项目:spring-component-framework
文件:CombinedMessageSource.java
@Override
public String getMessage(MessageSourceResolvable resolvable, Locale locale) throws NoSuchMessageException {
String message = null;
for (ResourceBundleMessageSource source : sources) {
try {
message = source.getMessage(resolvable, locale);
break;
} catch (NoSuchMessageException e) {
//continue
}
}
if( message == null )
return super.getMessage(resolvable, locale);
return message;
}
项目:grails-icu
文件:ICUAbstractMessageSource.java
@Override
public final String getMessage(MessageSourceResolvable resolvable, Locale locale)
throws NoSuchMessageException {
String[] codes = resolvable.getCodes();
if (codes == null) {
codes = new String[0];
}
ICUMessageArguments args = new ICUListMessageArguments(resolvable.getArguments());
for (String code : codes) {
String msg = getMessageInternal(code, args, locale);
if (msg != null) {
return msg;
}
}
String defaultMessage = resolvable.getDefaultMessage();
if (defaultMessage != null) {
return renderDefaultMessage(defaultMessage, args, locale);
}
if (codes.length > 0) {
String fallback = getDefaultMessage(codes[0]);
if (fallback != null) {
return fallback;
}
}
throw new NoSuchMessageException(codes.length > 0 ? codes[codes.length - 1] : null, locale);
}
项目:grails-icu
文件:ICUAbstractMessageSource.java
/**
* Searches through the given arguments, finds any MessageSourceResolvable
* objects and resolves them.
* <p>Allows for messages to have MessageSourceResolvables as arguments.
* @param args arguments for a message
* @param locale the locale to resolve through
*/
@Override
protected ICUMessageArguments resolveArguments(ICUMessageArguments args, final Locale locale) {
return args.transform(new ICUMessageArguments.Transformation() {
@Override
public Object transform(Object item) {
if (item instanceof MessageSourceResolvable)
return getMessage((MessageSourceResolvable) item, locale);
return item;
}
});
}
项目:sqlapp
文件:MessageSourceUtil.java
public static List<String> getMessageList(List<MessageSourceResolvable> messages) {
Locale locale = LocaleContextHolder.getLocale();
List<String> list = new ArrayList<>(messages.size());
for (MessageSourceResolvable resolvable : messages) {
list.add(messageSource.getMessage(resolvable, locale));
}
return list;
}
项目:sqlapp
文件:LogicalErrorUtilTest.java
@Test
public void testResolveFromCode() {
MessageSourceResolvable resolvable = LogicalErrorUtil.resolve(new Code<String>() {
@Override
public String code() {
return "property";
}
});
assertNotNull(resolvable.getCodes());
assertEquals(1, resolvable.getCodes().length);
assertEquals("property", resolvable.getCodes()[0]);
assertNotNull(resolvable.getArguments());
assertEquals(0, resolvable.getArguments().length);
assertNull(resolvable.getDefaultMessage());
}
项目:sqlapp
文件:LogicalErrorUtilTest.java
@Test
public void testResolveFromString() {
MessageSourceResolvable resolvable = LogicalErrorUtil.resolve("property");
assertNotNull(resolvable.getCodes());
assertEquals(1, resolvable.getCodes().length);
assertEquals("property", resolvable.getCodes()[0]);
assertNotNull(resolvable.getArguments());
assertEquals(0, resolvable.getArguments().length);
assertNull(resolvable.getDefaultMessage());
}