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

ahuber pushed a commit to branch 3900-immutable.config
in repository https://gitbox.apache.org/repos/asf/causeway.git

commit 20b2604105eba90d56d80909eb994662c05a1ed2
Author: Andi Huber <[email protected]>
AuthorDate: Fri Aug 1 15:36:24 2025 +0200

    CAUSEWAY-3900: passing all tests except mm tests
---
 .../apache/causeway/applib/services/jaxb/JaxbService.java  |  3 +++
 .../core/metamodel/context/HasMetaModelContext.java        | 14 ++++++++++++++
 .../causeway/core/metamodel/context/MetaModelContext.java  |  8 +++++++-
 .../core/metamodel/context/MetaModelContextShortcuts.java  | 11 -----------
 .../core/mmtestsupport/MetaModelContext_forTesting.java    |  7 ++-----
 .../core/runtimeservices/jaxb/JaxbServiceDefault.java      |  4 ++--
 .../model/valuetypes/ValueTypeExampleService.java          |  9 +++------
 .../testdomain/value/PropertyInteractionProbeImpl.java     |  3 ++-
 8 files changed, 33 insertions(+), 26 deletions(-)

diff --git 
a/api/applib/src/main/java/org/apache/causeway/applib/services/jaxb/JaxbService.java
 
b/api/applib/src/main/java/org/apache/causeway/applib/services/jaxb/JaxbService.java
index 366253f22b2..15f6cb9749a 100644
--- 
a/api/applib/src/main/java/org/apache/causeway/applib/services/jaxb/JaxbService.java
+++ 
b/api/applib/src/main/java/org/apache/causeway/applib/services/jaxb/JaxbService.java
@@ -29,6 +29,8 @@
 import org.jspecify.annotations.NonNull;
 import org.jspecify.annotations.Nullable;
 
+import org.springframework.stereotype.Service;
+
 import org.apache.causeway.applib.domain.DomainObjectList;
 import org.apache.causeway.commons.functional.Try;
 import org.apache.causeway.commons.internal.base._NullSafe;
@@ -106,6 +108,7 @@ static JaxbService simple() {
         return new JaxbServiceInternal(JaxbServiceInternal.Config.simple());
     }
 
+    @Service
     record JaxbServiceInternal(
         Config config
         ) implements JaxbService {
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/context/HasMetaModelContext.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/context/HasMetaModelContext.java
index 50bacd0d606..d42f0b10084 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/context/HasMetaModelContext.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/context/HasMetaModelContext.java
@@ -18,6 +18,8 @@
  */
 package org.apache.causeway.core.metamodel.context;
 
+import java.util.stream.Stream;
+
 import org.apache.causeway.applib.services.factory.FactoryService;
 import org.apache.causeway.applib.services.i18n.TranslationService;
 import org.apache.causeway.applib.services.iactnlayer.InteractionService;
@@ -173,4 +175,16 @@ default CommandDtoFactory getCommandDtoFactory() {
         return getMetaModelContext().getCommandDtoFactory();
     }
 
+    // -- SERVICE SUPPORT
+
+    @Override
+    default Stream<ManagedObject> streamServiceAdapters() {
+        return getMetaModelContext().streamServiceAdapters();
+    }
+
+    @Override
+    default ManagedObject lookupServiceAdapterById(final String serviceId) {
+        return getMetaModelContext().lookupServiceAdapterById(serviceId);
+    }
+
 }
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/context/MetaModelContext.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/context/MetaModelContext.java
index 1ee8565bcdb..579a16452a2 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/context/MetaModelContext.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/context/MetaModelContext.java
@@ -19,6 +19,7 @@
 package org.apache.causeway.core.metamodel.context;
 
 import java.util.Optional;
+import java.util.stream.Stream;
 
 import org.jspecify.annotations.Nullable;
 
@@ -77,7 +78,7 @@ static TranslationService translationServiceOrFallback() {
             .orElseGet(TranslationService::identity);
     }
 
