Доброго дня.
Выношу в паблик 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: будем надеяться, пикакод не постигнет судьба берлиоза и гиториуса.))))
Dia XML api (api для работы с диаграммами dia в java)
Модератор: Модераторы разделов