This is an automated email from the ASF dual-hosted git repository. danhaywood pushed a commit to branch CAUSEWAY-3803 in repository https://gitbox.apache.org/repos/asf/causeway.git
commit 4069eab2b22f2703aef0de57570e53454c49582c Author: Dan Haywood <[email protected]> AuthorDate: Wed Jul 10 13:24:31 2024 +0100 CAUSEWAY-3803: fixes unit tests --- .../valuesemantics/temporal/LocalDateTimeValueSemantics.java | 8 +++++++- .../valuesemantics/temporal/LocalDateValueSemantics.java | 9 ++++++++- .../temporal/TemporalValueSemanticsProvider.java | 11 +++++++++++ .../facets/value/BigDecimalValueSemanticsProviderTest.java | 1 - .../facets/value/JavaSqlDateValueSemanticsProviderTest.java | 2 +- .../facets/value/JavaTimeValueSemanticsProviderTest.java | 2 +- .../facets/value/ValueSemanticsProviderAbstractTestCase.java | 8 ++++++++ 7 files changed, 36 insertions(+), 5 deletions(-) diff --git a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/valuesemantics/temporal/LocalDateTimeValueSemantics.java b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/valuesemantics/temporal/LocalDateTimeValueSemantics.java index 995f146977..30ba34155e 100644 --- a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/valuesemantics/temporal/LocalDateTimeValueSemantics.java +++ b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/valuesemantics/temporal/LocalDateTimeValueSemantics.java @@ -24,6 +24,8 @@ import java.util.Optional; import javax.inject.Named; +import org.apache.causeway.core.metamodel.context.MetaModelContext; + import org.springframework.lang.Nullable; import org.springframework.stereotype.Component; @@ -53,10 +55,14 @@ implements OrderRelation<LocalDateTime, Duration> { } public LocalDateTimeValueSemantics() { + this(null); + } + + public LocalDateTimeValueSemantics(MetaModelContext metaModelContext) { super(TemporalCharacteristic.DATE_TIME, OffsetCharacteristic.LOCAL, TYPICAL_LENGTH, MAX_LENGTH, LocalDateTime::from, - TemporalAdjust::adjustLocalDateTime); + TemporalAdjust::adjustLocalDateTime, metaModelContext); } // -- TEMPORAL DECOMPOSITION diff --git a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/valuesemantics/temporal/LocalDateValueSemantics.java b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/valuesemantics/temporal/LocalDateValueSemantics.java index f2d8051159..114a96138d 100644 --- a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/valuesemantics/temporal/LocalDateValueSemantics.java +++ b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/valuesemantics/temporal/LocalDateValueSemantics.java @@ -24,6 +24,8 @@ import java.util.Optional; import javax.inject.Named; +import org.apache.causeway.core.metamodel.context.MetaModelContext; + import org.springframework.lang.Nullable; import org.springframework.stereotype.Component; @@ -53,10 +55,15 @@ implements OrderRelation<LocalDate, Duration> { } public LocalDateValueSemantics() { + this(null); + } + + public LocalDateValueSemantics(MetaModelContext metaModelContext) { super(TemporalCharacteristic.DATE_ONLY, OffsetCharacteristic.LOCAL, TYPICAL_LENGTH, MAX_LENGTH, LocalDate::from, - TemporalAdjust::adjustLocalDate); + TemporalAdjust::adjustLocalDate, + metaModelContext); } // -- TEMPORAL DECOMPOSITION diff --git a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/valuesemantics/temporal/TemporalValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/valuesemantics/temporal/TemporalValueSemanticsProvider.java index 90d54d2920..4faf16281d 100644 --- a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/valuesemantics/temporal/TemporalValueSemanticsProvider.java +++ b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/valuesemantics/temporal/TemporalValueSemanticsProvider.java @@ -86,6 +86,17 @@ implements TemporalValueSemantics<T> { protected final TemporalQuery<T> query; protected final BiFunction<TemporalAdjust, T, T> adjuster; + protected TemporalValueSemanticsProvider( + final TemporalCharacteristic temporalCharacteristic, + final OffsetCharacteristic offsetCharacteristic, + final int typicalLength, + final int maxLength, + final TemporalQuery<T> query, + final BiFunction<TemporalAdjust, T, T> adjuster, + final MetaModelContext mmc) { + this(temporalCharacteristic, offsetCharacteristic, typicalLength, maxLength, query, adjuster); + this.mmc = mmc; + } protected TemporalValueSemanticsProvider( final TemporalCharacteristic temporalCharacteristic, final OffsetCharacteristic offsetCharacteristic, diff --git a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/value/BigDecimalValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/value/BigDecimalValueSemanticsProviderTest.java index 1c7481ce6a..65ce3f3041 100644 --- a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/value/BigDecimalValueSemanticsProviderTest.java +++ b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/value/BigDecimalValueSemanticsProviderTest.java @@ -34,7 +34,6 @@ import org.apache.causeway.core.metamodel.valuesemantics.BigDecimalValueSemantic class BigDecimalValueSemanticsProviderTest extends ValueSemanticsProviderAbstractTestCase<BigDecimal> { - private final CausewayConfiguration causewayConfiguration = new CausewayConfiguration(null, null); private BigDecimalValueSemantics value; private BigDecimal bigDecimal; diff --git a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/value/JavaSqlDateValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/value/JavaSqlDateValueSemanticsProviderTest.java index 44f465a4c9..1339d2ce8b 100644 --- a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/value/JavaSqlDateValueSemanticsProviderTest.java +++ b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/value/JavaSqlDateValueSemanticsProviderTest.java @@ -48,7 +48,7 @@ extends ValueSemanticsProviderAbstractTestCase<Date> { date = new Date(0); ValueSemanticsAbstract<LocalDate> delegate = - new LocalDateValueSemantics(); + new LocalDateValueSemantics(metaModelContext); setSemantics(value = new JavaSqlDateValueSemantics() { diff --git a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/value/JavaTimeValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/value/JavaTimeValueSemanticsProviderTest.java index 3daefe383d..015e02d41c 100644 --- a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/value/JavaTimeValueSemanticsProviderTest.java +++ b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/value/JavaTimeValueSemanticsProviderTest.java @@ -124,7 +124,7 @@ extends ValueSemanticsProviderAbstractTestCase<java.util.Date> { private JavaUtilDateValueSemantics createValueSemantics(final TimePrecision timePrecision) { final ValueSemanticsAbstract<LocalDateTime> delegate = - new LocalDateTimeValueSemantics() { + new LocalDateTimeValueSemantics(metaModelContext) { @Override protected DateTimeFormatter getTemporalEditingFormat(final Context context, @NonNull final TemporalValueSemantics.TemporalCharacteristic temporalCharacteristic, @NonNull final TemporalValueSemantics.OffsetCharacteristic offsetCharacteristic, diff --git a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/value/ValueSemanticsProviderAbstractTestCase.java b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/value/ValueSemanticsProviderAbstractTestCase.java index eb5591dc62..0168f2362e 100644 --- a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/value/ValueSemanticsProviderAbstractTestCase.java +++ b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/value/ValueSemanticsProviderAbstractTestCase.java @@ -21,6 +21,8 @@ package org.apache.causeway.core.metamodel.facets.value; import java.util.Locale; import java.util.Optional; +import org.apache.causeway.core.config.CausewayConfiguration; + import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -49,12 +51,15 @@ import org.apache.causeway.core.metamodel.facets.object.value.ValueSerializerDef import org.apache.causeway.core.metamodel.object.ManagedObject; import org.apache.causeway.core.metamodel.valuesemantics.StringValueSemantics; +import org.springframework.boot.info.BuildProperties; + import lombok.Getter; abstract class ValueSemanticsProviderAbstractTestCase<T> { protected InteractionService mockInteractionService; protected ManagedObject mockAdapter; + protected CausewayConfiguration causewayConfiguration; protected MetaModelContext metaModelContext; @@ -68,9 +73,11 @@ abstract class ValueSemanticsProviderAbstractTestCase<T> { mockInteractionService = Mockito.mock(InteractionService.class); mockAdapter = Mockito.mock(ManagedObject.class); + causewayConfiguration = new CausewayConfiguration(null, Optional.empty()); metaModelContext = MetaModelContext_forTesting.builder() .interactionService(mockInteractionService) + .configuration(causewayConfiguration) .build(); } @@ -80,6 +87,7 @@ abstract class ValueSemanticsProviderAbstractTestCase<T> { protected void setSemantics(final ValueSemanticsAbstract<T> valueSemantics) { this.semantics = valueSemantics; + this.valueSerializer = ValueSerializerDefault .forSemantics(valueSemantics); }
