Skip to content

Модули

Innokentiy Krivonosov edited this page Mar 14, 2019 · 6 revisions

metadata

Все проекты be5 основаны на модуле be5-metadata. Который позволяет описывать структуру проекта в yaml формате. Основными элементами являются:

  • структура таблиц
  • представления
  • операции

Модуль dbms - вспомогательный для работы скриптов миграций базы данных.
Модуль freemarker-patched - макросы для работы с sql
Модуль maven - вызов скриптов с помощью maven-plugin-api

base

Основные классы приложения: UserInfo, ProjectProvider - загружающий yaml проект при старте приложения, и другие вспомогательные пакеты

query

В модуле реализована поддержка представлений написанных на be-sql, или генерируемые в коде

operation

Операции - основной способ работы с данными. Два главных метода в операции

  • getParameters() - форма операции
  • invoke(parameters) - выполняющийся при отправке формы код.

Формы строятся с помощью DynamicPropertySet и сериализуются в json с помощью модуля beans-json.

database

DbService - Базовый класс для работы с базой данных. Основан на Apache Commons DbUtils. CRUD, поддержка транзакций.

database-model

Вспомогательный модуль для выполнения CRUD операций с базой данных без использования POJO.
Методы принимают DynamicPropertySet или Map<String, ?>.
Поддержка стандартных колонок: whoInserted___, whoModified___, creationDate___, isDeleted___, ...

server

Основные контроллеры be5 приложения:

  • DocumentController - представления
  • FormController - операции
  • MenuController - menu на основе проекта

Базовые операции над сущностями базы данных: InsertOperation, EditOperation, DeleteOperation, FilterOperation
Вспомогательные классы: OperationSupport, QueryExecutorSupport, BaseControllerSupport

web

Controller - простейший роутинг наследующийся от HttpServlet
Request, Response and Session обёртки над servlet классами

test

Утилиты для тестирования

app

Parent pom для be5 приложений

jetty

Вспомогательный класс для удобного запуска приложения на Jetty сервере

be5-modules-сore

Базовые таблицы: users, user_roles, ...
Операции: Login, Logout, ...