Модули
Все проекты be5 основаны на модуле be5-metadata. Который позволяет описывать структуру проекта в yaml формате. Основными элементами являются:
- структура таблиц
- представления
- операции
Модуль dbms - вспомогательный для работы скриптов миграций базы данных.
Модуль freemarker-patched - макросы для работы с sql
Модуль maven - вызов скриптов с помощью maven-plugin-api
Основные классы приложения: UserInfo, ProjectProvider - загружающий yaml проект при старте приложения, и другие вспомогательные пакеты
В модуле реализована поддержка представлений написанных на be-sql, или генерируемые в коде
Операции - основной способ работы с данными. Два главных метода в операции
- getParameters() - форма операции
- invoke(parameters) - выполняющийся при отправке формы код.
Формы строятся с помощью DynamicPropertySet и сериализуются в json с помощью модуля beans-json.
DbService - Базовый класс для работы с базой данных. Основан на Apache Commons DbUtils. CRUD, поддержка транзакций.
Вспомогательный модуль для выполнения CRUD операций с базой данных без использования POJO.
Методы принимают DynamicPropertySet или Map<String, ?>.
Поддержка стандартных колонок: whoInserted___, whoModified___, creationDate___, isDeleted___, ...
Основные контроллеры be5 приложения:
- DocumentController - представления
- FormController - операции
- MenuController - menu на основе проекта
Базовые операции над сущностями базы данных: InsertOperation, EditOperation, DeleteOperation, FilterOperation
Вспомогательные классы: OperationSupport, QueryExecutorSupport, BaseControllerSupport
Controller - простейший роутинг наследующийся от HttpServlet
Request, Response and Session обёртки над servlet классами
Утилиты для тестирования
Parent pom для be5 приложений
Вспомогательный класс для удобного запуска приложения на Jetty сервере
Базовые таблицы: users, user_roles, ...
Операции: Login, Logout, ...
- Модули
- Maven plugin
- Сервисы
- Схема данных
- Свойства
- Представления
- Операции
- Build
- Разное