This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/causeway.git


The following commit(s) were added to refs/heads/main by this push:
     new 999ad6fcd79 Bumps Spring Boot 4.0.0-RC2 -> 4.0.0
999ad6fcd79 is described below

commit 999ad6fcd7950c7b0c61049438221579f852f29a
Author: andi-huber <[email protected]>
AuthorDate: Thu Nov 20 20:14:47 2025 +0100

    Bumps Spring Boot 4.0.0-RC2 -> 4.0.0
    
    fixes application context provisioning (regression testing)
---
 bom/pom.xml                                        |  4 +-
 mavendeps/webapp/pom.xml                           |  4 ++
 .../testdomain/conf/Configuration_usingWicket.java | 44 +++++++---------------
 .../viewers/common/wkt/InteractionTestWkt.java     |  5 ++-
 4 files changed, 22 insertions(+), 35 deletions(-)

diff --git a/bom/pom.xml b/bom/pom.xml
index b37fb05bb27..680a7549c6d 100644
--- a/bom/pom.xml
+++ b/bom/pom.xml
@@ -39,7 +39,7 @@ identified
     <parent>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-parent</artifactId>
-        <version>4.0.0-RC2</version>
+        <version>4.0.0</version>
         <relativePath />
     </parent>
     <groupId>org.apache.causeway</groupId>
@@ -144,7 +144,7 @@ identified
 
         <sql-formatter.version>2.0.5</sql-formatter.version>
         <snakeyaml.version>2.0</snakeyaml.version>
-        <spring-boot.version>4.0.0-RC2</spring-boot.version>
+        <spring-boot.version>4.0.0</spring-boot.version>
 
         <surefire-plugin.argLine>
             -Xmx384m
diff --git a/mavendeps/webapp/pom.xml b/mavendeps/webapp/pom.xml
index f5f13882f48..e622eb26aec 100644
--- a/mavendeps/webapp/pom.xml
+++ b/mavendeps/webapp/pom.xml
@@ -54,6 +54,10 @@
                                </exclusion>
                        </exclusions>
                </dependency>
+               <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-actuator-autoconfigure</artifactId>
+        </dependency>
 
                <dependency>
                        <groupId>org.springframework.boot</groupId>
diff --git 
a/regressiontests/base/src/main/java/org/apache/causeway/testdomain/conf/Configuration_usingWicket.java
 
b/regressiontests/base/src/main/java/org/apache/causeway/testdomain/conf/Configuration_usingWicket.java
index da0d10ee6ed..d4af4aaf560 100644
--- 
a/regressiontests/base/src/main/java/org/apache/causeway/testdomain/conf/Configuration_usingWicket.java
+++ 
b/regressiontests/base/src/main/java/org/apache/causeway/testdomain/conf/Configuration_usingWicket.java
@@ -23,8 +23,6 @@
 import java.util.function.Predicate;
 import java.util.stream.Collectors;
 
-import jakarta.inject.Inject;
-
 import org.apache.wicket.Component;
 import org.apache.wicket.IPageFactory;
 import org.apache.wicket.Page;
@@ -54,7 +52,6 @@
 import org.apache.causeway.core.metamodel.object.ManagedObject;
 import org.apache.causeway.testdomain.util.dto.BookDto;
 import org.apache.causeway.testdomain.util.dto.IBook;
-import 
org.apache.causeway.viewer.wicket.model.causeway.WicketApplicationInitializer;
 import org.apache.causeway.viewer.wicket.model.models.PageType;
 import org.apache.causeway.viewer.wicket.model.util.PageParameterUtils;
 import 
