我有一个 EMF 模型和生成的编辑器。在模型/编辑器中,可以将元素“Unit”(U) 与“Specification”(S) 连接起来。现在,如果至少有一个 U 满足 S,我想为 S 提供一种专门的 CSS 样式。但是(据我所知)没有办法在 CSS 样式表中实现这一点(例如,使用选择器)纸莎草纸。
为此,我为 S 添加了一个额外的属性,称为“映射”(当至少有一个 U 满足 S 时应该为真,否则为假)。然后,当添加一个/多个连接时(在handleNotification - 方法中),我尝试在代码中设置“映射”属性:
notifier.setMapped(true);
除了:
IllegalstateException: Cannot modify resource set without a write transaction
第二种解决方案导致另一个异常,但具有相同的语义结果:
ed.getCommandStack().execute(SetCommand.create(ed, notifier,
xyzPackage.Literals.SPECIFICATION__MAPPED, true));
除了:
java.lang.IllegalStateException: Cannot activate read/write
transaction in read-only transaction context
有谁知道如何处理这些异常或有一个好的解决方法?主要目的是 CSS 文件识别“映射”属性的变化。
非常感谢 :)