ODM: домен в элементе содержит недопустимую запись

Я получаю следующую ошибку при попытке синхронизировать динамический домен, полученный из базы данных:

Домен в элементе '[domain object]' содержит недопустимую запись: '[entry]'.

Кажется, что это происходит только для значений, которые начинаются с цифр или не буквенных символов. Вот мои доменные значения:

введите описание изображения здесь

И это ошибки:

введите описание изображения здесь

Обратите внимание, что только первые две записи домена приводят к ошибкам. Существуют ли ограничения на то, какие имена могут использоваться для динамических доменов?

1 ответ

Решение

Имена элементов домена подчиняются тем же правилам, что и имена переменных Java:

https://docs.oracle.com/javase/tutorial/java/nutsandbolts/variables.html

Вы можете начать с чего-то вроде этого:

public String normalize(String str) {
    String result = str;
    if (Pattern.matches("^\\d\\w*$", result)) {
        result = "_" + result;
    }
    return result.replaceAll("[^A-Za-z0-9]", "_");
}

... для удаления не буквенных / цифровых символов из имен элементов и добавления к ним подчеркивания в том случае, если они начинаются с цифры, как в вашем примере.

Другие вопросы по тегам