在Eclipse之外运行Ecore模型的EMF验证

6

我找不到关于如何在Eclipse之外验证Ecore模型的任何信息。有人知道如何做吗?

1个回答

4

这是我用来在Eclipse之外验证EMF模型的代码框架:

EValidator.Registry.INSTANCE.put(YourPackage.eINSTANCE, new YourValidator());

BasicDiagnostic diagnostics = new BasicDiagnostic();
boolean valid = true;
for (EObject eo : yourResource.getContents()) {
    Map<Object, Object> context = new HashMap<Object, Object>();
    valid &= Diagnostician.INSTANCE.validate(eo, diagnostics, context);
}

还有更多的定制化工作可以完成,但我希望这能帮助你入门。


谢谢你的回答。这验证了定义的约束条件。然而,文档中ID唯一的约束条件没有得到验证。你有任何线索吗? - Dr. Simon Harrer
我不知道EMF验证的所有细节,所以这只是一个猜测。也许你可以把那个约束检查放到你的验证器中。 - ChrisH

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接