-    // -- SHORTCUTS
+    // -- DELEGATE
 
     @Override
     default MetaModelContext mmc() {
@@ -111,4 +112,9 @@ default MetaModelContext mmc() {
     InteractionService getInteractionService();
     CommandDtoFactory getCommandDtoFactory();
 
+    // -- SERVICE SUPPORT
+
+    Stream<ManagedObject> streamServiceAdapters();
+    ManagedObject lookupServiceAdapterById(final String serviceId);
+
 }
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/context/MetaModelContextShortcuts.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/context/MetaModelContextShortcuts.java
index e9aeb1c673e..e325b1b2c92 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/context/MetaModelContextShortcuts.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/context/MetaModelContextShortcuts.java
@@ -20,8 +20,6 @@
 
 import java.util.Optional;
 import java.util.function.Supplier;
-import java.util.stream.Stream;
-
 import org.jspecify.annotations.Nullable;
 
 import org.apache.causeway.applib.annotation.Programmatic;
@@ -32,7 +30,6 @@
 import org.apache.causeway.core.config.CausewayConfiguration.Viewer.Common;
 import org.apache.causeway.core.config.CausewayConfiguration.Viewer.Wicket;
 import 
org.apache.causeway.core.config.CausewayConfiguration.Viewer.Common.Application;
-import org.apache.causeway.core.metamodel.object.ManagedObject;
 import org.apache.causeway.core.metamodel.services.message.MessageBroker;
 import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
 
@@ -97,14 +94,6 @@ default AsciiIdentifierService getAsciiIdentifierService() {
         return 
mmc().getServiceRegistry().lookupService(AsciiIdentifierService.class).orElse(featureId
 -> featureId);
     }
 
-    default ManagedObject lookupServiceAdapterById(final String serviceId) {
-        return lookupServiceAdapterById(serviceId);
-    }
-
-    default Stream<ManagedObject> streamServiceAdapters() {
-        return streamServiceAdapters();
-    }
-
     // -- CONFIG SHORTCUTS
 
     default Common getCommonViewerSettings() {
diff --git 
a/core/mmtestsupport/src/main/java/org/apache/causeway/core/mmtestsupport/MetaModelContext_forTesting.java
 
b/core/mmtestsupport/src/main/java/org/apache/causeway/core/mmtestsupport/MetaModelContext_forTesting.java
index 9f95c613236..c8847be095b 100644
--- 
a/core/mmtestsupport/src/main/java/org/apache/causeway/core/mmtestsupport/MetaModelContext_forTesting.java
+++ 
b/core/mmtestsupport/src/main/java/org/apache/causeway/core/mmtestsupport/MetaModelContext_forTesting.java
@@ -598,10 +598,7 @@ public <T> MetaModelContext_forTesting 
withValueSemantics(final ValueSemanticsAb
         return this;
     }
 
-    @Override
-    public CommandDtoFactory getCommandDtoFactory() {
-        // TODO Auto-generated method stub
-        return null;
-    }
+    @Getter
+    private CommandDtoFactory commandDtoFactory;
 
 }
diff --git 
a/core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/jaxb/JaxbServiceDefault.java
 
b/core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/jaxb/JaxbServiceDefault.java
index 89d1011fb19..c0a8b26bc29 100644
--- 
a/core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/jaxb/JaxbServiceDefault.java
+++ 
b/core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/jaxb/JaxbServiceDefault.java
@@ -58,8 +58,8 @@ public record JaxbServiceDefault(
 
     @Autowired
     public JaxbServiceDefault(
-        ServiceInjector serviceInjector,
-        Provider<SpecificationLoader> specLoaderProvider) {
+            ServiceInjector serviceInjector,
+            Provider<SpecificationLoader> specLoaderProvider) {
         this(new JaxbService.JaxbServiceInternal(new 
JaxbService.JaxbServiceInternal.Config(
             marshaller->{
                 marshaller.setAdapter(PersistentEntityAdapter.class,
diff --git 
a/regressiontests/base/src/main/java/org/apache/causeway/testdomain/model/valuetypes/ValueTypeExampleService.java
 
b/regressiontests/base/src/main/java/org/apache/causeway/testdomain/model/valuetypes/ValueTypeExampleService.java
index bb03e3a51f4..251884adc36 100644
--- 
a/regressiontests/base/src/main/java/org/apache/causeway/testdomain/model/valuetypes/ValueTypeExampleService.java
+++ 
b/regressiontests/base/src/main/java/org/apache/causeway/testdomain/model/valuetypes/ValueTypeExampleService.java
@@ -23,8 +23,6 @@
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import jakarta.inject.Inject;
-
 import org.junit.jupiter.params.provider.Arguments;
 
 import org.springframework.stereotype.Service;
@@ -33,10 +31,9 @@
 import org.apache.causeway.commons.internal.base._Strings;
 
 @Service
-public class ValueTypeExampleService {
-
-    @Inject ValueSemanticsResolver valueSemanticsResolver;
-    @Inject List<ValueTypeExample<?>> examples;
+public record ValueTypeExampleService(
+    ValueSemanticsResolver valueSemanticsResolver,
+    List<ValueTypeExample<?>> examples) {
 
     public record Scenario(
             String name,
diff --git 
a/regressiontests/value/src/test/java/org/apache/causeway/testdomain/value/PropertyInteractionProbeImpl.java
 
b/regressiontests/value/src/test/java/org/apache/causeway/testdomain/value/PropertyInteractionProbeImpl.java
index f8d55cde842..a319df8157e 100644
--- 
a/regressiontests/value/src/test/java/org/apache/causeway/testdomain/value/PropertyInteractionProbeImpl.java
+++ 
b/regressiontests/value/src/test/java/org/apache/causeway/testdomain/value/PropertyInteractionProbeImpl.java
@@ -34,6 +34,7 @@
 
 import org.apache.causeway.applib.annotation.Where;
 import org.apache.causeway.applib.services.command.Command;
+import 
org.apache.causeway.applib.services.placeholder.PlaceholderRenderService.PlaceholderLiteral;
 import org.apache.causeway.applib.services.wrapper.WrapperFactory;
 import org.apache.causeway.applib.value.Password;
 import org.apache.causeway.applib.value.semantics.Parser;
@@ -180,7 +181,7 @@ public void testParser(
 
             if(valueType.equals(Password.class)) {
                 var recoveredValue = 
(Password)parser.parseTextRepresentation(context, stringified);
-                assertTrue(recoveredValue.checkPassword("(suppressed)"));
+                
assertTrue(recoveredValue.checkPassword(PlaceholderLiteral.SUPPRESSED.getLiteral()));
 
             } else {
 

Reply via email to