Eclipse Sirius и XText — Упорядочить запрос Автоматическое обновление диаграммы — Ошибка Null

#eclipse #xtext #eclipse-sirius #sirius

Вопрос:

Было интересно, есть ли у кого-нибудь исправление этой очень досадной ошибки. Я настроил автоматическое обновление диаграммы при сохранении текстового файла. Каждый раз, когда вы сохраняете, появляется эта ошибка. Это не влияет на возможность построения диаграммы, просто раздражает, когда каждый раз возникает ошибка.

Версия XText: 2.18.0 Версия Sirius: 6.2.1/фотон (пробовал разные версии обоих )

Возникает проблема: любые сохранения в текстовом редакторе преобразуются в автоматическое обновление диаграммы или в ручное упорядочение всех запросов.

Добавление и сохранение семантического элемента из текстового редактора, когда открыт соответствующий редактор диаграмм Sirius, приводит к NPE, когда Sirius обновляет макет диаграммы с добавленным элементом.

Родительская или корневая часть редактирования (в AbstractEditPart) равна нулю, скорее всего, потому, что диаграмма открыта, но не активна при сохранении из текстового редактора.

Воспроизведите, добавив и сохранив семантический элемент из текстового редактора, в то время как открытая диаграмма в Sirius отображает элемент.

Я не смог воспроизвести ошибку при добавлении семантического элемента из редактора EMF.

Та же проблема, которая была замечена в 2017 году в этом отчете об ошибке https://bugs.eclipse.org/bugs/show_bug.cgi?id=513145

Ошибка

 java.lang.NullPointerException
at org.eclipse.gef.editparts.AbstractEditPart.createChild(AbstractEditPart.java:269)
at org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(AbstractEditPart.java:780)
at org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractEditPart.java:726)
at org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh(AbstractGraphicalEditPart.java:644)
at org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart.access$3(GraphicalEditPart.java:1)
at org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart$3.run(GraphicalEditPart.java:861)
at org.eclipse.emf.transaction.impl.TransactionalEditingDomainImpl.runExclusive(TransactionalEditingDomainImpl.java:328)
at org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart.refresh(GraphicalEditPart.java:851)