use of com.evolveum.midpoint.xml.ns._public.common.common_3.LocalizableMessageArgumentType in project midpoint by Evolveum.
the class LocalizationUtil method createLocalizableMessageType.
@NotNull
private static SingleLocalizableMessageType createLocalizableMessageType(@NotNull SingleLocalizableMessage message, Function<LocalizableMessage, String> resolveKeys) {
SingleLocalizableMessageType rv = new SingleLocalizableMessageType();
rv.setKey(message.getKey());
if (message.getArgs() != null) {
for (Object argument : message.getArgs()) {
LocalizableMessageArgumentType messageArgument;
if (argument instanceof LocalizableMessage) {
messageArgument = new LocalizableMessageArgumentType().localizable(createLocalizableMessageType(((LocalizableMessage) argument), resolveKeys));
} else {
messageArgument = new LocalizableMessageArgumentType().value(argument != null ? argument.toString() : null);
}
rv.getArgument().add(messageArgument);
}
}
if (message.getFallbackLocalizableMessage() != null) {
rv.setFallbackLocalizableMessage(createLocalizableMessageType(message.getFallbackLocalizableMessage(), resolveKeys));
}
if (StringUtils.isBlank(message.getFallbackMessage()) && resolveKeys != null) {
rv.setFallbackMessage(resolveKeys.apply(message));
} else {
rv.setFallbackMessage(message.getFallbackMessage());
}
return rv;
}
Aggregations