org.apache.causeway.viewer.wicket.ui.app.registry.ComponentFactoryRegistry;
@@ -79,20 +76,12 @@
 @Configuration
 @Import({
     CausewayModuleViewerWicketViewer.class,
-    
Configuration_usingWicket.WicketViewerOutputMarkupContainerClassNameEnable.class
 })
 public class Configuration_usingWicket {
-
-    @Configuration
-    public class WicketViewerOutputMarkupContainerClassNameEnable
-    implements WicketApplicationInitializer {
-
-        @Override
-        public void init(final WebApplication webApplication) {
-            webApplication.getDebugSettings()
-                .setComponentPathAttributeName("wicket-tester-path")
-                
.setOutputMarkupContainerClassNameStrategy(ClassOutputStrategy.HTML_COMMENT);
-        }
+       
+    @Bean
+    public WicketTesterFactory wicketTesterFactory(final MetaModelContext mmc) 
{
+        return new WicketTesterFactory(mmc);
     }
 
     public static class DomainObjectPageTester
@@ -189,18 +178,13 @@ default String editInlinePromptFormOk() {
 
         // --
 
-        @Getter
-        private final MetaModelContext metaModelContext;
         private final Function<BookDto, IBook> bookFactory;
 
         public DomainObjectPageTester(
-                final MetaModelContext metaModelContext,
+                final MetaModelContext mmc,
                 final Function<BookDto, IBook> bookFactory) {
-            super(newWicketApplication(metaModelContext));
-            this.metaModelContext = metaModelContext;
-            metaModelContext.injectServicesInto(this);
+            super(newWicketApplication(mmc));
             this.bookFactory = bookFactory;
-
         }
 
         public PageParameters createPageParameters(final Object entityOrVm) {
@@ -277,21 +261,16 @@ public DomainObjectPage startDomainObjectPage(final 
PageParameters pageParameter
 
     @RequiredArgsConstructor(access = AccessLevel.PRIVATE)
     public static class WicketTesterFactory {
-        private final MetaModelContext commonContext;
+        private final MetaModelContext mmc;
         public DomainObjectPageTester createTester(final Function<BookDto, 
IBook> bookFactory) {
-            return new DomainObjectPageTester(commonContext, bookFactory);
+            return new DomainObjectPageTester(mmc, bookFactory);
         }
     }
 
-    @Bean @Inject
-    public WicketTesterFactory wicketTesterFactory(final MetaModelContext 
commonContext) {
-        return new WicketTesterFactory(commonContext);
-    }
-
     // -- HELPER -- APPLICATION (WICKET)
 
-    private static WebApplication newWicketApplication(final MetaModelContext 
commonContext) {
-        var wicketApplication = new 
WicketApplication_forTesting(commonContext);
+    private static WebApplication newWicketApplication(final MetaModelContext 
mmc) {
+        var wicketApplication = new WicketApplication_forTesting(mmc);
         ThreadContext.setApplication(wicketApplication);
         return wicketApplication;
     }
@@ -344,6 +323,9 @@ protected void init() {
                 new ResourceAggregator(new 
JavaScriptFilteredIntoFooterHeaderResponse(response, "footerJS")));
             //XXX set to false for less strict testing
             getDebugSettings().setComponentUseCheck(false);
+            getDebugSettings()
+                       .setComponentPathAttributeName("wicket-tester-path")
+                       
.setOutputMarkupContainerClassNameStrategy(ClassOutputStrategy.HTML_COMMENT);
         }
 
         @Getter
diff --git 
a/regressiontests/viewers-common/src/test/java/org/apache/causeway/testdomain/viewers/common/wkt/InteractionTestWkt.java
 
b/regressiontests/viewers-common/src/test/java/org/apache/causeway/testdomain/viewers/common/wkt/InteractionTestWkt.java
index 74323ed9493..3e41cc331f4 100644
--- 
a/regressiontests/viewers-common/src/test/java/org/apache/causeway/testdomain/viewers/common/wkt/InteractionTestWkt.java
+++ 
b/regressiontests/viewers-common/src/test/java/org/apache/causeway/testdomain/viewers/common/wkt/InteractionTestWkt.java
@@ -19,6 +19,7 @@
 package org.apache.causeway.testdomain.viewers.common.wkt;
 
 import jakarta.inject.Inject;
+import jakarta.inject.Provider;
 
 import org.apache.wicket.request.cycle.RequestCycle;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
@@ -79,7 +80,7 @@
 @DirtiesContext(methodMode = MethodMode.BEFORE_METHOD, classMode = 
ClassMode.BEFORE_CLASS)
 class InteractionTestWkt extends InteractionTestAbstract {
 
-    @Inject private WicketTesterFactory wicketTesterFactory;
+    @Inject private Provider<WicketTesterFactory> wicketTesterFactoryProvider;
     private WicketTester wktTester;
 
     private ManagedObject domainObject;
@@ -92,7 +93,7 @@ class InteractionTestWkt extends InteractionTestAbstract {
     @BeforeEach
     void setUp() {
         wktTester = wktTesterHolder.computeIfAbsent(()->
-                wicketTesterFactory.createTester(dto->null));
+               wicketTesterFactoryProvider.get().createTester(dto->null));
         domainObject = newViewmodel(InteractionDemo.class);
         pageParameters = 
PageParameterUtils.createPageParametersForObject(domainObject);
     }

Reply via email to