Java, EMF + OCL Диагностик не может обработать дублирующийся идентификатор

У меня есть модель EMF, где некоторые объекты содержат идентификаторы, а другие нет. Атрибут id настроен так:

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

Я использую java Diagnostician, чтобы проверить, нарушены ли какие-либо ограничения OCL:

protected Diagnostic validateModel(EObject modelRoot) {
    return Diagnostician.INSTANCE.validate(modelRoot);
}

Который работает просто отлично в большинстве случаев. Но как только появляются дубликаты идентификаторов, Validator создает исключение ClassCastException, где он пытается привести один из двух объектов к типу другого. Что я могу сделать, чтобы избежать этого? Поможет ли каким-то образом ограничение OCL, которое проверяет дубликаты идентификаторов?

0 ответов

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