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 {
