How cx-box/cxbox works
CXBOX CORE is a Spring Boot platform for building enterprise application backends against a fixed Cxbox-UI contract. The main workflow is a UI request handled by universal controllers, resolved to a business component and response service, then returned as data or row metadata for the UI. The repository also provides SQL-backed business components, dictionaries, metadata management, drill-down filtering, authentication, and localization. Source excerpts confirm response-service and SQL-service responsibilities; several controller and integration links are documented or structurally implied but their wiring was not sampled.
Main entry points: AbstractResponseService.java Response service · controller Universal controllers · BusinessComponent.java Business component · SqlCrudmaService.java SQL business components
Components 21
Request handling
- Universal controllers
cxbox-core/src/main/java/org/cxbox/core/controller - Business component
cxbox-core/src/main/java/org/cxbox/core/crudma/bc/BusinessComponent.java
Business services
- CRUDMA services
cxbox-core/src/main/java/org/cxbox/core/crudma/impl - Response service
cxbox-core/src/main/java/org/cxbox/core/crudma/impl/AbstractResponseService.java - SQL business components
cxbox-starters/cxbox-starter-sqlbc/src/main/java/org/cxbox/sqlbc/crudma/SqlCrudmaService.java - Action definitions
cxbox-core/src/main/java/org/cxbox/core/service/action/Actions.java - Row metadata
cxbox-core/src/main/java/org/cxbox/core/service/rowmeta
Data and contracts
- Persistence access
cxbox-core/src/main/java/org/cxbox/core/dao - Application database
- Data response DTO
cxbox-api/src/main/java/org/cxbox/api/data/dto/DataResponseDTO.java - Paged results
cxbox-api/src/main/java/org/cxbox/api/data/ResultPage.java - Action results
cxbox-core/src/main/java/org/cxbox/core/dto/rowmeta/ActionResultDTO.java
Platform capabilities
- Dictionary services
cxbox-dictionary - Linked dictionaries
cxbox-dictionary-links/cxbox-dictionary-links-engine/src/main/java/org/cxbox/source/engine/LinkedDictionaryServiceImpl.java - UI metadata
cxbox-starters/cxbox-starter-meta/src/main/java/org/cxbox/meta/metahotreload/service/MetaResourceReaderService.java - Drill-down filtering
cxbox-core/src/main/java/org/cxbox/core/service/drilldown/filter/PlatformDrilldownFilterService.java - Screen field security
cxbox-starters/cxbox-meta-api/src/main/java/org/cxbox/api/ExtendedDtoFieldLevelSecurityService.java - Session and identity
cxbox-core/src/main/java/org/cxbox/core/util/session/SessionService.java - Localization
cxbox-api/src/main/java/org/cxbox/api/service/LocaleService.java - Platform properties
cxbox-api/src/main/java/org/cxbox/api/config/CxboxBeanProperties.java
Other components
- Cxbox UI
Connections 21
- Cxbox UI → Universal controllers: sends requests
README.md - Universal controllers → Business component: resolves context
cxbox-core/src/main/java/org/cxbox/core/crudma/bc/BusinessComponent.java - Business component → CRUDMA services: selects service
cxbox-core/src/main/java/org/cxbox/core/crudma/impl/AbstractResponseService.java - CRUDMA services → Response service: delegates operations
- Response service → Persistence access: accesses entities
cxbox-core/src/main/java/org/cxbox/core/crudma/impl/AbstractResponseService.java - Persistence access → Application database: reads and writes
- Business component → SQL business components: supplies context
cxbox-starters/cxbox-starter-sqlbc/src/main/java/org/cxbox/sqlbc/crudma/SqlCrudmaService.java - SQL business components → Paged results: returns pages
cxbox-starters/cxbox-starter-sqlbc/src/main/java/org/cxbox/sqlbc/crudma/SqlCrudmaService.java - Response service → Data response DTO: accepts changes
cxbox-core/src/main/java/org/cxbox/core/crudma/impl/AbstractResponseService.java - Response service → Action results: returns actions
cxbox-core/src/main/java/org/cxbox/core/crudma/impl/AbstractResponseService.java - Response service → Paged results: returns lists
cxbox-core/src/main/java/org/cxbox/core/crudma/impl/AbstractResponseService.java - Response service → Action definitions: uses definitions
cxbox-core/src/main/java/org/cxbox/core/crudma/impl/AbstractResponseService.java - Cxbox UI → UI metadata: uses UI contract
README.md - Cxbox UI → Row metadata: receives row metadata
- SQL business components → Linked dictionaries: fills linked metadata
cxbox-starters/cxbox-starter-sqlbc/src/main/java/org/cxbox/sqlbc/crudma/SqlCrudmaService.java - Response service → Drill-down filtering: supports filtering
- Universal controllers → Screen field security: checks screen fields
- Universal controllers → Session and identity: uses user session
cxbox-core/src/main/java/org/cxbox/core/util/session/SessionService.java - Response service → Dictionary services: uses dictionaries
- Cxbox UI → Localization: uses localized labels
- Platform properties → Universal controllers: configures platform