3

我有一个 EMF 模型,其中一些对象包含 ID,而另一些则不包含。id 属性配置如下:

在此处输入图像描述

我使用 java 诊断程序来检查是否违反了任何 OCL 约束:

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

在大多数情况下效果很好。但是一旦有重复的 Id,Validator 就会抛出 ClassCastException,他会尝试将两个对象之一转换为另一个对象的类型。我能做些什么来避免这种情况?检查重复 ID 的 OCL 约束是否会有所帮助?

4

0 回答 0