You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2020/01/16 21:43:37 UTC
[isis] 03/06: ISIS-2266: adds back in JodaXxx for fake data.
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
commit a076139789669a85c12809089a1d59c54759ef79
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Jan 16 22:04:28 2020 +0100
ISIS-2266: adds back in JodaXxx for fake data.
---
.../isis/applib/services/clock/ClockService.java | 6 +++
.../fakedata/applib/services/FakeDataService.java | 39 +++++++++++++++-----
.../fakedata/applib/services/J8DateTimes.java | 2 +-
.../fakedata/applib/services/J8LocalDates.java | 2 +-
.../fakedata/applib/services/JavaSqlDates.java | 2 +-
.../fakedata/applib/services/JavaUtilDates.java | 2 +-
.../fakedata/applib/services/JodaDateTimes.java | 36 ++++++++++++++++++
.../fakedata/applib/services/JodaLocalDates.java | 35 ++++++++++++++++++
.../fakedata/applib/services/JodaPeriods.java | 43 ++++++++++++++++++++++
.../applib/services/FakeDataServiceTest.java | 4 +-
...eDataDemoObjectWithAll_update_withFakeData.java | 4 +-
11 files changed, 158 insertions(+), 17 deletions(-)
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/clock/ClockService.java b/api/applib/src/main/java/org/apache/isis/applib/services/clock/ClockService.java
index 55db9b8..4efb886 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/clock/ClockService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/clock/ClockService.java
@@ -22,10 +22,12 @@ import java.sql.Timestamp;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.OffsetDateTime;
+import java.util.TimeZone;
import javax.inject.Named;
import org.joda.time.DateTime;
+import org.joda.time.DateTimeZone;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Primary;
import org.springframework.core.annotation.Order;
@@ -75,4 +77,8 @@ public class ClockService {
return Clock.getTimeAsJodaDateTime();
}
+ public org.joda.time.LocalDate nowAsJodaLocalDate() {
+ final DateTimeZone timeZone = DateTimeZone.forTimeZone(TimeZone.getDefault());
+ return new org.joda.time.LocalDate(nowAsMillis(), timeZone);
+ }
}
diff --git a/testing/fakedata/applib/src/main/java/org/apache/isis/testing/fakedata/applib/services/FakeDataService.java b/testing/fakedata/applib/src/main/java/org/apache/isis/testing/fakedata/applib/services/FakeDataService.java
index b349e1c..f7620ac 100644
--- a/testing/fakedata/applib/src/main/java/org/apache/isis/testing/fakedata/applib/services/FakeDataService.java
+++ b/testing/fakedata/applib/src/main/java/org/apache/isis/testing/fakedata/applib/services/FakeDataService.java
@@ -91,9 +91,14 @@ public class FakeDataService {
this.javaUtilDates = new JavaUtilDates(this);
this.javaSqlDates = new JavaSqlDates(this);
this.javaSqlTimestamps = new JavaSqlTimestamps(this);
- this.jodaDateTimes = new J8DateTimes(this);
- this.jodaLocalDates = new J8LocalDates(this);
- this.jodaPeriods = new J8Periods(this);
+
+ this.j8DateTimes = new J8DateTimes(this);
+ this.j8LocalDates = new J8LocalDates(this);
+ this.j8Periods = new J8Periods(this);
+
+ this.jodaDateTimes = new JodaDateTimes(this);
+ this.jodaLocalDates = new JodaLocalDates(this);
+ this.jodaPeriods = new JodaPeriods(this);
this.bigDecimals = new BigDecimals(this);
this.bigIntegers = new BigIntegers(this);
@@ -130,9 +135,13 @@ public class FakeDataService {
private JavaSqlDates javaSqlDates;
private JavaSqlTimestamps javaSqlTimestamps;
- private J8DateTimes jodaDateTimes;
- private J8LocalDates jodaLocalDates;
- private J8Periods jodaPeriods;
+ private J8DateTimes j8DateTimes;
+ private J8LocalDates j8LocalDates;
+ private J8Periods j8Periods;
+
+ private JodaDateTimes jodaDateTimes;
+ private JodaLocalDates jodaLocalDates;
+ private JodaPeriods jodaPeriods;
private BigDecimals bigDecimals;
private BigIntegers bigIntegers;
@@ -231,15 +240,27 @@ public class FakeDataService {
return javaSqlTimestamps;
}
- public J8LocalDates jodaLocalDates() {
+ public J8LocalDates j8LocalDates() {
+ return j8LocalDates;
+ }
+
+ public J8DateTimes j8DateTimes() {
+ return j8DateTimes;
+ }
+
+ public J8Periods j8Periods() {
+ return j8Periods;
+ }
+
+ public JodaLocalDates jodaLocalDates() {
return jodaLocalDates;
}
- public J8DateTimes jodaDateTimes() {
+ public JodaDateTimes jodaDateTimes() {
return jodaDateTimes;
}
- public J8Periods jodaPeriods() {
+ public JodaPeriods jodaPeriods() {
return jodaPeriods;
}
diff --git a/testing/fakedata/applib/src/main/java/org/apache/isis/testing/fakedata/applib/services/J8DateTimes.java b/testing/fakedata/applib/src/main/java/org/apache/isis/testing/fakedata/applib/services/J8DateTimes.java
index 4a031a2..9cb1ae8 100644
--- a/testing/fakedata/applib/src/main/java/org/apache/isis/testing/fakedata/applib/services/J8DateTimes.java
+++ b/testing/fakedata/applib/src/main/java/org/apache/isis/testing/fakedata/applib/services/J8DateTimes.java
@@ -30,7 +30,7 @@ public class J8DateTimes extends AbstractRandomValueGenerator {
@Programmatic
public OffsetDateTime any() {
- final Period upTo5Years = fake.jodaPeriods().yearsUpTo(5);
+ final Period upTo5Years = fake.j8Periods().yearsUpTo(5);
return around(upTo5Years);
}
}
diff --git a/testing/fakedata/applib/src/main/java/org/apache/isis/testing/fakedata/applib/services/J8LocalDates.java b/testing/fakedata/applib/src/main/java/org/apache/isis/testing/fakedata/applib/services/J8LocalDates.java
index f91b9ef..9848b45 100644
--- a/testing/fakedata/applib/src/main/java/org/apache/isis/testing/fakedata/applib/services/J8LocalDates.java
+++ b/testing/fakedata/applib/src/main/java/org/apache/isis/testing/fakedata/applib/services/J8LocalDates.java
@@ -30,7 +30,7 @@ public class J8LocalDates extends AbstractRandomValueGenerator {
@Programmatic
public LocalDate any() {
- final Period upTo5Years = fake.jodaPeriods().yearsUpTo(5);
+ final Period upTo5Years = fake.j8Periods().yearsUpTo(5);
return around(upTo5Years);
}
}
diff --git a/testing/fakedata/applib/src/main/java/org/apache/isis/testing/fakedata/applib/services/JavaSqlDates.java b/testing/fakedata/applib/src/main/java/org/apache/isis/testing/fakedata/applib/services/JavaSqlDates.java
index 9f7d1c6..cb24104 100644
--- a/testing/fakedata/applib/src/main/java/org/apache/isis/testing/fakedata/applib/services/JavaSqlDates.java
+++ b/testing/fakedata/applib/src/main/java/org/apache/isis/testing/fakedata/applib/services/JavaSqlDates.java
@@ -13,7 +13,7 @@ public class JavaSqlDates extends AbstractRandomValueGenerator {
@Programmatic
public java.sql.Date any() {
- final OffsetDateTime dateTime = fake.jodaDateTimes().any();
+ final OffsetDateTime dateTime = fake.j8DateTimes().any();
final Date sqldt = asSqlDate(dateTime);
return sqldt;
}
diff --git a/testing/fakedata/applib/src/main/java/org/apache/isis/testing/fakedata/applib/services/JavaUtilDates.java b/testing/fakedata/applib/src/main/java/org/apache/isis/testing/fakedata/applib/services/JavaUtilDates.java
index 32696a0..cca5a1a 100644
--- a/testing/fakedata/applib/src/main/java/org/apache/isis/testing/fakedata/applib/services/JavaUtilDates.java
+++ b/testing/fakedata/applib/src/main/java/org/apache/isis/testing/fakedata/applib/services/JavaUtilDates.java
@@ -14,7 +14,7 @@ public class JavaUtilDates extends AbstractRandomValueGenerator {
@Programmatic
public java.util.Date any() {
- final OffsetDateTime dateTime = fake.jodaDateTimes().any();
+ final OffsetDateTime dateTime = fake.j8DateTimes().any();
val epochMillis = dateTime.toInstant().toEpochMilli();
return new java.util.Date(epochMillis);
}
diff --git a/testing/fakedata/applib/src/main/java/org/apache/isis/testing/fakedata/applib/services/JodaDateTimes.java b/testing/fakedata/applib/src/main/java/org/apache/isis/testing/fakedata/applib/services/JodaDateTimes.java
new file mode 100644
index 0000000..09326bc
--- /dev/null
+++ b/testing/fakedata/applib/src/main/java/org/apache/isis/testing/fakedata/applib/services/JodaDateTimes.java
@@ -0,0 +1,36 @@
+package org.apache.isis.testing.fakedata.applib.services;
+
+import org.joda.time.DateTime;
+import org.joda.time.Period;
+import org.apache.isis.applib.annotation.Programmatic;
+
+public class JodaDateTimes extends AbstractRandomValueGenerator{
+
+ public JodaDateTimes(final FakeDataService fakeDataService) {
+ super(fakeDataService);
+ }
+
+ @Programmatic
+ public DateTime around(final Period period) {
+ final DateTime now = fake.clockService.nowAsJodaDateTime();
+ return fake.booleans().coinFlip() ? before(period) : after(period);
+ }
+
+ @Programmatic
+ public DateTime before(final Period period) {
+ final DateTime now = fake.clockService.nowAsJodaDateTime();
+ return now.minus(period);
+ }
+
+ @Programmatic
+ public DateTime after(final Period period) {
+ final DateTime now = fake.clockService.nowAsJodaDateTime();
+ return now.plus(period);
+ }
+
+ @Programmatic
+ public DateTime any() {
+ final Period upTo5Years = fake.jodaPeriods().yearsUpTo(5);
+ return around(upTo5Years);
+ }
+}
\ No newline at end of file
diff --git a/testing/fakedata/applib/src/main/java/org/apache/isis/testing/fakedata/applib/services/JodaLocalDates.java b/testing/fakedata/applib/src/main/java/org/apache/isis/testing/fakedata/applib/services/JodaLocalDates.java
new file mode 100644
index 0000000..55af76e
--- /dev/null
+++ b/testing/fakedata/applib/src/main/java/org/apache/isis/testing/fakedata/applib/services/JodaLocalDates.java
@@ -0,0 +1,35 @@
+package org.apache.isis.testing.fakedata.applib.services;
+
+import org.joda.time.LocalDate;
+import org.joda.time.Period;
+import org.apache.isis.applib.annotation.Programmatic;
+
+public class JodaLocalDates extends AbstractRandomValueGenerator{
+
+ public JodaLocalDates(final FakeDataService fakeDataService) {
+ super(fakeDataService);
+ }
+
+ @Programmatic
+ public LocalDate around(final Period period) {
+ return fake.booleans().coinFlip() ? before(period) : after(period);
+ }
+
+ @Programmatic
+ public org.joda.time.LocalDate before(final Period period) {
+ final org.joda.time.LocalDate now = fake.clockService.nowAsJodaLocalDate();
+ return now.minus(period);
+ }
+
+ @Programmatic
+ public org.joda.time.LocalDate after(final Period period) {
+ final org.joda.time.LocalDate now = fake.clockService.nowAsJodaLocalDate();
+ return now.plus(period);
+ }
+
+ @Programmatic
+ public LocalDate any() {
+ final org.joda.time.Period upTo5Years = fake.jodaPeriods().yearsUpTo(5);
+ return around(upTo5Years);
+ }
+}
\ No newline at end of file
diff --git a/testing/fakedata/applib/src/main/java/org/apache/isis/testing/fakedata/applib/services/JodaPeriods.java b/testing/fakedata/applib/src/main/java/org/apache/isis/testing/fakedata/applib/services/JodaPeriods.java
new file mode 100644
index 0000000..2b9d711
--- /dev/null
+++ b/testing/fakedata/applib/src/main/java/org/apache/isis/testing/fakedata/applib/services/JodaPeriods.java
@@ -0,0 +1,43 @@
+package org.apache.isis.testing.fakedata.applib.services;
+
+
+import org.joda.time.Period;
+import org.apache.isis.applib.annotation.Programmatic;
+
+public class JodaPeriods extends AbstractRandomValueGenerator{
+
+ public JodaPeriods(final FakeDataService fakeDataService) {
+ super(fakeDataService);
+ }
+
+ @Programmatic
+ public Period daysBetween(final int minDays, final int maxDays) {
+ return Period.days(fake.ints().between(minDays, maxDays));
+ }
+
+ @Programmatic
+ public Period daysUpTo(final int maxDays) {
+ return daysBetween(0, maxDays);
+ }
+
+ @Programmatic
+ public Period monthsBetween(final int minMonths, final int maxMonths) {
+ return Period.months(fake.ints().between(minMonths, maxMonths));
+ }
+
+ @Programmatic
+ public Period monthsUpTo(final int months) {
+ return monthsBetween(0, months);
+ }
+
+ @Programmatic
+ public Period yearsBetween(final int minYears, final int maxYears) {
+ return Period.years(fake.ints().between(minYears, maxYears));
+ }
+
+ @Programmatic
+ public Period yearsUpTo(final int years) {
+ return yearsBetween(0, years);
+ }
+
+}
\ No newline at end of file
diff --git a/testing/fakedata/applib/src/test/java/org/apache/isis/testing/fakedata/applib/services/FakeDataServiceTest.java b/testing/fakedata/applib/src/test/java/org/apache/isis/testing/fakedata/applib/services/FakeDataServiceTest.java
index 4942ee9..8b1d586 100644
--- a/testing/fakedata/applib/src/test/java/org/apache/isis/testing/fakedata/applib/services/FakeDataServiceTest.java
+++ b/testing/fakedata/applib/src/test/java/org/apache/isis/testing/fakedata/applib/services/FakeDataServiceTest.java
@@ -220,13 +220,13 @@ public class FakeDataServiceTest {
@Test
public void jodaDateTimes_any() throws Exception {
- final OffsetDateTime any = fakeDataService.jodaDateTimes().any();
+ final OffsetDateTime any = fakeDataService.j8DateTimes().any();
assertThat(any).isNotNull();
}
@Test
public void jodaLocalDates_any() throws Exception {
- final LocalDate any = fakeDataService.jodaLocalDates().any();
+ final LocalDate any = fakeDataService.j8LocalDates().any();
assertThat(any).isNotNull();
}
diff --git a/testing/fakedata/fixtures/src/main/java/org/apache/isis/testing/fakedata/fixtures/demoapp/demomodule/fixturescripts/data/FakeDataDemoObjectWithAll_update_withFakeData.java b/testing/fakedata/fixtures/src/main/java/org/apache/isis/testing/fakedata/fixtures/demoapp/demomodule/fixturescripts/data/FakeDataDemoObjectWithAll_update_withFakeData.java
index c58f5e4..41e47bf 100644
--- a/testing/fakedata/fixtures/src/main/java/org/apache/isis/testing/fakedata/fixtures/demoapp/demomodule/fixturescripts/data/FakeDataDemoObjectWithAll_update_withFakeData.java
+++ b/testing/fakedata/fixtures/src/main/java/org/apache/isis/testing/fakedata/fixtures/demoapp/demomodule/fixturescripts/data/FakeDataDemoObjectWithAll_update_withFakeData.java
@@ -127,8 +127,8 @@ public class FakeDataDemoObjectWithAll_update_withFakeData extends FixtureScript
this.defaultParam("someJavaUtilDate", executionContext, fakeDataService.javaUtilDates().any());
this.defaultParam("someJavaSqlDate", executionContext, fakeDataService.javaSqlDates().any());
- this.defaultParam("someJodaLocalDate", executionContext, fakeDataService.jodaLocalDates().any());
- this.defaultParam("someJodaDateTime", executionContext, fakeDataService.jodaDateTimes().any());
+ this.defaultParam("someJodaLocalDate", executionContext, fakeDataService.j8LocalDates().any());
+ this.defaultParam("someJodaDateTime", executionContext, fakeDataService.j8DateTimes().any());
this.defaultParam("someJavaSqlTimestamp", executionContext, fakeDataService.javaSqlTimestamps().any());
this.defaultParam("someBigDecimal", executionContext, fakeDataService.bigDecimals().any(14,4));