Wiki

Clone wiki

Gephi / Home

Плагин к Gephi для визуализации отношений классов

  • Заказчик: Тимофеев Денис Анатольевич
  • Преподаватель: Беляев Михаил Анатольевич
  • Контрольные даты: Чт 01.03.12, Чт 29.03.12, Чт 26.04.12, Чт 24.05.12

Краткое описание проекта

Необходимо написать плагин к системе визуализации Gephi, который бы по исходным текстам java-программ (пользователь указывает расположение файлов или директорию) строил взаимное отношение (зависимости) классов. Язык разработки: JAVA Среда разработки: NetBeans 7.1

Организация рабочего места

  • Необходимо скачать исходный код Gephi - https://bitbucket.org/paullarionov/gephi/downloads/Исходный%20код%20Gephi%20+%20JCD.rar
  • В архив уже помещен модуль плагина Java Class Dependency. Если вы используете версию из репозитория, то придется заново добавить этот модуль в проект gephi, добавить необходимые библиотеки в свойствах плагина, пересобрать и пр.
  • Для отладки плагина не всегда необходимо генерировать .nbm файл. Иногда достаточно просто запустить на выполнение проект gephi, в котором уже будет подключен плагин.
  • Общий алгоритм установки и работы показан в видео https://bitbucket.org/paullarionov/gephi/downloads/Video_2012-03-01_172849.wmv

Использование Mercurial

Первое, что необходимо сделать после установки Mercurial - скачать уже существующий репозиторий проекта на свою локальную машину (по умолчанию создается папка gephi на диске C:).

Для этого используется команда:

$ hg clone https://bitbucket.org/paullarionov/gephi/wiki

После успешного выполнения hg clone вы будете использовать команду hg pull для синхронизации вашего образа проекта с репозиторием. Повторно в последующем команду hg clone выполнять не нужно.

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

После того, как вы произвели какие-либо изменения в локальном экземпляре ("C:\gephi"), вам необходимо подтвердить правки (hg commit) и отправить файлы на сервер (hg push).

Такими образом, в первый раз последовательность команд следующая :

  • hg clone
  • изменения файлов, добавление hg add, удаление hg remove
  • hg commit
  • hg push

Впоследствии

  • hg pull
  • hg update
  • изменения файлов, добавление hg add, удаление hg remove
  • hg commit
  • hg push

Справка: http://mercurial.selenic.com/wiki/QuickStart

Java Dependencies Analyzer

Имеющиеся функции:

void invokeProcessor(List<File> files) - анализ зависимостей для списка файлов files (на вход передаются объекты файлов).

void invokeProcessor(String fileNames, boolean allProj) - анализ зависимостей для файлов по указанному пути. В зависимости от значения allProj строка fileNames должна указывать либо на директорию, содержащую исходные файлы, либо на одиночный java-файл. При обработке директории ведется поиск в том числе и по вложенным директориям.

Map<String, Map> getResults() - возвращает словарь с найденными зависимостями для каждого обработанного файла.

List<String> getErrors() - возвращает список сообщений об ошибках, возникших при компиляции обрабатываемых файлов. В каждой строке содержится указатель на файл, номер строки с ошибкой и ее краткое описание.

int getErrorsCount() - возвращает количество ошибок, возникших при компиляции всех обработанных файлов.

int getTotal() - возвращает общее количество файлов, которые необходимо проанализировать.

int getCurrent() - возвращает количество файлов, обработанное на данный момент.

int getPercent() - возвращает отношение количества обработанных файлов к общему количеству.

Updated