Папирус (Eclipse) - Как генерировать диаграммы по коду? - PullRequest
1 голос
/ 14 мая 2019

Мне нужно сгенерировать диаграмму для папируса (Eclipse неон) по коду, но в сети я не могу найти никакого объяснения о создании диаграмм по коду, кроме BDD.

Моя настоящая ситуация следующая:

Я получаю файл .csv, содержащий некоторую информацию, написанную как «Элемент A, Тип соединения, Элемент B»

Что мне нужно сделать, это создать диаграмму, представляющую их следующим образом:

Пример диаграммы:

enter image description here

ПРИМЕЧАНИЕ. Мне не интересно представлять цвета в конечном продукте

ТакМои вопросы:

  1. Какую диаграмму из папируса я должен использовать для достижения этой цели?(Я должен использовать Папирус)

  2. Может кто-нибудь предоставить мне некоторую документацию для генерации его по коду?

Я нашел этот пост в сообществе Eclipse:https://www.eclipse.org/forums/index.php/m/1708054/?srch=activity+diagram+programmatically#msg_1708054

Но, похоже, нет класса «CreateActivityDiagramCommand», содержащего команду для генерации диаграммы.

Пожалуйста, не пытайтесь понять смысл представления такой информации, просто помогите мнесоздание диаграммы для этого.

1 Ответ

1 голос
/ 15 мая 2019

РЕШИТЬ:

Я нашел способ нарисовать Диаграмму Деятельности программно, так как мне нужны только прямоугольники, содержащие простую строку и стрелки, которые было нетрудно нарисовать.

Переход к исходному коду папируса Я обнаружил пакет org.eclipse.papyrus.uml.diagram.activity, содержащий класс CreateActivityDiagramCommand, поэтому добавил его к зависимостям и начал строить свой метод для создания диаграммы

Если кому-то интересно, я сделал следующее:

public static Diagram createActivityDiagram(EObject owner, String name) //owner is an UML Package
    {
        ModelSet modelSet = null;
        ResourceSet resourceSet = owner.eResource().getResourceSet();

        if (resourceSet instanceof ModelSet) 
            modelSet = (ModelSet) resourceSet;
        else 
            return null;

        Diagram diagram;
        CreateActivityDiagramCommand creatediagramCommand = new CreateActivityDiagramCommand();
        diagram = creatediagramCommand.createDiagram(modelSet, owner, name);
        return diagram;
    }
...