Указание типов атрибутов в папирусе - PullRequest
7 голосов
/ 05 сентября 2011

Я недавно установил Papyrus и попытался следовать руководству по созданию модели и генерации Java-кода из нее.

К сожалению, я довольно сильно застрял в самом начале.В определении класса я добавил статическую операцию для main, и я могу указать ее аргумент в виде массива:

in args: <Undefined> [*]

К сожалению, он не позволяет мне указать типСтрока.То есть я хотел бы указать его следующим образом:

in args: String [*]

Независимо от того, как я ввожу тип (или любой тип в этом отношении), тип возвращается к <Undefined>.Я подозреваю, что что-то не так или отсутствует в профиле, который он должен использовать.К сожалению, документация по этому инструменту довольно скудна, и я не могу найти ответ или решение этого вопроса.

Кто-нибудь тоже сталкивался с такой же проблемой ???

Ответы [ 4 ]

20 голосов
/ 07 сентября 2011

Импортировали ли вы пакет типов примитивов UML? Это должно позволить вам определить тип аргумента для Integer, String или Boolean.

В обозревателе моделей щелкните правой кнопкой мыши модель и выберите «Импортировать пакет из зарегистрированной библиотеки»
В появившемся окне выберите «UMLPrimitiveTypes» (или, если хотите, Java).
После этого должно работать.

4 голосов
/ 30 апреля 2014

В последней версии Papyrus вам нужно перейти в проводник моделей, щелкнуть правой кнопкой мыши по вашей модели и выбрать «Импорт».После этого выберите «Импортировать зарегистрированный пакет».Это вызовет диалог со списком зарегистрированных пакетов.Из этого вы можете выбрать «UMLPrimitiveTypes» или «JavaPrimitiveTypes»

1 голос
/ 05 сентября 2011

Папирус считает, что моделирование не зависит от языков, и поэтому тип java обычно невозможен. Это вполне логично в подходе MDA, но не в реальной жизни: -)

Существует плагин Accelero, который должен генерировать код из диаграммы, но он не работает с последней сборкой Helios, поэтому ..... Лучше всего сделать диаграмму классов, а затем вручную кодировать соответствующий код. Я уверен, что ваш код будет лучше, чем тот, который вы могли бы получить от accelero: -)

0 голосов
/ 27 февраля 2018

Это очень просто, вы можете сделать это, просто нажав на атрибут properties , затем выберите type option, в строке меню выберите Tree , затем Примитивные типы .

...