You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2022/08/02 11:00:56 UTC
[isis] branch master updated: ISIS-3105: consolidate temporal samplers for testing
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/master by this push:
new 84b195fa98 ISIS-3105: consolidate temporal samplers for testing
84b195fa98 is described below
commit 84b195fa982d179d36576644f9bab9ff1aee3bd4
Author: Andi Huber <ah...@apache.org>
AuthorDate: Tue Aug 2 13:00:50 2022 +0200
ISIS-3105: consolidate temporal samplers for testing
---
.../isis/commons/internal/base/_Temporals.java | 58 ++++++++++++++++++++++
.../isis/commons/internal/base/TemporalsTest.java | 6 +--
.../temporal/LocalDateTimeValueSemantics.java | 5 +-
.../temporal/LocalDateValueSemantics.java | 5 +-
.../temporal/LocalTimeValueSemantics.java | 5 +-
.../temporal/OffsetDateTimeValueSemantics.java | 13 +----
.../temporal/OffsetTimeValueSemantics.java | 13 +----
.../temporal/ZonedDateTimeValueSemantics.java | 13 +----
.../model/valuetypes/ValueTypeExample.java | 23 +++++----
9 files changed, 85 insertions(+), 56 deletions(-)
diff --git a/commons/src/main/java/org/apache/isis/commons/internal/base/_Temporals.java b/commons/src/main/java/org/apache/isis/commons/internal/base/_Temporals.java
index 39a0665e40..b01eb36444 100644
--- a/commons/src/main/java/org/apache/isis/commons/internal/base/_Temporals.java
+++ b/commons/src/main/java/org/apache/isis/commons/internal/base/_Temporals.java
@@ -21,14 +21,22 @@ package org.apache.isis.commons.internal.base;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.sql.Timestamp;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
import java.time.OffsetDateTime;
import java.time.OffsetTime;
+import java.time.ZoneId;
+import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Optional;
import org.springframework.lang.Nullable;
+import org.apache.isis.commons.collections.Can;
+
+import lombok.val;
import lombok.experimental.UtilityClass;
/**
@@ -157,6 +165,56 @@ public final class _Temporals {
: null;
}
+ // -- TEMPORAL SAMPLERS
+
+ public static Can<LocalDateTime> sampleLocalDateTime() {
+ return Can.of(
+ LocalDateTime.now(),
+ LocalDateTime.now().plusDays(2).plusSeconds(15));
+ }
+
+ public static Can<LocalDate> sampleLocalDate() {
+ return Can.of(
+ LocalDate.now(),
+ LocalDate.now().plusDays(2));
+ }
+
+ public static Can<LocalTime> sampleLocalTime() {
+ return Can.of(
+ LocalTime.now(),
+ LocalTime.now().plusSeconds(15));
+ }
+
+ public Can<ZonedDateTime> sampleZonedDateTime() {
+ // don't depend on current TimeZone.getDefault(),
+ // instead use an arbitrary mix of fixed time-zone offsets Z, +02:00 and -02:00
+ val localNow = LocalDateTime.now();
+ return Can.of(
+ ZonedDateTime.of(localNow, ZoneId.of("Europe/Paris")),
+ ZonedDateTime.of(localNow, ZoneOffset.UTC),
+ ZonedDateTime.of(localNow, ZoneOffset.ofHours(2)),
+ ZonedDateTime.of(localNow, ZoneOffset.ofHours(-2)).plusDays(2).plusSeconds(15));
+ }
+
+ public Can<OffsetTime> sampleOffsetTime() {
+ // don't depend on current TimeZone.getDefault(),
+ // instead use an arbitrary mix of fixed time-zone offsets Z, +02:00 and -02:00
+ val localNow = LocalTime.now();
+ return Can.of(
+ OffsetTime.of(localNow, ZoneOffset.UTC),
+ OffsetTime.of(localNow, ZoneOffset.ofHours(2)),
+ OffsetTime.of(localNow, ZoneOffset.ofHours(-2)).plusSeconds(15));
+ }
+
+ public Can<OffsetDateTime> sampleOffsetDateTime() {
+ // don't depend on current TimeZone.getDefault(),
+ // instead use an arbitrary mix of fixed time-zone offsets Z, +02:00 and -02:00
+ val localNow = LocalDateTime.now();
+ return Can.of(
+ OffsetDateTime.of(localNow, ZoneOffset.UTC),
+ OffsetDateTime.of(localNow, ZoneOffset.ofHours(2)),
+ OffsetDateTime.of(localNow, ZoneOffset.ofHours(-2)).plusDays(2).plusSeconds(15));
+ }
// -- HELPER
diff --git a/commons/src/test/java/org/apache/isis/commons/internal/base/TemporalsTest.java b/commons/src/test/java/org/apache/isis/commons/internal/base/TemporalsTest.java
index 600aeaa914..3722cddb15 100644
--- a/commons/src/test/java/org/apache/isis/commons/internal/base/TemporalsTest.java
+++ b/commons/src/test/java/org/apache/isis/commons/internal/base/TemporalsTest.java
@@ -55,15 +55,15 @@ class TemporalsTest {
// -- HELPER
private static LocalDate sampleDate() {
- return LocalDate.of(2022, 8, 2);
+ return _Temporals.sampleLocalDate().getElseFail(0);
}
private static LocalTime sampleTime() {
- return LocalTime.of(2, 3, 4, 5);
+ return _Temporals.sampleLocalTime().getElseFail(0);
}
private static ZoneOffset sampleOffset() {
- return ZoneOffset.ofHoursMinutes(6, 7);
+ return ZoneOffset.ofHoursMinutes(6, 15);
}
private static ZoneId sampleZone() {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/temporal/LocalDateTimeValueSemantics.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/temporal/LocalDateTimeValueSemantics.java
index 7ae71c45d9..06f854f932 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/temporal/LocalDateTimeValueSemantics.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/temporal/LocalDateTimeValueSemantics.java
@@ -27,6 +27,7 @@ import org.springframework.stereotype.Component;
import org.apache.isis.applib.value.semantics.OrderRelation;
import org.apache.isis.commons.collections.Can;
+import org.apache.isis.commons.internal.base._Temporals;
import org.apache.isis.schema.common.v2.ValueType;
@Component
@@ -65,9 +66,7 @@ implements OrderRelation<LocalDateTime, Duration> {
@Override
public Can<LocalDateTime> getExamples() {
- return Can.of(
- LocalDateTime.now(),
- LocalDateTime.now().plusDays(2).plusSeconds(15));
+ return _Temporals.sampleLocalDateTime();
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/temporal/LocalDateValueSemantics.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/temporal/LocalDateValueSemantics.java
index 1a2ca76802..f23384b640 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/temporal/LocalDateValueSemantics.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/temporal/LocalDateValueSemantics.java
@@ -27,6 +27,7 @@ import org.springframework.stereotype.Component;
import org.apache.isis.applib.value.semantics.OrderRelation;
import org.apache.isis.commons.collections.Can;
+import org.apache.isis.commons.internal.base._Temporals;
import org.apache.isis.schema.common.v2.ValueType;
@Component
@@ -65,9 +66,7 @@ implements OrderRelation<LocalDate, Duration> {
@Override
public Can<LocalDate> getExamples() {
- return Can.of(
- LocalDate.now(),
- LocalDate.now().plusDays(2));
+ return _Temporals.sampleLocalDate();
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/temporal/LocalTimeValueSemantics.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/temporal/LocalTimeValueSemantics.java
index f5dfd9c165..5cbbab25aa 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/temporal/LocalTimeValueSemantics.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/temporal/LocalTimeValueSemantics.java
@@ -26,6 +26,7 @@ import javax.inject.Named;
import org.springframework.stereotype.Component;
import org.apache.isis.commons.collections.Can;
+import org.apache.isis.commons.internal.base._Temporals;
import org.apache.isis.schema.common.v2.ValueType;
@Component
@@ -63,9 +64,7 @@ extends TemporalValueSemanticsProvider<LocalTime> {
@Override
public Can<LocalTime> getExamples() {
- return Can.of(
- LocalTime.now(),
- LocalTime.now().plusSeconds(15));
+ return _Temporals.sampleLocalTime();
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/temporal/OffsetDateTimeValueSemantics.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/temporal/OffsetDateTimeValueSemantics.java
index 1ae6929f0f..0a4db54ea8 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/temporal/OffsetDateTimeValueSemantics.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/temporal/OffsetDateTimeValueSemantics.java
@@ -19,19 +19,16 @@
package org.apache.isis.core.metamodel.valuesemantics.temporal;
import java.time.Duration;
-import java.time.LocalDateTime;
import java.time.OffsetDateTime;
-import java.time.ZoneOffset;
import javax.inject.Named;
import org.springframework.stereotype.Component;
import org.apache.isis.commons.collections.Can;
+import org.apache.isis.commons.internal.base._Temporals;
import org.apache.isis.schema.common.v2.ValueType;
-import lombok.val;
-
@Component
@Named("isis.val.OffsetDateTimeValueSemantics")
//@Log4j2
@@ -67,13 +64,7 @@ extends TemporalValueSemanticsProvider<OffsetDateTime> {
@Override
public Can<OffsetDateTime> getExamples() {
- // don't depend on current TimeZone.getDefault(),
- // instead use an arbitrary mix of fixed time-zone offsets Z, +02:00 and -02:00
- val localNow = LocalDateTime.now();
- return Can.of(
- OffsetDateTime.of(localNow, ZoneOffset.UTC),
- OffsetDateTime.of(localNow, ZoneOffset.ofHours(2)),
- OffsetDateTime.of(localNow, ZoneOffset.ofHours(-2)).plusDays(2).plusSeconds(15));
+ return _Temporals.sampleOffsetDateTime();
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/temporal/OffsetTimeValueSemantics.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/temporal/OffsetTimeValueSemantics.java
index 799f879e6b..b7ffa702bf 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/temporal/OffsetTimeValueSemantics.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/temporal/OffsetTimeValueSemantics.java
@@ -19,19 +19,16 @@
package org.apache.isis.core.metamodel.valuesemantics.temporal;
import java.time.Duration;
-import java.time.LocalTime;
import java.time.OffsetTime;
-import java.time.ZoneOffset;
import javax.inject.Named;
import org.springframework.stereotype.Component;
import org.apache.isis.commons.collections.Can;
+import org.apache.isis.commons.internal.base._Temporals;
import org.apache.isis.schema.common.v2.ValueType;
-import lombok.val;
-
@Component
@Named("isis.val.OffsetTimeValueSemantics")
//@Log4j2
@@ -67,13 +64,7 @@ extends TemporalValueSemanticsProvider<OffsetTime> {
@Override
public Can<OffsetTime> getExamples() {
- // don't depend on current TimeZone.getDefault(),
- // instead use an arbitrary mix of fixed time-zone offsets Z, +02:00 and -02:00
- val localNow = LocalTime.now();
- return Can.of(
- OffsetTime.of(localNow, ZoneOffset.UTC),
- OffsetTime.of(localNow, ZoneOffset.ofHours(2)),
- OffsetTime.of(localNow, ZoneOffset.ofHours(-2)).plusSeconds(15));
+ return _Temporals.sampleOffsetTime();
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/temporal/ZonedDateTimeValueSemantics.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/temporal/ZonedDateTimeValueSemantics.java
index 832d0d9ba9..d3bb52e652 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/temporal/ZonedDateTimeValueSemantics.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/temporal/ZonedDateTimeValueSemantics.java
@@ -19,8 +19,6 @@
package org.apache.isis.core.metamodel.valuesemantics.temporal;
import java.time.Duration;
-import java.time.LocalDateTime;
-import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import javax.inject.Named;
@@ -28,10 +26,9 @@ import javax.inject.Named;
import org.springframework.stereotype.Component;
import org.apache.isis.commons.collections.Can;
+import org.apache.isis.commons.internal.base._Temporals;
import org.apache.isis.schema.common.v2.ValueType;
-import lombok.val;
-
@Component
@Named("isis.val.ZonedDateTimeValueSemantics")
//@Log4j2
@@ -67,13 +64,7 @@ extends TemporalValueSemanticsProvider<ZonedDateTime> {
@Override
public Can<ZonedDateTime> getExamples() {
- // don't depend on current TimeZone.getDefault(),
- // instead use an arbitrary mix of fixed time-zone offsets Z, +02:00 and -02:00
- val localNow = LocalDateTime.now();
- return Can.of(
- ZonedDateTime.of(localNow, ZoneOffset.UTC),
- ZonedDateTime.of(localNow, ZoneOffset.ofHours(2)),
- ZonedDateTime.of(localNow, ZoneOffset.ofHours(-2)).plusDays(2).plusSeconds(15));
+ return _Temporals.sampleZonedDateTime();
}
}
diff --git a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/valuetypes/ValueTypeExample.java b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/valuetypes/ValueTypeExample.java
index 12c79d17b3..ae516979d1 100644
--- a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/valuetypes/ValueTypeExample.java
+++ b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/valuetypes/ValueTypeExample.java
@@ -58,6 +58,7 @@ import org.apache.isis.applib.value.NamedWithMimeType.CommonMimeType;
import org.apache.isis.applib.value.Password;
import org.apache.isis.applib.value.semantics.ValueSemanticsAbstract;
import org.apache.isis.commons.collections.Can;
+import org.apache.isis.commons.internal.base._Temporals;
import org.apache.isis.core.metamodel.valuesemantics.ApplicationFeatureIdValueSemantics;
import org.apache.isis.extensions.fullcalendar.applib.value.CalendarEvent;
import org.apache.isis.extensions.fullcalendar.applib.value.CalendarEventSemantics;
@@ -399,9 +400,9 @@ public abstract class ValueTypeExample<T> {
public static class ValueTypeExampleLocalDate
extends ValueTypeExample<LocalDate> {
@Property @Getter @Setter
- private LocalDate value = LocalDate.now();
+ private LocalDate value = _Temporals.sampleLocalDate().getElseFail(0);
@Getter
- private LocalDate updateValue = LocalDate.now().plusDays(2);
+ private LocalDate updateValue = getValue().plusDays(2);
}
@Named("isis.testdomain.valuetypes.ValueTypeExampleLocalDateTime")
@@ -410,9 +411,9 @@ public abstract class ValueTypeExample<T> {
public static class ValueTypeExampleLocalDateTime
extends ValueTypeExample<LocalDateTime> {
@Property @Getter @Setter
- private LocalDateTime value = LocalDateTime.now();
+ private LocalDateTime value = _Temporals.sampleLocalDateTime().getElseFail(0);
@Getter
- private LocalDateTime updateValue = LocalDateTime.now().plusDays(2).plusSeconds(15);
+ private LocalDateTime updateValue = getValue().plusDays(2).plusSeconds(15);
}
@Named("isis.testdomain.valuetypes.ValueTypeExampleLocalTime")
@@ -422,9 +423,9 @@ public abstract class ValueTypeExample<T> {
public static class ValueTypeExampleLocalTime
extends ValueTypeExample<LocalTime> {
@Property @Getter @Setter
- private LocalTime value = LocalTime.now();
+ private LocalTime value = _Temporals.sampleLocalTime().getElseFail(0);
@Getter
- private LocalTime updateValue = LocalTime.now().plusSeconds(15);
+ private LocalTime updateValue = getValue().plusSeconds(15);
}
@Named("isis.testdomain.valuetypes.ValueTypeExampleOffsetDateTime")
@@ -433,9 +434,9 @@ public abstract class ValueTypeExample<T> {
public static class ValueTypeExampleOffsetDateTime
extends ValueTypeExample<OffsetDateTime> {
@Property @Getter @Setter
- private OffsetDateTime value = OffsetDateTime.now();
+ private OffsetDateTime value = _Temporals.sampleOffsetDateTime().getElseFail(0);
@Getter
- private OffsetDateTime updateValue = OffsetDateTime.now().plusDays(2).plusSeconds(15);
+ private OffsetDateTime updateValue = getValue().plusDays(2).plusSeconds(15);
}
@Named("isis.testdomain.valuetypes.ValueTypeExampleOffsetTime")
@@ -444,7 +445,7 @@ public abstract class ValueTypeExample<T> {
public static class ValueTypeExampleOffsetTime
extends ValueTypeExample<OffsetTime> {
@Property @Getter @Setter
- private OffsetTime value = OffsetTime.now();
+ private OffsetTime value = _Temporals.sampleOffsetTime().getElseFail(0);
@Getter
private OffsetTime updateValue = OffsetTime.now().plusSeconds(15);
}
@@ -455,9 +456,9 @@ public abstract class ValueTypeExample<T> {
public static class ValueTypeExampleZonedDateTime
extends ValueTypeExample<ZonedDateTime> {
@Property @Getter @Setter
- private ZonedDateTime value = ZonedDateTime.now();
+ private ZonedDateTime value = _Temporals.sampleZonedDateTime().getElseFail(0);
@Getter
- private ZonedDateTime updateValue = ZonedDateTime.now().plusDays(2).plusSeconds(15);
+ private ZonedDateTime updateValue = getValue().plusDays(2).plusSeconds(15);
}
// -- EXAMPLES - TEMPORAL - JODA TIME