IllegalValue при чтении .uml файла с затмением MDT UML2 - PullRequest
0 голосов
/ 21 марта 2012

Я создал простую модель конечного автомата в Enterprise Architect и экспортировал ее в файл, который я хочу прочитать в автономную программу Java / Scala на основе реализации Eclipse MDT UML2.

Мне удалось получитьэто частично работает, но все еще есть две проблемы:

  1. Экспортированный файл XMI из EA содержит больше, чем просто часть <uml:Model></...>, и в этом случае я получаю только AnyTypeImpl объекты послеразбор.На данный момент я вручную изменил файл и уменьшил его только до тега модели UML, хотя было бы неплохо как-то использовать файл XMI из поля (Экспорт EA).

  2. Я получаю IllegalValueException для разных атрибутов, например isOrthogonal="true".Трассировка стека для него выглядит примерно так:

    org.eclipse.emf.ecore.resource.impl.ResourceSetImpl $ 1DiagnosticWrappedException: org.eclipse.emf.ecore.xmi.IllegalValueException: значение 'true' не являетсязаконны.(файл: src / test / resources / test.uml, 7, 111) в org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.handleDemandLoadException (ResourceSetImpl.java:315) в org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoadHelper (ResourceSetImpl.java:274) в org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getResource (ResourceSetImpl.java:397)

1 Ответ

1 голос
/ 22 марта 2012

Чтобы проверить, является ли файл модели с расширением * .uml допустимым для UML2, вам нужно только загрузить редактор UML. Это не инструмент UML, а только плагин, который позволяет вам манипулировать моделью UML в редакторе дерева. Если вы нажмете на элемент в дереве, у вас есть меню. Редактор UML добавляет графическое представление и манипулирование моделью, но этот плагин работает непосредственно на уровне модели / метамодели.

Если .uml может быть загружен, то вы прошли первый тест. Ваш файл совместим с UML2. Нажмите на название проекта и выберите опцию Проверить модель. Вы узнаете, правильна ли ваша модель на 100%.

Надеюсь, что эта помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...