You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@causeway.apache.org by da...@apache.org on 2024/10/10 20:42:44 UTC
(causeway) 02/05: CAUSEWAY-3819: makes HintStore use AutoConfig
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch maintenance-branch
in repository https://gitbox.apache.org/repos/asf/causeway.git
commit c9395231878a2341220386207f6af5bddcf2a0d1
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Oct 10 20:35:36 2024 +0200
CAUSEWAY-3819: makes HintStore use AutoConfig
---
.../viewer/CausewayModuleViewerWicketViewer.java | 4 +++-
.../services/HintStoreUsingWicketSession.java | 22 +++++++++++++++++-----
2 files changed, 20 insertions(+), 6 deletions(-)
diff --git a/viewers/wicket/viewer/src/main/java/org/apache/causeway/viewer/wicket/viewer/CausewayModuleViewerWicketViewer.java b/viewers/wicket/viewer/src/main/java/org/apache/causeway/viewer/wicket/viewer/CausewayModuleViewerWicketViewer.java
index 9e2796e81b..d637f34409 100644
--- a/viewers/wicket/viewer/src/main/java/org/apache/causeway/viewer/wicket/viewer/CausewayModuleViewerWicketViewer.java
+++ b/viewers/wicket/viewer/src/main/java/org/apache/causeway/viewer/wicket/viewer/CausewayModuleViewerWicketViewer.java
@@ -63,12 +63,14 @@ import org.apache.causeway.viewer.wicket.viewer.wicketapp.config.WicketViewerCss
ComponentFactoryRegistryDefault.class,
DeepLinkServiceWicket.class,
ImageResourceCacheClassPath.class,
- HintStoreUsingWicketSession.class,
PageClassListDefault.class,
PageClassRegistryDefault.class,
PageNavigationServiceDefault.class,
WebModuleWicket.class,
+ // autoconfigurations
+ HintStoreUsingWicketSession.AutoConfiguration.class,
+
})
public class CausewayModuleViewerWicketViewer {
diff --git a/viewers/wicket/viewer/src/main/java/org/apache/causeway/viewer/wicket/viewer/services/HintStoreUsingWicketSession.java b/viewers/wicket/viewer/src/main/java/org/apache/causeway/viewer/wicket/viewer/services/HintStoreUsingWicketSession.java
index b08a0c8af0..34f5a1467b 100644
--- a/viewers/wicket/viewer/src/main/java/org/apache/causeway/viewer/wicket/viewer/services/HintStoreUsingWicketSession.java
+++ b/viewers/wicket/viewer/src/main/java/org/apache/causeway/viewer/wicket/viewer/services/HintStoreUsingWicketSession.java
@@ -27,7 +27,10 @@ import javax.inject.Named;
import org.apache.wicket.Session;
import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.stereotype.Service;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.annotation.Order;
import org.apache.causeway.applib.annotation.PriorityPrecedence;
import org.apache.causeway.applib.services.bookmark.Bookmark;
@@ -42,13 +45,22 @@ import lombok.extern.log4j.Log4j2;
*
* @since 2.0 {@index}
*/
-@Service
-@Named("causeway.viewer.wicket.HintStoreUsingWicketSession")
-@javax.annotation.Priority(PriorityPrecedence.EARLY)
-@Qualifier("Wicket")
@Log4j2
public class HintStoreUsingWicketSession implements HintStore {
+ @Configuration
+ public static class AutoConfiguration {
+
+ @Bean
+ @ConditionalOnMissingBean(HintStore.class)
+ @Named("causeway.viewer.wicket.HintStoreUsingWicketSession")
+ @Order(PriorityPrecedence.EARLY)
+ @Qualifier("Wicket")
+ public HintStoreUsingWicketSession hintStoreUsingWicketSession() {
+ return new HintStoreUsingWicketSession();
+ }
+ }
+
@Override
public String get(final Bookmark bookmark, final String key) {
final Map<String, String> hintsForBookmark = hintsFor(bookmark);