Руководство по работе с плагином DataSpace для IntelliJ IDEA#
О документе#
Примечание
Данный плагин не является обязательным к использованию и создан для среды разработки IntelliJ IDEA.
Документ содержит описание работы с плагином DataSpace, разработанным для продукта Platform V DataSpace. Плагин DataSpace создан для среды разработки IntelliJ IDEA и дает возможность увидеть SQL-код при формировании JSON или GraphDTO-запросов.
Расшифровку основных понятий см. в документе "Термины и определения".
Системные требования#
Для корректной работы плагина DataSpace необходимо, чтобы на компьютере прикладного разработчика были установлены инструменты:
IntelliJ IDEA версии 2019.3.1 или выше;
Java JDK версии 8 или выше;
Maven версии 3.6.0 или выше.
Подключение и конфигурирование#
Плагин поставляется в виде ZIP-архива:
groupId: sbp.com.sbt.dataspace.plugin;
artifactId: dataspace-plugin.
Примечание Плагин находится в дистрибутиве компонента DataSpace Core в папке m2 по пути, соответствующему groupId и artifactId. Если в вашей организации производится распаковка дистрибутива в корпоративное хранилище, то артефакт будет доступен по тому же пути.
Подключение плагина в IntelliJ IDEA производится стандартным образом. Для этого необходимо:
Открыть настройки File -> Settings -> Plugins.
Нажать кнопку Install Plugin from Disk….
Выбрать архив с плагином и нажать кнопку OK.
Нажать кнопку ОК и перезапустить IntelliJ IDEA.
После подключения плагина станут доступны его настройки: File -> Settings -> Tools -> DataSpace.

Доступны следующие настройки плагина:
Версия dataspace-bom — версия BOM продукта DataSpace.
Модель:
groupId — идентификатор группы модели;
artifactId — идентификатор артефакта модели;
version — версия модели;
путь к pdm.xml — путь к файлу pdm.xml внутри артефакта модели (обычно — /pdm.xml).
SDK:
groupId — идентификатор группы DataSpace Java SDK;
artifactId — идентификатор артефакта DataSpace Java SDK;
version — версия DataSpace Java SDK.
SQL:
диалект — используемый диалект SQL;
наименование схемы — наименование схемы в базе данных;
ограничение на количество элементов по умолчанию.
Примечание
В случае, если артефакты модели или SDK принадлежат текущему открытому проекту, то для учета изменений в этих артефактах плагином необходимо предварительно сделать повторную сборку данных артефактов.
Плагин в процессе работы использует встроенный сборщик Maven для сбора необходимой информации, поэтому необходимо учитывать, что встроенный Maven использует настройки Maven для открытого проекта:
File -> Settings -> Build, Execution, Deployment -> Build Tools -> Maven:
Maven home directory — папка с Maven.
User settings file — пользовательский файл настроек.
Local repository — пользовательский локальный репозиторий.

File -> Settings -> Build, Execution, Deployment -> Build Tools -> Maven -> Runner:
VM Options — опции виртуальной машины для запуска Maven.
JRE — Java-машина для запуска Maven.

Использование плагина#
После подключения плагина станет доступно окно инструментов DataSpace, которое по умолчанию расположено внизу.

В окне инструментов доступны вкладки:
GraphDTO -> SQL — на вкладке имеется возможность получить SQL-запрос по объекту GraphDTO.
GraphDTO -> JSON — на вкладке имеется возможность получить запрос в формате JSON по объекту GraphDTO.
JSON -> SQL — на вкладке имеется возможность получить SQL-запрос по запросу в формате JSON.
Работа со вкладкой GraphDTO -> SQL#
Чтобы получить SQL-запрос по объекту GraphDTO, необходимо:
Написать код на языке Java для получения объекта GraphDTO.

Примечание
Здесь необходимо написать код, возвращающий объект
com.sbt.pprb.ac.graph.GraphJsonSerializable. При этом необязательно на последней строке писать ключевое словоreturn.Нажать кнопку Преобразовать GraphDTO в SQL (
Ctrl+Enter).
Результат (SQL-запрос и его параметры) будет отображен справа.
Работа со вкладкой GraphDTO -> JSON#
Чтобы получить запрос в формате JSON по объекту GraphDTO необходимо:
Написать код на языке Java для получения объекта GraphDTO.

Примечание
Здесь необходимо написать код, возвращающий объект
com.sbt.pprb.ac.graph.GraphJsonSerializable. При этом необязательно на последней строке писать ключевое словоreturn.Нажать кнопку Преобразовать GraphDTO в JSON (
Ctrl+Enter).
Результат (запрос в формате JSON) будет отображен справа.
Работа со вкладкой JSON -> SQL#
Чтобы получить SQL-запрос по запросу в формате JSON необходимо:
Написать запрос в формате JSON.

Нажать кнопку Преобразовать JSON в SQL (
Ctrl+Enter).
Результат (SQL-запрос и его параметры) будет отображен справа.
Поиск причин ошибок#
При работе плагина могут возникнуть ошибки различного характера, о чем будет свидетельствовать соответствующее событие IntelliJ IDEA.

Для выявления причины ошибки можно ознакомиться с лог-записями плагина DataSpace. При этом лог-записи должны быть предварительно включены.
Для включения лог-записи плагина DataSpace необходимо открыть настройки Debug-логирования: Help -> Diagnostic Tools -> Debug Log Settings… и прописать в них строку "DataSpace".

После включения лог-записи плагина DataSpace необходимо воспроизвести ошибку, после чего можно ознакомиться с лог-записями: Help -> Show Log in Explorer.
Лог-записи плагина будут присутствовать с категорией DataSpace. Пример:
2023-04-21 18:57:03,558 [ 24619] DEBUG - DataSpace - java.lang.IllegalStateException: Не задан артефакт модели (см. настройки)