Package su.onno.ui
Class UiAutoConfiguration
java.lang.Object
su.onno.ui.UiAutoConfiguration
- All Implemented Interfaces:
org.springframework.web.servlet.config.annotation.WebMvcConfigurer
@AutoConfiguration(after=OnnoAutoConfiguration.class)
@EnableConfigurationProperties({UiProperties.class,UpdateProperties.class})
@ConditionalOnBean(MetadataRegistry.class)
@ConditionalOnProperty(prefix="onno.ui",
name="enabled",
havingValue="true",
matchIfMissing=true)
public class UiAutoConfiguration
extends Object
implements org.springframework.web.servlet.config.annotation.WebMvcConfigurer
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionactionController(CatalogQueryService catalogQueryService, DocumentQueryService documentQueryService, UiAccessService access, UiActionResolver uiActionResolver, UiProperties uiProperties, BatchRunner batchRunner) voidaddResourceHandlers(org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry registry) batchRunner(UiProperties uiProperties) catalogCommandService(MetadataRegistry registry, org.jdbi.v3.core.Jdbi jdbi, UiProperties properties, NumberGenerator numberGenerator, CatalogQueryService catalogQueryService, UiAccessService access, org.springframework.context.ApplicationEventPublisher events, SecretCipher secretCipher) catalogQueryService(MetadataRegistry registry, org.jdbi.v3.core.Jdbi jdbi) clusterUiBridge(ClusterEventBus clusterEventBus, UiEventPublisher publisher) Bridges the cross-nodeClusterEventBusinto the local SSE stream so a write on one node lights up browsers connected to any node.commentAuthorAvatars(UiLayout uiLayout, MetadataRegistry registry, FieldHintResolver fieldHintResolver, org.jdbi.v3.core.Jdbi jdbi) Resolves a user's avatar image URL from the identity catalog's avatar/image-hinted column.currentUserResolver(UiLayout uiLayout, MetadataRegistry registry, FieldHintResolver fieldHintResolver, org.jdbi.v3.core.Jdbi jdbi) devReloadTrigger(UiEventPublisher publisher, UiProperties properties) divKitController(LayoutSet layoutSet, UiLayoutResolver layoutResolver, UiProfileResolver profileResolver, UiAccessService access, CurrentUserResolver currentUserResolver, ResolvedMetadataService resolvedMetadata, UiViewResolver uiViewResolver, PageResolver pageResolver, CatalogQueryService catalogQueryService, DocumentQueryService documentQueryService, RegisterQueryService registerQueryService, UiActionResolver uiActionResolver, RelatedListReader relatedListReader, UiProperties uiProperties, UiMessages uiMessages, org.springframework.beans.factory.ObjectProvider<CommentProperties> commentProperties, org.springframework.beans.factory.ObjectProvider<NotificationProperties> notificationProperties) documentCommandService(MetadataRegistry registry, org.jdbi.v3.core.Jdbi jdbi, UiProperties properties, NumberGenerator numberGenerator, PostingService postingService, DocumentQueryService documentQueryService, UiAccessService access, org.springframework.context.ApplicationEventPublisher events, SecretCipher secretCipher) documentQueryService(MetadataRegistry registry, org.jdbi.v3.core.Jdbi jdbi) fieldHintResolver(org.springframework.beans.factory.ObjectProvider<EntityView> entityViews) formValidationController(CatalogQueryService catalogQueryService, DocumentQueryService documentQueryService, UiAccessService access, FieldHintResolver fieldHintResolver, FormValidationService validationService) formValidationService(org.springframework.beans.factory.ObjectProvider<FormValidator> validators) genericCatalogController(CatalogQueryService catalogQueryService, UiAccessService access, CatalogCommandService catalogCommandService, RelatedListReader relatedListReader, UiMessages uiMessages, BatchRunner batchRunner) genericDocumentController(DocumentQueryService documentQueryService, UiAccessService access, DocumentCommandService documentCommandService, RelatedListReader relatedListReader, BatchRunner batchRunner) genericRegisterController(RegisterQueryService registerQueryService, UiAccessService access) informationRegisterQueryService(MetadataRegistry registry, org.jdbi.v3.core.Jdbi jdbi) listDataController(CatalogQueryService catalogQueryService, DocumentQueryService documentQueryService, UiAccessService access, UiActionResolver uiActionResolver, UiViewResolver uiViewResolver) loginDivController(org.springframework.beans.factory.ObjectProvider<AuthMethodsProvider> authMethods, org.springframework.beans.factory.ObjectProvider<AuthMethodsContributor> contributors, UiMessages uiMessages, LayoutSet layoutSet, UiProperties properties) pageResolver(org.springframework.beans.factory.ObjectProvider<Page> pages) presenceController(PresenceRegistry presenceRegistry, UiAccessService access, CurrentUserResolver currentUserResolver, CommentAuthorAvatars authorAvatars) presenceRegistry(ClusterEventBus clusterEventBus, UiEventPublisher publisher) Tracks who is viewing each record for record-level collaboration markers.processController(ProcessEngine processEngine, ProcessDefinitions processDefinitions, com.fasterxml.jackson.databind.ObjectMapper objectMapper, UiAccessService access, TaskAssigneeDirectory taskAssigneeDirectory, CurrentUserResolver currentUserResolver) refOptionController(CatalogQueryService catalogQueryService, DocumentQueryService documentQueryService, UiAccessService access, RefOptionService refOptionService) refOptionService(org.springframework.beans.factory.ObjectProvider<RefOptionDecorator> decorators) registerListController(RegisterQueryService registerQueryService, UiAccessService access, UiMessages uiMessages) registerQueryService(MetadataRegistry registry, org.jdbi.v3.core.Jdbi jdbi) relatedListReader(FieldHintResolver fieldHintResolver, MetadataRegistry registry, CatalogQueryService catalogQueryService, InformationRegisterQueryService informationRegisterQueryService, UiAccessService access) resolvedMetadataService(MetadataRegistry registry, FieldHintResolver fieldHintResolver) settingsController(MetadataRegistry registry, ConstantManager constantManager, UiAccessService access) su.onno.ui.SpaIndexControllertaskAssigneeDirectory(MetadataRegistry registry, CatalogQueryService catalogQueryService, UiAccessService access, UiLayout uiLayout, CommentAuthorAvatars commentAuthorAvatars) themeController(UiProperties properties, UiLayout uiLayout, UiMessages uiMessages, org.springframework.beans.factory.ObjectProvider<UpdateChecker> updateChecker, org.springframework.beans.factory.ObjectProvider<WidgetPluginScanner> widgetPlugins, org.springframework.beans.factory.ObjectProvider<TelemetrySink> telemetrySink) uiAccessService(MetadataRegistry registry) uiActionResolver(org.springframework.beans.factory.ObjectProvider<EntityView> entityViews) uiEventController(UiEventPublisher publisher, UiAccessService access, CurrentUserResolver currentUserResolver) uiEventPublisher(UiAccessService access, UiProperties properties) uiMessages(UiProperties properties) The resolved chrome strings, layered later-wins: EnglishUiMessages.DEFAULTS→ theonno.ui.localebundle (e.g.uiViewResolver(ResolvedMetadataService resolvedMetadata, org.springframework.beans.factory.ObjectProvider<EntityView> entityViews, UiProperties properties) updateChecker(UpdateProperties updateProperties, com.fasterxml.jackson.databind.ObjectMapper objectMapper) Polls onno-cloud for a newer framework release and exposes the result through/config.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.web.servlet.config.annotation.WebMvcConfigurer
addArgumentResolvers, addCorsMappings, addErrorResponseInterceptors, addFormatters, addInterceptors, addReturnValueHandlers, addViewControllers, configureAsyncSupport, configureContentNegotiation, configureDefaultServletHandling, configureHandlerExceptionResolvers, configureMessageConverters, configurePathMatch, configureViewResolvers, extendHandlerExceptionResolvers, extendMessageConverters, getMessageCodesResolver, getValidator
-
Constructor Details
-
UiAutoConfiguration
-
-
Method Details
-
addResourceHandlers
public void addResourceHandlers(org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry registry) - Specified by:
addResourceHandlersin interfaceorg.springframework.web.servlet.config.annotation.WebMvcConfigurer
-
widgetPluginScanner
@Bean @ConditionalOnProperty(prefix="onno.ui.plugins", name="enabled", havingValue="true", matchIfMissing=true) public WidgetPluginScanner widgetPluginScanner() -
spaIndexController
@Bean public su.onno.ui.SpaIndexController spaIndexController() -
uiMessages
The resolved chrome strings, layered later-wins: EnglishUiMessages.DEFAULTS→ theonno.ui.localebundle (e.g. the shippedru) → explicitonno.ui.messagesper-key overrides. -
settingsController
@Bean public SettingsController settingsController(MetadataRegistry registry, ConstantManager constantManager, UiAccessService access) -
listDataController
@Bean public ListDataController listDataController(CatalogQueryService catalogQueryService, DocumentQueryService documentQueryService, UiAccessService access, UiActionResolver uiActionResolver, UiViewResolver uiViewResolver) -
uiActionResolver
@Bean public UiActionResolver uiActionResolver(org.springframework.beans.factory.ObjectProvider<EntityView> entityViews) -
batchRunner
-
actionController
@Bean public ActionController actionController(CatalogQueryService catalogQueryService, DocumentQueryService documentQueryService, UiAccessService access, UiActionResolver uiActionResolver, UiProperties uiProperties, BatchRunner batchRunner) -
processController
@Bean public ProcessController processController(ProcessEngine processEngine, ProcessDefinitions processDefinitions, com.fasterxml.jackson.databind.ObjectMapper objectMapper, UiAccessService access, TaskAssigneeDirectory taskAssigneeDirectory, CurrentUserResolver currentUserResolver) -
taskAssigneeDirectory
@Bean public TaskAssigneeDirectory taskAssigneeDirectory(MetadataRegistry registry, CatalogQueryService catalogQueryService, UiAccessService access, UiLayout uiLayout, CommentAuthorAvatars commentAuthorAvatars) -
onnoValidationExceptionHandler
@Bean @ConditionalOnMissingBean public OnnoValidationExceptionHandler onnoValidationExceptionHandler() -
actionRejectedExceptionHandler
@Bean @ConditionalOnMissingBean public ActionRejectedExceptionHandler actionRejectedExceptionHandler() -
themeController
@Bean public ThemeController themeController(UiProperties properties, UiLayout uiLayout, UiMessages uiMessages, org.springframework.beans.factory.ObjectProvider<UpdateChecker> updateChecker, org.springframework.beans.factory.ObjectProvider<WidgetPluginScanner> widgetPlugins, org.springframework.beans.factory.ObjectProvider<TelemetrySink> telemetrySink) -
updateChecker
@Bean @ConditionalOnMissingBean @ConditionalOnProperty(prefix="onno.ui.update-check", name="enabled", havingValue="true", matchIfMissing=true) public UpdateChecker updateChecker(UpdateProperties updateProperties, com.fasterxml.jackson.databind.ObjectMapper objectMapper) Polls onno-cloud for a newer framework release and exposes the result through/config. Disabled withonno.ui.update-check.enabled=false; otherwise on by default and fail-silent. -
loginDivController
@Bean public LoginDivController loginDivController(org.springframework.beans.factory.ObjectProvider<AuthMethodsProvider> authMethods, org.springframework.beans.factory.ObjectProvider<AuthMethodsContributor> contributors, UiMessages uiMessages, LayoutSet layoutSet, UiProperties properties) -
uiAccessService
-
uiEventPublisher
@Bean @ConditionalOnMissingBean public UiEventPublisher uiEventPublisher(UiAccessService access, UiProperties properties) -
uiEventController
@Bean public UiEventController uiEventController(UiEventPublisher publisher, UiAccessService access, CurrentUserResolver currentUserResolver) -
devReloadTrigger
@Bean(destroyMethod="stop") @ConditionalOnMissingBean public DevReloadTrigger devReloadTrigger(UiEventPublisher publisher, UiProperties properties) -
clusterUiBridge
@Bean public ClusterUiBridge clusterUiBridge(ClusterEventBus clusterEventBus, UiEventPublisher publisher) Bridges the cross-nodeClusterEventBusinto the local SSE stream so a write on one node lights up browsers connected to any node. With the default no-op bus this is inert. SeeClusterUiBridgefor why received events bypass the Spring event bus. -
presenceRegistry
@Bean @ConditionalOnMissingBean public PresenceRegistry presenceRegistry(ClusterEventBus clusterEventBus, UiEventPublisher publisher) Tracks who is viewing each record for record-level collaboration markers. It subscribes to theClusterEventBusfor peer presence and pushes viewer-set changes onto the SSE stream. With the default no-op bus it is a single-node, in-memory registry. -
presenceController
@Bean public PresenceController presenceController(PresenceRegistry presenceRegistry, UiAccessService access, CurrentUserResolver currentUserResolver, CommentAuthorAvatars authorAvatars) -
fieldHintResolver
@Bean public FieldHintResolver fieldHintResolver(org.springframework.beans.factory.ObjectProvider<EntityView> entityViews) -
commentAuthorAvatars
@Bean public CommentAuthorAvatars commentAuthorAvatars(UiLayout uiLayout, MetadataRegistry registry, FieldHintResolver fieldHintResolver, org.jdbi.v3.core.Jdbi jdbi) Resolves a user's avatar image URL from the identity catalog's avatar/image-hinted column. Always-on (not gated ononno.comments.enabled) so both the comments panel and record-level presence markers render a viewer's photo from the one identity source. -
resolvedMetadataService
@Bean public ResolvedMetadataService resolvedMetadataService(MetadataRegistry registry, FieldHintResolver fieldHintResolver) -
catalogQueryService
@Bean public CatalogQueryService catalogQueryService(MetadataRegistry registry, org.jdbi.v3.core.Jdbi jdbi) -
documentQueryService
@Bean public DocumentQueryService documentQueryService(MetadataRegistry registry, org.jdbi.v3.core.Jdbi jdbi) -
refOptionService
@Bean public RefOptionService refOptionService(org.springframework.beans.factory.ObjectProvider<RefOptionDecorator> decorators) -
refOptionController
@Bean public RefOptionController refOptionController(CatalogQueryService catalogQueryService, DocumentQueryService documentQueryService, UiAccessService access, RefOptionService refOptionService) -
formValidationService
@Bean public FormValidationService formValidationService(org.springframework.beans.factory.ObjectProvider<FormValidator> validators) -
formValidationController
@Bean public FormValidationController formValidationController(CatalogQueryService catalogQueryService, DocumentQueryService documentQueryService, UiAccessService access, FieldHintResolver fieldHintResolver, FormValidationService validationService) -
registerQueryService
@Bean public RegisterQueryService registerQueryService(MetadataRegistry registry, org.jdbi.v3.core.Jdbi jdbi) -
informationRegisterQueryService
@Bean public InformationRegisterQueryService informationRegisterQueryService(MetadataRegistry registry, org.jdbi.v3.core.Jdbi jdbi) -
catalogCommandService
@Bean public CatalogCommandService catalogCommandService(MetadataRegistry registry, org.jdbi.v3.core.Jdbi jdbi, UiProperties properties, NumberGenerator numberGenerator, CatalogQueryService catalogQueryService, UiAccessService access, org.springframework.context.ApplicationEventPublisher events, SecretCipher secretCipher) -
documentCommandService
@Bean public DocumentCommandService documentCommandService(MetadataRegistry registry, org.jdbi.v3.core.Jdbi jdbi, UiProperties properties, NumberGenerator numberGenerator, PostingService postingService, DocumentQueryService documentQueryService, UiAccessService access, org.springframework.context.ApplicationEventPublisher events, SecretCipher secretCipher) -
genericCatalogController
@Bean public GenericCatalogController genericCatalogController(CatalogQueryService catalogQueryService, UiAccessService access, CatalogCommandService catalogCommandService, RelatedListReader relatedListReader, UiMessages uiMessages, BatchRunner batchRunner) -
genericDocumentController
@Bean public GenericDocumentController genericDocumentController(DocumentQueryService documentQueryService, UiAccessService access, DocumentCommandService documentCommandService, RelatedListReader relatedListReader, BatchRunner batchRunner) -
genericRegisterController
@Bean public GenericRegisterController genericRegisterController(RegisterQueryService registerQueryService, UiAccessService access) -
registerListController
@Bean public RegisterListController registerListController(RegisterQueryService registerQueryService, UiAccessService access, UiMessages uiMessages) -
currentUserResolver
@Bean public CurrentUserResolver currentUserResolver(UiLayout uiLayout, MetadataRegistry registry, FieldHintResolver fieldHintResolver, org.jdbi.v3.core.Jdbi jdbi) -
uiViewResolver
@Bean public UiViewResolver uiViewResolver(ResolvedMetadataService resolvedMetadata, org.springframework.beans.factory.ObjectProvider<EntityView> entityViews, UiProperties properties) -
pageResolver
@Bean public PageResolver pageResolver(org.springframework.beans.factory.ObjectProvider<Page> pages) -
divKitController
@Bean public DivKitController divKitController(LayoutSet layoutSet, UiLayoutResolver layoutResolver, UiProfileResolver profileResolver, UiAccessService access, CurrentUserResolver currentUserResolver, ResolvedMetadataService resolvedMetadata, UiViewResolver uiViewResolver, PageResolver pageResolver, CatalogQueryService catalogQueryService, DocumentQueryService documentQueryService, RegisterQueryService registerQueryService, UiActionResolver uiActionResolver, RelatedListReader relatedListReader, UiProperties uiProperties, UiMessages uiMessages, org.springframework.beans.factory.ObjectProvider<CommentProperties> commentProperties, org.springframework.beans.factory.ObjectProvider<NotificationProperties> notificationProperties)
-