Dia XML api (api для работы с диаграммами dia в java)

Полезные советы и программы от пользователей нашего форума.

Модератор: Модераторы разделов

Ответить
Аватара пользователя
Denjs
Сообщения: 1685
ОС: SuSe 10.2

Dia XML api

Сообщение Denjs »

Доброго дня.

Выношу в паблик java-api для редактирования диаграмм DIA.

теперь можно легко и непринужденно программно разбирать, редактировать, пересохранять диаграммы DIA.
и (например) реализовать кодогенерацию, обновление схемы бд, или наоборот - обновить диаграмму классов... ну вы поняли.

Поддержка, по крайней мере пока, ограниченная :

1) код умеет работать только с несжатыми dia файлами, которые простой xml. ( по умолчанию, диа пакует файлы в zip и обзывает dia )

2) только часть объектов диаграмм парсится в удобную для работы сместь pojo/javabean ,

В виде pojo-классов реализована поддержка слледующих элементов диаграммы:

* "Uml - Class";
* "Uml - Association";
* "Standard - Box"
* "Standard - Text"
* "Standard - ZigZagLine"
* "Standard - BezierLine"

Для остальных элементов, всё оставется в массивах атрибутов (т.е. что бы что то в нем поправить, вам надо будет понимать,
какие свойства есть у каждого элемента диаграммы, и как с ними работать. это не слишком удобно, зато универсально)))

Есть механизм расширения, можно регистрировать классы для работы с новыми элементами диаграмм
(кому охота потренироваться, приложить руку, сделать всем (или хоть кому-то))) хорошо, оставить свой след в истории - милости просим, включу ваш класс в проект)
Там ещё много разных туду и есть что дорабатывать .

git : https://v2.pikacode.com/tachikoma/diaxml_api

ps: скоро опубликую 2 утилиты уже пригодные для использования в консоли:
* первая снимает схему бд и пишет её в xml ( исполняемая обертка для Apache Ddl utils). схема сохраняется в формате "turbine xml". (именно "xml", потому что парсить sql/ddl - дело не благодарное)
* вторая умеет генерировать из этих xml схему бд в формате dia (от многих иных/аналогичных отличается тем, что умеет _обновлять_ уже существующую диаграмму, сохраняя расположение элементов)


pps: используется simple xml framework ( http://simple.sourceforge.net ) забористая штука, советую. ( а ещё, она работает под андроид ;) )

ppps: будем надеяться, пикакод не постигнет судьба берлиоза и гиториуса.))))
QDroid - Среда исполнения и фреймворк для QtScript.
OTPD - Открытые драйвера промышленных принтеров чеков и этикеток (кроссплатформенная подсистема печати).
Спасибо сказали:
Ответить