Работа в IntelliJ IDEA#

Подключение XSD-схем к редактору кода#

Для проверки синтаксиса и работы подсказчика при редактировании xml-файлов (avm.xml, odm.xml, global3.config.xml), необходимо подключить к редактору xsd-схемы. Схемы хранятся в библиотеке C:\programs\gsf-cli\workspace\dists\pgdev\Global3se\server\lib\engine\engine-1.0.jar

xmlns

xsd -схема

http://www.global-system.ru/xsd/global3-module-1.0

C:\programs\gsf-cli\workspace\dists\pgdev\Global3se\server\lib\engine\engine-1.0.jar!\schemas\global3-module-1.0.xsd

http://www.global-system.ru/xsd/global3-view-1.0

C:\programs\gsf-cli\workspace\dists\pgdev\Global3se\server\lib\engine\engine-1.0.jar!\schemas\global3-view-1.0.xsd

http://www.global-system.ru/xsd/global3-view-template-1.0

C:\programs\gsf-cli\workspace\dists\pgdev\Global3se\server\lib\engine\engine-1.0.jar!\schemas\global3-view-template-1.0.xsd

http://www.global-system.ru/xsd/global3.config.1.0

C:\programs\gsf-cli\workspace\dists\pgdev\Global3se\server\lib\engine\engine-1.0.jar!\schemas\global3.config.1.0.xsd

Подключить схемы можно в настройках IDE IntelliJ Idea:
File > Settings > Languages & Frameworks > Schemas and DTDs

Создание сущностей без конфигуратора#

Допускается создание сущностей фреймворка в ручном режиме прямо в IDE Intellij Idea

Создание Odm файла класса#

Создание класса начинается с создания odm файла (объектно-документного представления сущности):

application/{модуль}/src/main/resources/ru/bitec/app/{модуль}/{имя_сущности}.odm.xml

Для создания можно воспользоваться файловым шаблоном из контекстного меню: New > odm AllTypes

В качестве примера, откройте файл: ../bs/src/main/resources/ru/bitec/app/bs/Bs_Contras.odm.xml

Использование генератора кода#

Для формирования базового кода для работы с сущностями предназначена утилита ru.bitec.app.gtk.meta.SourceGenerator. Генератор подключен к IDE Intellij Idea как внешняя утилита (External Tool). Доступ к генератору кода осуществляется через контекстное меню в обозревателе проекта или заголовка закладки: External Tools > Generate sources

Примечание

Для настройки утилиты см. главу «Начало работы».

Запуск утилиты возможен от любого файла, относящегося к сущности:

  • *.orm.xml

  • *.odm.xml

  • *.avm.xml

  • *Avi.scala

  • *Dvi.scala

  • *Api.scala

  • *Dpi.scala

При работе утилиты создаются следующие файлы:

  • В каталоге ../main/java/ru/bitec/app/{модуль}/

    • {имя_сущности}.java
      Pojo-класс сущности

  • В каталоге ../main/scala/ru/bitec/app/{модуль}/

    • {имя_сущности}Dpi.scala
      Не изменяемая бизнес логика контроллера

    • {имя_сущности}Api.scala Изменяемая бизнес логика контроллера

      Внимание

      Создается только если нет Api файла

    • {имя_сущности}Dvi.scala
      Не изменяемая бизнес логика представления (View). Шаблон

    • {имя_сущности}Avi.scala
      Изменяемая бизнес логика представления (View).

      Внимание

      Создается только если нет Avi файла

  • В каталоге ../main/resources/ru/bitec/app/{модуль}/

    • {имя_сущности}.orm.xml
      Метаданные сущности для Orm

    • {имя_сущности}.avm.xml Xml-разметка представления

      Внимание

      Создается только если нет Avm файла

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

Для массовой перегенерации файлов, можно вызвать перегенерацию для каталога, содержащего odm.xml – файлы. В этом случае будут пересозданы исходные коды для всех odm.xml в каталоге.

При вызове перегенерации от корневого каталога проекта, будут пересозданы исходные коды для всех сущностей.

Тонкая настройка Orm#

Для тонкой настройки формируемого orm.xml файла допускается создавать файл-шаблон c именем {имя_класса}.erm.xml по формату, идентичному {имя_класса}.orm.xml файлу, и включать в него элементы и свойства, необходимые для тонкой настройки. При формировании orm.xml, будет прочитан erm.xml, и всё его содержимое будет добавлено в сформированный файл orm.xml.

Обновление схемы БД#

Для корректной работы системы схема БД должна быть согласована с кодом.

В процессе разработки модуля, или при подключении нового модуля к проекту требуется обновлять схему БД специальной утилитой.

Так же, как и генератор кода, утилита обновления схемы БД может быть запущена от любой сущности системы. Таблицы создаются на основе метаданных, объявленных в файлах *.odm.xml. Создание таблиц с использованием EclipseLink отключено. Утилита генерации схемы запускается из контекстного меню: External Tools > Generate Tables

Примечание

При обновлении бинарного кода в продакшн-режиме согласование схемы запускается автоматически после обновления jar файлов проекта.

Примечание

Для настройки утилиты см. главу «Начало работы».

Создание главной выборки приложения#

Для создания нового прикладного приложения, создайте в своём модуле Avi-класс унаследованный от ProjectApplicationAvi.

Если требуется создать приложение с глобальными фильтрами, то Avi-класс должен быть унаследован от Bs_ApplicationAvi. Для создания файла avm.xml используйте шаблон «avm Application» в меню создания файлов IntelliJ Idea.

Avi-класс, должен быть зарегистрирован в файле META-INF/applications.xml своего модуля.