Search in sources :

Example 1 with LocalizableMessageArgumentType

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;
}
Also used : LocalizableMessageArgumentType(com.evolveum.midpoint.xml.ns._public.common.common_3.LocalizableMessageArgumentType) SingleLocalizableMessageType(com.evolveum.midpoint.xml.ns._public.common.common_3.SingleLocalizableMessageType) NotNull(org.jetbrains.annotations.NotNull)

Aggregations

LocalizableMessageArgumentType (com.evolveum.midpoint.xml.ns._public.common.common_3.LocalizableMessageArgumentType)1 SingleLocalizableMessageType (com.evolveum.midpoint.xml.ns._public.common.common_3.SingleLocalizableMessageType)1 NotNull (org.jetbrains.annotations.NotNull)1