This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch CAUSEWAY-3676
in repository https://gitbox.apache.org/repos/asf/causeway.git
The following commit(s) were added to refs/heads/CAUSEWAY-3676 by this push:
new 80b970a160 CAUSEWAY-3676: adds scalar support for jdk and joda dates
and times
80b970a160 is described below
commit 80b970a1600c8615c55bb53340e5339072b68a48
Author: danhaywood <[email protected]>
AuthorDate: Sun Feb 18 14:25:59 2024 +0000
CAUSEWAY-3676: adds scalar support for jdk and joda dates and times
---
.../core/config/CausewayConfiguration.java | 6 +-
.../marshallers/ScalarMarshallerBigDecimal.java | 1 +
.../marshallers/ScalarMarshallerBigInteger.java | 1 +
.../marshallers/ScalarMarshallerBytePrimitive.java | 3 +-
.../marshallers/ScalarMarshallerByteWrapper.java | 3 +-
.../ScalarMarshallerCharacterWrapper.java | 3 +-
...ate.java => ScalarMarshallerJdk8LocalTime.java} | 20 +-
...ava => ScalarMarshallerJdk8OffsetDateTime.java} | 18 +-
...te.java => ScalarMarshallerJdk8OffsetTime.java} | 18 +-
.../marshallers/ScalarMarshallerJodaLocalDate.java | 6 +-
...ate.java => ScalarMarshallerJodaLocalTime.java} | 19 +-
...erBigDecimal.java => ScalarMarshallerUuid.java} | 17 +-
.../viewer/test/domain/calc/Calculator.java | 52 ++-
...alculator_IntegTest.each.add_big_decimals._.gql | 4 +-
...r_IntegTest.each.add_big_decimals.approved.json | 4 +-
...ator_IntegTest.each.jdk8_local_plus_days._.gql} | 2 +-
...egTest.each.jdk8_local_plus_days.approved.json} | 2 +-
...st.each.jdk8_local_plus_hours_and_minutes._.gql | 7 +
...jdk8_local_plus_hours_and_minutes.approved.json | 9 +
...k8_offset_plus_days_and_hours_and_minutes._.gql | 7 +
...t_plus_days_and_hours_and_minutes.approved.json | 9 +
...t.each.jdk8_offset_plus_hours_and_minutes._.gql | 7 +
...dk8_offset_plus_hours_and_minutes.approved.json | 9 +
...dk8_zoned_plus_days_and_hours_and_minutes._.gql | 7 +
...d_plus_days_and_hours_and_minutes.approved.json | 9 +
...ator_IntegTest.each.joda_local_plus_days._.gql} | 2 +-
...egTest.each.joda_local_plus_days.approved.json} | 2 +-
...st.each.joda_local_plus_hours_and_minutes._.gql | 7 +
...joda_local_plus_hours_and_minutes.approved.json | 9 +
...Calculator_IntegTest.each.joda_plus_days._.gql} | 2 +-
...or_IntegTest.each.joda_plus_days.approved.json} | 2 +-
.../Calculator_IntegTest.each.some_locale._.gql | 7 +
...lator_IntegTest.each.some_locale.approved.json} | 4 +-
.../e2e/Calculator_IntegTest.each.some_url._.gql | 7 +
...lculator_IntegTest.each.some_url.approved.json} | 4 +-
.../e2e/Calculator_IntegTest.each.some_uuid._.gql | 7 +
...lculator_IntegTest.each.some_uuid.approved.json | 9 +
viewers/graphql/test/src/test/resources/schema.gql | 369 ++++++++++++++++-----
38 files changed, 520 insertions(+), 154 deletions(-)
diff --git
a/core/config/src/main/java/org/apache/causeway/core/config/CausewayConfiguration.java
b/core/config/src/main/java/org/apache/causeway/core/config/CausewayConfiguration.java
index 36ef5f5891..036f2bac03 100644
---
a/core/config/src/main/java/org/apache/causeway/core/config/CausewayConfiguration.java
+++
b/core/config/src/main/java/org/apache/causeway/core/config/CausewayConfiguration.java
@@ -2419,6 +2419,10 @@ public class CausewayConfiguration {
@Data
public static class ScalarMarshaller {
+ /**
+ * For both JDK8's {@link java.time.LocalTime} and JodaTime's
{@link org.joda.time.LocalTime}
+ */
+ private String localTimeFormat = "HH:mm:ss";
/**
* For both JDK8's {@link java.time.LocalDate} and JodaTime's
{@link org.joda.time.LocalDate}
*/
@@ -2426,7 +2430,7 @@ public class CausewayConfiguration {
/**
* for JDK8's {@link java.time.ZonedDateTime} and JodaTime's
{@link org.joda.time.DateTime}
*/
- private String zonedDateTimeFormat = "yyyy-MM-dd HH:mm:ss z";
+ private String zonedDateTimeFormat =
"yyyy-MM-dd'T'HH:mm:ssXXX";
}
@Getter
diff --git
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerBigDecimal.java
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerBigDecimal.java
index 515a3f905a..de87001b9c 100644
---
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerBigDecimal.java
+++
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerBigDecimal.java
@@ -24,6 +24,7 @@ import javax.annotation.Priority;
import javax.inject.Inject;
import graphql.Scalars;
+import graphql.scalars.ExtendedScalars;
import org.springframework.stereotype.Component;
diff --git
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerBigInteger.java
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerBigInteger.java
index 4e14d0723a..247d7311ce 100644
---
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerBigInteger.java
+++
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerBigInteger.java
@@ -24,6 +24,7 @@ import javax.annotation.Priority;
import javax.inject.Inject;
import graphql.Scalars;
+import graphql.scalars.ExtendedScalars;
import org.springframework.stereotype.Component;
diff --git
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerBytePrimitive.java
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerBytePrimitive.java
index b7b198c6c1..68428a1ec1 100644
---
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerBytePrimitive.java
+++
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerBytePrimitive.java
@@ -22,6 +22,7 @@ import javax.annotation.Priority;
import javax.inject.Inject;
import graphql.Scalars;
+import graphql.scalars.ExtendedScalars;
import org.springframework.stereotype.Component;
@@ -36,7 +37,7 @@ public class ScalarMarshallerBytePrimitive extends
ScalarMarshallerAbstract<Byte
@Inject
public ScalarMarshallerBytePrimitive(final CausewayConfiguration
causewayConfiguration) {
- super(byte.class, Scalars.GraphQLInt, causewayConfiguration);
+ super(byte.class, ExtendedScalars.GraphQLByte, causewayConfiguration);
}
@Override
diff --git
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerByteWrapper.java
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerByteWrapper.java
index 18016d6223..0177c48716 100644
---
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerByteWrapper.java
+++
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerByteWrapper.java
@@ -22,6 +22,7 @@ import javax.annotation.Priority;
import javax.inject.Inject;
import graphql.Scalars;
+import graphql.scalars.ExtendedScalars;
import org.springframework.stereotype.Component;
@@ -36,7 +37,7 @@ public class ScalarMarshallerByteWrapper extends
ScalarMarshallerAbstract<Byte>
@Inject
public ScalarMarshallerByteWrapper(final CausewayConfiguration
causewayConfiguration) {
- super(Byte.class, Scalars.GraphQLInt, causewayConfiguration);
+ super(Byte.class, ExtendedScalars.GraphQLByte, causewayConfiguration);
}
@Override
diff --git
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerCharacterWrapper.java
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerCharacterWrapper.java
index e8c96f79f2..5509bd3ba5 100644
---
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerCharacterWrapper.java
+++
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerCharacterWrapper.java
@@ -22,6 +22,7 @@ import javax.annotation.Priority;
import javax.inject.Inject;
import graphql.Scalars;
+import graphql.scalars.ExtendedScalars;
import org.springframework.stereotype.Component;
@@ -36,7 +37,7 @@ public class ScalarMarshallerCharacterWrapper extends
ScalarMarshallerAbstract<C
@Inject
public ScalarMarshallerCharacterWrapper(final CausewayConfiguration
causewayConfiguration) {
- super(Character.class, Scalars.GraphQLString, causewayConfiguration);
+ super(Character.class, ExtendedScalars.GraphQLChar,
causewayConfiguration);
}
@Override
diff --git
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerJodaLocalDate.java
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerJdk8LocalTime.java
similarity index 71%
copy from
viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerJodaLocalDate.java
copy to
viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerJdk8LocalTime.java
index 06739664e6..fd6360a04d 100644
---
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerJodaLocalDate.java
+++
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerJdk8LocalTime.java
@@ -18,12 +18,18 @@
*/
package org.apache.causeway.viewer.graphql.model.marshallers;
+import java.time.LocalDate;
+import java.time.LocalTime;
+import java.time.OffsetTime;
+import java.time.format.DateTimeFormatter;
+
import javax.annotation.Priority;
import javax.inject.Inject;
import graphql.Scalars;
+import graphql.scalars.ExtendedScalars;
-import org.joda.time.LocalDate;
+import org.joda.time.LocalDateTime;
import org.springframework.stereotype.Component;
@@ -34,19 +40,19 @@ import
org.apache.causeway.viewer.graphql.applib.marshallers.ScalarMarshallerAbs
@Component
@Priority(PriorityPrecedence.LATE)
-public class ScalarMarshallerJodaLocalDate extends
ScalarMarshallerAbstract<LocalDate> {
+public class ScalarMarshallerJdk8LocalTime extends
ScalarMarshallerAbstract<LocalTime> {
private final CausewayConfiguration.Viewer.Graphql.ScalarMarshaller
scalarMarshallerConfig;
@Inject
- public ScalarMarshallerJodaLocalDate(final CausewayConfiguration
causewayConfiguration) {
- super(LocalDate.class, Scalars.GraphQLString, causewayConfiguration);
+ public ScalarMarshallerJdk8LocalTime(final CausewayConfiguration
causewayConfiguration) {
+ super(LocalTime.class, Scalars.GraphQLString, causewayConfiguration);
scalarMarshallerConfig =
causewayConfiguration.getViewer().getGraphql().getScalarMarshaller();
}
@Override
- public LocalDate unmarshal(Object graphValue, Class<?> targetType) {
- String argumentStr = (String) graphValue;
- return LocalDate.parse(argumentStr,
org.joda.time.format.DateTimeFormat.forPattern(scalarMarshallerConfig.getLocalDateFormat()));
+ public LocalTime unmarshal(Object graphValue, Class<?> targetType) {
+ String str = (String) graphValue;
+ return LocalTime.parse(str,
DateTimeFormatter.ofPattern(scalarMarshallerConfig.getLocalTimeFormat()));
}
}
diff --git
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerJodaLocalDate.java
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerJdk8OffsetDateTime.java
similarity index 73%
copy from
viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerJodaLocalDate.java
copy to
viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerJdk8OffsetDateTime.java
index 06739664e6..7235f4d26d 100644
---
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerJodaLocalDate.java
+++
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerJdk8OffsetDateTime.java
@@ -18,12 +18,15 @@
*/
package org.apache.causeway.viewer.graphql.model.marshallers;
+import java.time.OffsetDateTime;
+import java.time.ZonedDateTime;
+import java.time.format.DateTimeFormatter;
+
import javax.annotation.Priority;
import javax.inject.Inject;
import graphql.Scalars;
-
-import org.joda.time.LocalDate;
+import graphql.scalars.ExtendedScalars;
import org.springframework.stereotype.Component;
@@ -34,19 +37,18 @@ import
org.apache.causeway.viewer.graphql.applib.marshallers.ScalarMarshallerAbs
@Component
@Priority(PriorityPrecedence.LATE)
-public class ScalarMarshallerJodaLocalDate extends
ScalarMarshallerAbstract<LocalDate> {
+public class ScalarMarshallerJdk8OffsetDateTime extends
ScalarMarshallerAbstract<OffsetDateTime> {
private final CausewayConfiguration.Viewer.Graphql.ScalarMarshaller
scalarMarshallerConfig;
@Inject
- public ScalarMarshallerJodaLocalDate(final CausewayConfiguration
causewayConfiguration) {
- super(LocalDate.class, Scalars.GraphQLString, causewayConfiguration);
+ public ScalarMarshallerJdk8OffsetDateTime(final CausewayConfiguration
causewayConfiguration) {
+ super(OffsetDateTime.class, ExtendedScalars.DateTime,
causewayConfiguration);
scalarMarshallerConfig =
causewayConfiguration.getViewer().getGraphql().getScalarMarshaller();
}
@Override
- public LocalDate unmarshal(Object graphValue, Class<?> targetType) {
- String argumentStr = (String) graphValue;
- return LocalDate.parse(argumentStr,
org.joda.time.format.DateTimeFormat.forPattern(scalarMarshallerConfig.getLocalDateFormat()));
+ public OffsetDateTime unmarshal(Object graphValue, Class<?> targetType) {
+ return (OffsetDateTime) graphValue;
}
}
diff --git
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerJodaLocalDate.java
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerJdk8OffsetTime.java
similarity index 72%
copy from
viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerJodaLocalDate.java
copy to
viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerJdk8OffsetTime.java
index 06739664e6..dbb2d2b92e 100644
---
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerJodaLocalDate.java
+++
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerJdk8OffsetTime.java
@@ -18,12 +18,13 @@
*/
package org.apache.causeway.viewer.graphql.model.marshallers;
+import java.time.LocalTime;
+import java.time.OffsetTime;
+
import javax.annotation.Priority;
import javax.inject.Inject;
-import graphql.Scalars;
-
-import org.joda.time.LocalDate;
+import graphql.scalars.ExtendedScalars;
import org.springframework.stereotype.Component;
@@ -34,19 +35,18 @@ import
org.apache.causeway.viewer.graphql.applib.marshallers.ScalarMarshallerAbs
@Component
@Priority(PriorityPrecedence.LATE)
-public class ScalarMarshallerJodaLocalDate extends
ScalarMarshallerAbstract<LocalDate> {
+public class ScalarMarshallerJdk8OffsetTime extends
ScalarMarshallerAbstract<OffsetTime> {
private final CausewayConfiguration.Viewer.Graphql.ScalarMarshaller
scalarMarshallerConfig;
@Inject
- public ScalarMarshallerJodaLocalDate(final CausewayConfiguration
causewayConfiguration) {
- super(LocalDate.class, Scalars.GraphQLString, causewayConfiguration);
+ public ScalarMarshallerJdk8OffsetTime(final CausewayConfiguration
causewayConfiguration) {
+ super(OffsetTime.class, ExtendedScalars.Time, causewayConfiguration);
scalarMarshallerConfig =
causewayConfiguration.getViewer().getGraphql().getScalarMarshaller();
}
@Override
- public LocalDate unmarshal(Object graphValue, Class<?> targetType) {
- String argumentStr = (String) graphValue;
- return LocalDate.parse(argumentStr,
org.joda.time.format.DateTimeFormat.forPattern(scalarMarshallerConfig.getLocalDateFormat()));
+ public OffsetTime unmarshal(Object graphValue, Class<?> targetType) {
+ return (OffsetTime) graphValue;
}
}
diff --git
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerJodaLocalDate.java
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerJodaLocalDate.java
index 06739664e6..1fd93a8047 100644
---
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerJodaLocalDate.java
+++
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerJodaLocalDate.java
@@ -18,6 +18,8 @@
*/
package org.apache.causeway.viewer.graphql.model.marshallers;
+import java.time.format.DateTimeFormatter;
+
import javax.annotation.Priority;
import javax.inject.Inject;
@@ -31,6 +33,8 @@ import
org.apache.causeway.applib.annotation.PriorityPrecedence;
import org.apache.causeway.core.config.CausewayConfiguration;
import
org.apache.causeway.viewer.graphql.applib.marshallers.ScalarMarshallerAbstract;
+import static org.joda.time.format.DateTimeFormat.*;
+
@Component
@Priority(PriorityPrecedence.LATE)
@@ -47,6 +51,6 @@ public class ScalarMarshallerJodaLocalDate extends
ScalarMarshallerAbstract<Loca
@Override
public LocalDate unmarshal(Object graphValue, Class<?> targetType) {
String argumentStr = (String) graphValue;
- return LocalDate.parse(argumentStr,
org.joda.time.format.DateTimeFormat.forPattern(scalarMarshallerConfig.getLocalDateFormat()));
+ return LocalDate.parse(argumentStr,
forPattern(scalarMarshallerConfig.getLocalDateFormat()));
}
}
diff --git
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerJodaLocalDate.java
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerJodaLocalTime.java
similarity index 73%
copy from
viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerJodaLocalDate.java
copy to
viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerJodaLocalTime.java
index 06739664e6..b74cb23a01 100644
---
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerJodaLocalDate.java
+++
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerJodaLocalTime.java
@@ -18,12 +18,15 @@
*/
package org.apache.causeway.viewer.graphql.model.marshallers;
+
import javax.annotation.Priority;
import javax.inject.Inject;
import graphql.Scalars;
-import org.joda.time.LocalDate;
+import java.time.format.DateTimeFormatter;
+
+import org.joda.time.LocalTime;
import org.springframework.stereotype.Component;
@@ -31,22 +34,24 @@ import
org.apache.causeway.applib.annotation.PriorityPrecedence;
import org.apache.causeway.core.config.CausewayConfiguration;
import
org.apache.causeway.viewer.graphql.applib.marshallers.ScalarMarshallerAbstract;
+import static org.joda.time.format.DateTimeFormat.forPattern;
+
@Component
@Priority(PriorityPrecedence.LATE)
-public class ScalarMarshallerJodaLocalDate extends
ScalarMarshallerAbstract<LocalDate> {
+public class ScalarMarshallerJodaLocalTime extends
ScalarMarshallerAbstract<LocalTime> {
private final CausewayConfiguration.Viewer.Graphql.ScalarMarshaller
scalarMarshallerConfig;
@Inject
- public ScalarMarshallerJodaLocalDate(final CausewayConfiguration
causewayConfiguration) {
- super(LocalDate.class, Scalars.GraphQLString, causewayConfiguration);
+ public ScalarMarshallerJodaLocalTime(final CausewayConfiguration
causewayConfiguration) {
+ super(LocalTime.class, Scalars.GraphQLString, causewayConfiguration);
scalarMarshallerConfig =
causewayConfiguration.getViewer().getGraphql().getScalarMarshaller();
}
@Override
- public LocalDate unmarshal(Object graphValue, Class<?> targetType) {
- String argumentStr = (String) graphValue;
- return LocalDate.parse(argumentStr,
org.joda.time.format.DateTimeFormat.forPattern(scalarMarshallerConfig.getLocalDateFormat()));
+ public LocalTime unmarshal(Object graphValue, Class<?> targetType) {
+ String str = (String) graphValue;
+ return LocalTime.parse(str,
forPattern(scalarMarshallerConfig.getLocalTimeFormat()));
}
}
diff --git
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerBigDecimal.java
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerUuid.java
similarity index 75%
copy from
viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerBigDecimal.java
copy to
viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerUuid.java
index 515a3f905a..4a820f57cf 100644
---
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerBigDecimal.java
+++
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerUuid.java
@@ -18,12 +18,12 @@
*/
package org.apache.causeway.viewer.graphql.model.marshallers;
-import java.math.BigDecimal;
-
import javax.annotation.Priority;
import javax.inject.Inject;
-import graphql.Scalars;
+import graphql.scalars.ExtendedScalars;
+
+import java.util.UUID;
import org.springframework.stereotype.Component;
@@ -37,15 +37,16 @@ import
org.apache.causeway.viewer.graphql.applib.marshallers.ScalarMarshallerAbs
*/
@Component
@Priority(PriorityPrecedence.LATE)
-public class ScalarMarshallerBigDecimal extends
ScalarMarshallerAbstract<BigDecimal> {
+public class ScalarMarshallerUuid extends ScalarMarshallerAbstract<UUID> {
@Inject
- public ScalarMarshallerBigDecimal(final CausewayConfiguration
causewayConfiguration) {
- super(BigDecimal.class, Scalars.GraphQLString, causewayConfiguration);
+ public ScalarMarshallerUuid(final CausewayConfiguration
causewayConfiguration) {
+ super(UUID.class, ExtendedScalars.UUID, causewayConfiguration);
}
@Override
- public BigDecimal unmarshal(Object graphValue, Class<?> targetType) {
- return new BigDecimal((String) graphValue);
+ public UUID unmarshal(Object graphValue, Class<?> targetType) {
+ return (UUID)graphValue;
}
+
}
diff --git
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/calc/Calculator.java
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/calc/Calculator.java
index 37614c261c..867fb6fa49 100644
---
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/calc/Calculator.java
+++
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/calc/Calculator.java
@@ -2,8 +2,14 @@ package
org.apache.causeway.viewer.graphql.viewer.test.domain.calc;
import java.math.BigDecimal;
import java.math.BigInteger;
+import java.net.URL;
import java.time.LocalDate;
+import java.time.LocalTime;
+import java.time.OffsetDateTime;
+import java.time.OffsetTime;
import java.time.ZonedDateTime;
+import java.util.Locale;
+import java.util.UUID;
import javax.annotation.Priority;
import javax.inject.Inject;
@@ -18,6 +24,7 @@ import
org.apache.causeway.applib.annotation.PriorityPrecedence;
import org.apache.causeway.applib.annotation.SemanticsOf;
import lombok.RequiredArgsConstructor;
+import lombok.SneakyThrows;
@Named("university.calc.Calculator")
@DomainService(nature= NatureOfService.VIEW)
@@ -86,25 +93,45 @@ public class Calculator {
}
@Action(semantics = SemanticsOf.SAFE)
- public LocalDate plusDays(LocalDate date, int numDays) {
+ public LocalDate jdk8LocalPlusDays(LocalDate date, int numDays) {
return date.plusDays(numDays);
}
@Action(semantics = SemanticsOf.SAFE)
- public ZonedDateTime plusDaysAndHoursAndMinutes(ZonedDateTime dateTime,
int numDays, int numHours, int numMinutes) {
+ public OffsetDateTime jdk8OffsetPlusDaysAndHoursAndMinutes(OffsetDateTime
dateTime, int numDays, int numHours, int numMinutes) {
return
dateTime.plusDays(numDays).plusHours(numHours).plusMinutes(numMinutes);
}
@Action(semantics = SemanticsOf.SAFE)
- public org.joda.time.LocalDate plusJodaDays(org.joda.time.LocalDate date,
int numDays) {
+ public ZonedDateTime jdk8ZonedPlusDaysAndHoursAndMinutes(ZonedDateTime
dateTime, int numDays, int numHours, int numMinutes) {
+ return
dateTime.plusDays(numDays).plusHours(numHours).plusMinutes(numMinutes);
+ }
+
+ @Action(semantics = SemanticsOf.SAFE)
+ public OffsetTime jdk8OffsetPlusHoursAndMinutes(OffsetTime time, int
numHours, int numMinutes) {
+ return time.plusHours(numHours).plusMinutes(numMinutes);
+ }
+
+ @Action(semantics = SemanticsOf.SAFE)
+ public LocalTime jdk8LocalPlusHoursAndMinutes(LocalTime time, int
numHours, int numMinutes) {
+ return time.plusHours(numHours).plusMinutes(numMinutes);
+ }
+
+ @Action(semantics = SemanticsOf.SAFE)
+ public org.joda.time.LocalDate jodaLocalPlusDays(org.joda.time.LocalDate
date, int numDays) {
return date.plusDays(numDays);
}
@Action(semantics = SemanticsOf.SAFE)
- public org.joda.time.DateTime
plusJodaDaysAndHoursAndMinutes(org.joda.time.DateTime dateTime, int numDays,
int numHours, int numMinutes) {
+ public org.joda.time.DateTime
jodaPlusDaysAndHoursAndMinutes(org.joda.time.DateTime dateTime, int numDays,
int numHours, int numMinutes) {
return
dateTime.plusDays(numDays).plusHours(numHours).plusMinutes(numMinutes);
}
+ @Action(semantics = SemanticsOf.SAFE)
+ public org.joda.time.LocalTime
jodaLocalPlusHoursAndMinutes(org.joda.time.LocalTime time, int numHours, int
numMinutes) {
+ return time.plusHours(numHours).plusMinutes(numMinutes);
+ }
+
@Action(semantics = SemanticsOf.SAFE)
public boolean and(boolean x, boolean y) {
@@ -131,4 +158,21 @@ public class Calculator {
return prefix + suffix;
}
+ @Action(semantics = SemanticsOf.SAFE)
+ public UUID someUuid() {
+ return UUID.fromString("91be0d2d-1752-4962-ad2c-89a7ef73a656");
+ }
+
+ @SneakyThrows
+ @Action(semantics = SemanticsOf.SAFE)
+ public URL someUrl() {
+ return new URL("https://causeway.apache.org");
+ }
+
+ @SneakyThrows
+ @Action(semantics = SemanticsOf.SAFE)
+ public Locale someLocale() {
+ return Locale.UK;
+ }
+
}
diff --git
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_big_decimals._.gql
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_big_decimals._.gql
index 8020e05fe4..a397c75030 100644
---
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_big_decimals._.gql
+++
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_big_decimals._.gql
@@ -1,7 +1,7 @@
{
university_calc_Calculator {
- addBigIntegers {
- invoke(x: "1", y: "2")
+ addBigDecimals {
+ invoke(x: "1.1", y: "2.2")
}
}
}
diff --git
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_big_decimals.approved.json
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_big_decimals.approved.json
index 41da73aeea..6e00f365e7 100644
---
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_big_decimals.approved.json
+++
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_big_decimals.approved.json
@@ -1,8 +1,8 @@
{
"data" : {
"university_calc_Calculator" : {
- "addBigIntegers" : {
- "invoke" : "3"
+ "addBigDecimals" : {
+ "invoke" : "3.3"
}
}
}
diff --git
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.plus_days._.gql
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_local_plus_days._.gql
similarity index 78%
copy from
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.plus_days._.gql
copy to
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_local_plus_days._.gql
index c631e57829..50abc29d6d 100644
---
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.plus_days._.gql
+++
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_local_plus_days._.gql
@@ -1,6 +1,6 @@
{
university_calc_Calculator {
- plusDays {
+ jdk8LocalPlusDays {
invoke(date: "2024-01-26", numDays: 2)
}
}
diff --git
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.plus_joda_days.approved.json
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_local_plus_days.approved.json
similarity index 76%
copy from
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.plus_joda_days.approved.json
copy to
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_local_plus_days.approved.json
index 6d1ebd29b8..4d50ad3377 100644
---
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.plus_joda_days.approved.json
+++
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_local_plus_days.approved.json
@@ -1,7 +1,7 @@
{
"data" : {
"university_calc_Calculator" : {
- "plusJodaDays" : {
+ "jdk8LocalPlusDays" : {
"invoke" : "2024-01-28"
}
}
diff --git
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_local_plus_hours_and_minutes._.gql
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_local_plus_hours_and_minutes._.gql
new file mode 100644
index 0000000000..1b6f9079ac
--- /dev/null
+++
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_local_plus_hours_and_minutes._.gql
@@ -0,0 +1,7 @@
+{
+ university_calc_Calculator {
+ jdk8LocalPlusHoursAndMinutes {
+ invoke(time: "13:35:05", numHours: 2, numMinutes: 20)
+ }
+ }
+}
diff --git
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_local_plus_hours_and_minutes.approved.json
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_local_plus_hours_and_minutes.approved.json
new file mode 100644
index 0000000000..9ad6ffd4f8
--- /dev/null
+++
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_local_plus_hours_and_minutes.approved.json
@@ -0,0 +1,9 @@
+{
+ "data" : {
+ "university_calc_Calculator" : {
+ "jdk8LocalPlusHoursAndMinutes" : {
+ "invoke" : "15:55:05"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_offset_plus_days_and_hours_and_minutes._.gql
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_offset_plus_days_and_hours_and_minutes._.gql
new file mode 100644
index 0000000000..357cfa5a52
--- /dev/null
+++
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_offset_plus_days_and_hours_and_minutes._.gql
@@ -0,0 +1,7 @@
+{
+ university_calc_Calculator {
+ jdk8OffsetPlusDaysAndHoursAndMinutes {
+ invoke(dateTime: "2024-08-12T04:05:20-01:00", numDays: 3, numHours: 2,
numMinutes: 15)
+ }
+ }
+}
diff --git
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_offset_plus_days_and_hours_and_minutes.approved.json
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_offset_plus_days_and_hours_and_minutes.approved.json
new file mode 100644
index 0000000000..a6f97ef4a5
--- /dev/null
+++
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_offset_plus_days_and_hours_and_minutes.approved.json
@@ -0,0 +1,9 @@
+{
+ "data" : {
+ "university_calc_Calculator" : {
+ "jdk8OffsetPlusDaysAndHoursAndMinutes" : {
+ "invoke" : "2024-08-15T06:20:20.000-01:00"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_offset_plus_hours_and_minutes._.gql
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_offset_plus_hours_and_minutes._.gql
new file mode 100644
index 0000000000..7fb48ee43d
--- /dev/null
+++
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_offset_plus_hours_and_minutes._.gql
@@ -0,0 +1,7 @@
+{
+ university_calc_Calculator {
+ jdk8OffsetPlusHoursAndMinutes {
+ invoke(time: "04:05:20-01:00", numHours: 2, numMinutes: 15)
+ }
+ }
+}
diff --git
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_offset_plus_hours_and_minutes.approved.json
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_offset_plus_hours_and_minutes.approved.json
new file mode 100644
index 0000000000..4d23d7a579
--- /dev/null
+++
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_offset_plus_hours_and_minutes.approved.json
@@ -0,0 +1,9 @@
+{
+ "data" : {
+ "university_calc_Calculator" : {
+ "jdk8OffsetPlusHoursAndMinutes" : {
+ "invoke" : "06:20:20-01:00"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_zoned_plus_days_and_hours_and_minutes._.gql
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_zoned_plus_days_and_hours_and_minutes._.gql
new file mode 100644
index 0000000000..35a622993c
--- /dev/null
+++
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_zoned_plus_days_and_hours_and_minutes._.gql
@@ -0,0 +1,7 @@
+{
+ university_calc_Calculator {
+ jdk8ZonedPlusDaysAndHoursAndMinutes {
+ invoke(dateTime: "2022-04-15T08:20:10+02:00", numDays: 3, numHours: 2,
numMinutes: 15)
+ }
+ }
+}
diff --git
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_zoned_plus_days_and_hours_and_minutes.approved.json
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_zoned_plus_days_and_hours_and_minutes.approved.json
new file mode 100644
index 0000000000..d8ce668e54
--- /dev/null
+++
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_zoned_plus_days_and_hours_and_minutes.approved.json
@@ -0,0 +1,9 @@
+{
+ "data" : {
+ "university_calc_Calculator" : {
+ "jdk8ZonedPlusDaysAndHoursAndMinutes" : {
+ "invoke" : "2022-04-18T10:35:10+02:00"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.plus_joda_days._.gql
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.joda_local_plus_days._.gql
similarity index 78%
rename from
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.plus_joda_days._.gql
rename to
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.joda_local_plus_days._.gql
index 61b56a4184..6cd2d75b0e 100644
---
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.plus_joda_days._.gql
+++
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.joda_local_plus_days._.gql
@@ -1,6 +1,6 @@
{
university_calc_Calculator {
- plusJodaDays {
+ jodaLocalPlusDays {
invoke(date: "2024-01-26", numDays: 2)
}
}
diff --git
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.plus_days.approved.json
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.joda_local_plus_days.approved.json
similarity index 76%
rename from
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.plus_days.approved.json
rename to
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.joda_local_plus_days.approved.json
index d2f25092c2..769ebd476c 100644
---
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.plus_days.approved.json
+++
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.joda_local_plus_days.approved.json
@@ -1,7 +1,7 @@
{
"data" : {
"university_calc_Calculator" : {
- "plusDays" : {
+ "jodaLocalPlusDays" : {
"invoke" : "2024-01-28"
}
}
diff --git
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.joda_local_plus_hours_and_minutes._.gql
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.joda_local_plus_hours_and_minutes._.gql
new file mode 100644
index 0000000000..e47a2a439a
--- /dev/null
+++
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.joda_local_plus_hours_and_minutes._.gql
@@ -0,0 +1,7 @@
+{
+ university_calc_Calculator {
+ jodaLocalPlusHoursAndMinutes {
+ invoke(time: "13:35:05", numHours: 2, numMinutes: 20)
+ }
+ }
+}
diff --git
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.joda_local_plus_hours_and_minutes.approved.json
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.joda_local_plus_hours_and_minutes.approved.json
new file mode 100644
index 0000000000..0aa97a54db
--- /dev/null
+++
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.joda_local_plus_hours_and_minutes.approved.json
@@ -0,0 +1,9 @@
+{
+ "data" : {
+ "university_calc_Calculator" : {
+ "jodaLocalPlusHoursAndMinutes" : {
+ "invoke" : "15:55:05.000"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.plus_days._.gql
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.joda_plus_days._.gql
similarity index 78%
rename from
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.plus_days._.gql
rename to
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.joda_plus_days._.gql
index c631e57829..6cd2d75b0e 100644
---
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.plus_days._.gql
+++
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.joda_plus_days._.gql
@@ -1,6 +1,6 @@
{
university_calc_Calculator {
- plusDays {
+ jodaLocalPlusDays {
invoke(date: "2024-01-26", numDays: 2)
}
}
diff --git
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.plus_joda_days.approved.json
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.joda_plus_days.approved.json
similarity index 76%
copy from
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.plus_joda_days.approved.json
copy to
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.joda_plus_days.approved.json
index 6d1ebd29b8..769ebd476c 100644
---
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.plus_joda_days.approved.json
+++
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.joda_plus_days.approved.json
@@ -1,7 +1,7 @@
{
"data" : {
"university_calc_Calculator" : {
- "plusJodaDays" : {
+ "jodaLocalPlusDays" : {
"invoke" : "2024-01-28"
}
}
diff --git
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.some_locale._.gql
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.some_locale._.gql
new file mode 100644
index 0000000000..5286646be0
--- /dev/null
+++
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.some_locale._.gql
@@ -0,0 +1,7 @@
+{
+ university_calc_Calculator {
+ someLocale {
+ invoke
+ }
+ }
+}
diff --git
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_big_decimals.approved.json
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.some_locale.approved.json
similarity index 57%
copy from
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_big_decimals.approved.json
copy to
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.some_locale.approved.json
index 41da73aeea..64cee0547b 100644
---
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_big_decimals.approved.json
+++
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.some_locale.approved.json
@@ -1,8 +1,8 @@
{
"data" : {
"university_calc_Calculator" : {
- "addBigIntegers" : {
- "invoke" : "3"
+ "someLocale" : {
+ "invoke" : "en_GB"
}
}
}
diff --git
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.some_url._.gql
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.some_url._.gql
new file mode 100644
index 0000000000..d1dc947deb
--- /dev/null
+++
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.some_url._.gql
@@ -0,0 +1,7 @@
+{
+ university_calc_Calculator {
+ someUrl {
+ invoke
+ }
+ }
+}
diff --git
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.plus_joda_days.approved.json
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.some_url.approved.json
similarity index 50%
rename from
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.plus_joda_days.approved.json
rename to
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.some_url.approved.json
index 6d1ebd29b8..8d077128e5 100644
---
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.plus_joda_days.approved.json
+++
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.some_url.approved.json
@@ -1,8 +1,8 @@
{
"data" : {
"university_calc_Calculator" : {
- "plusJodaDays" : {
- "invoke" : "2024-01-28"
+ "someUrl" : {
+ "invoke" : "https://causeway.apache.org"
}
}
}
diff --git
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.some_uuid._.gql
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.some_uuid._.gql
new file mode 100644
index 0000000000..5d32cca32a
--- /dev/null
+++
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.some_uuid._.gql
@@ -0,0 +1,7 @@
+{
+ university_calc_Calculator {
+ someUuid {
+ invoke
+ }
+ }
+}
diff --git
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.some_uuid.approved.json
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.some_uuid.approved.json
new file mode 100644
index 0000000000..92ef0f4ef4
--- /dev/null
+++
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.some_uuid.approved.json
@@ -0,0 +1,9 @@
+{
+ "data" : {
+ "university_calc_Calculator" : {
+ "someUuid" : {
+ "invoke" : "91be0d2d-1752-4962-ad2c-89a7ef73a656"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/viewers/graphql/test/src/test/resources/schema.gql
b/viewers/graphql/test/src/test/resources/schema.gql
index a6b68304bb..2e857f1308 100644
--- a/viewers/graphql/test/src/test/resources/schema.gql
+++ b/viewers/graphql/test/src/test/resources/schema.gql
@@ -1872,13 +1872,20 @@ type university_calc_Calculator {
addShorts: university_calc_Calculator__addShorts__gqlv_action
and: university_calc_Calculator__and__gqlv_action
concat: university_calc_Calculator__concat__gqlv_action
+ jdk8LocalPlusDays: university_calc_Calculator__jdk8LocalPlusDays__gqlv_action
+ jdk8LocalPlusHoursAndMinutes:
university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__gqlv_action
+ jdk8OffsetPlusDaysAndHoursAndMinutes:
university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__gqlv_action
+ jdk8OffsetPlusHoursAndMinutes:
university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__gqlv_action
+ jdk8ZonedPlusDaysAndHoursAndMinutes:
university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__gqlv_action
+ jodaLocalPlusDays: university_calc_Calculator__jodaLocalPlusDays__gqlv_action
+ jodaLocalPlusHoursAndMinutes:
university_calc_Calculator__jodaLocalPlusHoursAndMinutes__gqlv_action
+ jodaPlusDaysAndHoursAndMinutes:
university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__gqlv_action
nextMonth: university_calc_Calculator__nextMonth__gqlv_action
not: university_calc_Calculator__not__gqlv_action
or: university_calc_Calculator__or__gqlv_action
- plusDays: university_calc_Calculator__plusDays__gqlv_action
- plusDaysAndHoursAndMinutes:
university_calc_Calculator__plusDaysAndHoursAndMinutes__gqlv_action
- plusJodaDays: university_calc_Calculator__plusJodaDays__gqlv_action
- plusJodaDaysAndHoursAndMinutes:
university_calc_Calculator__plusJodaDaysAndHoursAndMinutes__gqlv_action
+ someLocale: university_calc_Calculator__someLocale__gqlv_action
+ someUrl: university_calc_Calculator__someUrl__gqlv_action
+ someUuid: university_calc_Calculator__someUuid__gqlv_action
}
type university_calc_Calculator__addBigDecimals__gqlv_action {
@@ -1938,9 +1945,9 @@ type
university_calc_Calculator__addBigIntegers__y__gqlv_action_parameter {
type university_calc_Calculator__addByteWrappers__gqlv_action {
disabled: String
hidden: Boolean
- invoke(x: Int!, y: Int): Int
+ invoke(x: Byte!, y: Byte): Int
params: university_calc_Calculator__addByteWrappers__gqlv_action_params
- validate(x: Int, y: Int): String
+ validate(x: Byte, y: Byte): String
}
type university_calc_Calculator__addByteWrappers__gqlv_action_params {
@@ -1950,24 +1957,24 @@ type
university_calc_Calculator__addByteWrappers__gqlv_action_params {
type university_calc_Calculator__addByteWrappers__x__gqlv_action_parameter {
datatype: String
- disabled(x: Int): String
+ disabled(x: Byte): String
hidden: Boolean
validity: String
}
type university_calc_Calculator__addByteWrappers__y__gqlv_action_parameter {
datatype: String
- disabled(x: Int, y: Int): String
- hidden(x: Int): Boolean
+ disabled(x: Byte, y: Byte): String
+ hidden(x: Byte): Boolean
validity: String
}
type university_calc_Calculator__addBytes__gqlv_action {
disabled: String
hidden: Boolean
- invoke(x: Int!, y: Int!): Int
+ invoke(x: Byte!, y: Byte!): Byte
params: university_calc_Calculator__addBytes__gqlv_action_params
- validate(x: Int, y: Int): String
+ validate(x: Byte, y: Byte): String
}
type university_calc_Calculator__addBytes__gqlv_action_params {
@@ -1977,15 +1984,15 @@ type
university_calc_Calculator__addBytes__gqlv_action_params {
type university_calc_Calculator__addBytes__x__gqlv_action_parameter {
datatype: String
- disabled(x: Int): String
+ disabled(x: Byte): String
hidden: Boolean
validity: String
}
type university_calc_Calculator__addBytes__y__gqlv_action_parameter {
datatype: String
- disabled(x: Int, y: Int): String
- hidden(x: Int): Boolean
+ disabled(x: Byte, y: Byte): String
+ hidden(x: Byte): Boolean
validity: String
}
@@ -2259,212 +2266,381 @@ type
university_calc_Calculator__concat__suffix__gqlv_action_parameter {
validity: String
}
-type university_calc_Calculator__nextMonth__gqlv_action {
+type
university_calc_Calculator__jdk8LocalPlusDays__date__gqlv_action_parameter {
+ datatype: String
+ disabled(date: String): String
+ hidden: Boolean
+ validity: String
+}
+
+type university_calc_Calculator__jdk8LocalPlusDays__gqlv_action {
disabled: String
hidden: Boolean
- invoke(month:
org_apache_causeway_viewer_graphql_viewer_test_domain_calc_Month__gqlv_enum!):
org_apache_causeway_viewer_graphql_viewer_test_domain_calc_Month__gqlv_enum
- params: university_calc_Calculator__nextMonth__gqlv_action_params
- validate(month:
org_apache_causeway_viewer_graphql_viewer_test_domain_calc_Month__gqlv_enum):
String
+ invoke(date: String!, numDays: Int!): String
+ params: university_calc_Calculator__jdk8LocalPlusDays__gqlv_action_params
+ validate(date: String, numDays: Int): String
}
-type university_calc_Calculator__nextMonth__gqlv_action_params {
- month: university_calc_Calculator__nextMonth__month__gqlv_action_parameter
+type university_calc_Calculator__jdk8LocalPlusDays__gqlv_action_params {
+ date:
university_calc_Calculator__jdk8LocalPlusDays__date__gqlv_action_parameter
+ numDays:
university_calc_Calculator__jdk8LocalPlusDays__numDays__gqlv_action_parameter
}
-type university_calc_Calculator__nextMonth__month__gqlv_action_parameter {
- choices:
[org_apache_causeway_viewer_graphql_viewer_test_domain_calc_Month__gqlv_enum]
+type
university_calc_Calculator__jdk8LocalPlusDays__numDays__gqlv_action_parameter {
datatype: String
- disabled(month:
org_apache_causeway_viewer_graphql_viewer_test_domain_calc_Month__gqlv_enum):
String
- hidden: Boolean
+ disabled(date: String, numDays: Int): String
+ hidden(date: String): Boolean
validity: String
}
-type university_calc_Calculator__not__gqlv_action {
+type university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__gqlv_action {
disabled: String
hidden: Boolean
- invoke(x: Boolean!): Boolean
- params: university_calc_Calculator__not__gqlv_action_params
- validate(x: Boolean): String
+ invoke(numHours: Int!, numMinutes: Int!, time: String!): String
+ params:
university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__gqlv_action_params
+ validate(numHours: Int, numMinutes: Int, time: String): String
}
-type university_calc_Calculator__not__gqlv_action_params {
- x: university_calc_Calculator__not__x__gqlv_action_parameter
+type
university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__gqlv_action_params {
+ numHours:
university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__numHours__gqlv_action_parameter
+ numMinutes:
university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__numMinutes__gqlv_action_parameter
+ time:
university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__time__gqlv_action_parameter
}
-type university_calc_Calculator__not__x__gqlv_action_parameter {
+type
university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__numHours__gqlv_action_parameter
{
datatype: String
- disabled(x: Boolean): String
+ disabled(numHours: Int, time: String): String
+ hidden(time: String): Boolean
+ validity: String
+}
+
+type
university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__numMinutes__gqlv_action_parameter
{
+ datatype: String
+ disabled(numHours: Int, numMinutes: Int, time: String): String
+ hidden(numHours: Int, time: String): Boolean
+ validity: String
+}
+
+type
university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__time__gqlv_action_parameter
{
+ datatype: String
+ disabled(time: String): String
hidden: Boolean
validity: String
}
-type university_calc_Calculator__or__gqlv_action {
+type
university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__dateTime__gqlv_action_parameter
{
+ datatype: String
+ disabled(dateTime: DateTime): String
+ hidden: Boolean
+ validity: String
+}
+
+type
university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__gqlv_action {
disabled: String
hidden: Boolean
- invoke(x: Boolean!, y: Boolean!): Boolean
- params: university_calc_Calculator__or__gqlv_action_params
- validate(x: Boolean, y: Boolean): String
+ invoke(dateTime: DateTime!, numDays: Int!, numHours: Int!, numMinutes:
Int!): DateTime
+ params:
university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__gqlv_action_params
+ validate(dateTime: DateTime, numDays: Int, numHours: Int, numMinutes: Int):
String
}
-type university_calc_Calculator__or__gqlv_action_params {
- x: university_calc_Calculator__or__x__gqlv_action_parameter
- y: university_calc_Calculator__or__y__gqlv_action_parameter
+type
university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__gqlv_action_params
{
+ dateTime:
university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__dateTime__gqlv_action_parameter
+ numDays:
university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__numDays__gqlv_action_parameter
+ numHours:
university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__numHours__gqlv_action_parameter
+ numMinutes:
university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__numMinutes__gqlv_action_parameter
}
-type university_calc_Calculator__or__x__gqlv_action_parameter {
+type
university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__numDays__gqlv_action_parameter
{
datatype: String
- disabled(x: Boolean): String
+ disabled(dateTime: DateTime, numDays: Int): String
+ hidden(dateTime: DateTime): Boolean
+ validity: String
+}
+
+type
university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__numHours__gqlv_action_parameter
{
+ datatype: String
+ disabled(dateTime: DateTime, numDays: Int, numHours: Int): String
+ hidden(dateTime: DateTime, numDays: Int): Boolean
+ validity: String
+}
+
+type
university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__numMinutes__gqlv_action_parameter
{
+ datatype: String
+ disabled(dateTime: DateTime, numDays: Int, numHours: Int, numMinutes: Int):
String
+ hidden(dateTime: DateTime, numDays: Int, numHours: Int): Boolean
+ validity: String
+}
+
+type university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__gqlv_action {
+ disabled: String
hidden: Boolean
+ invoke(numHours: Int!, numMinutes: Int!, time: Time!): Time
+ params:
university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__gqlv_action_params
+ validate(numHours: Int, numMinutes: Int, time: Time): String
+}
+
+type
university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__gqlv_action_params {
+ numHours:
university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__numHours__gqlv_action_parameter
+ numMinutes:
university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__numMinutes__gqlv_action_parameter
+ time:
university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__time__gqlv_action_parameter
+}
+
+type
university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__numHours__gqlv_action_parameter
{
+ datatype: String
+ disabled(numHours: Int, time: Time): String
+ hidden(time: Time): Boolean
validity: String
}
-type university_calc_Calculator__or__y__gqlv_action_parameter {
+type
university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__numMinutes__gqlv_action_parameter
{
datatype: String
- disabled(x: Boolean, y: Boolean): String
- hidden(x: Boolean): Boolean
+ disabled(numHours: Int, numMinutes: Int, time: Time): String
+ hidden(numHours: Int, time: Time): Boolean
validity: String
}
-type
university_calc_Calculator__plusDaysAndHoursAndMinutes__dateTime__gqlv_action_parameter
{
+type
university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__time__gqlv_action_parameter
{
+ datatype: String
+ disabled(time: Time): String
+ hidden: Boolean
+ validity: String
+}
+
+type
university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__dateTime__gqlv_action_parameter
{
datatype: String
disabled(dateTime: String): String
hidden: Boolean
validity: String
}
-type university_calc_Calculator__plusDaysAndHoursAndMinutes__gqlv_action {
+type
university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__gqlv_action {
disabled: String
hidden: Boolean
invoke(dateTime: String!, numDays: Int!, numHours: Int!, numMinutes: Int!):
String
- params:
university_calc_Calculator__plusDaysAndHoursAndMinutes__gqlv_action_params
+ params:
university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__gqlv_action_params
validate(dateTime: String, numDays: Int, numHours: Int, numMinutes: Int):
String
}
-type
university_calc_Calculator__plusDaysAndHoursAndMinutes__gqlv_action_params {
- dateTime:
university_calc_Calculator__plusDaysAndHoursAndMinutes__dateTime__gqlv_action_parameter
- numDays:
university_calc_Calculator__plusDaysAndHoursAndMinutes__numDays__gqlv_action_parameter
- numHours:
university_calc_Calculator__plusDaysAndHoursAndMinutes__numHours__gqlv_action_parameter
- numMinutes:
university_calc_Calculator__plusDaysAndHoursAndMinutes__numMinutes__gqlv_action_parameter
+type
university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__gqlv_action_params
{
+ dateTime:
university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__dateTime__gqlv_action_parameter
+ numDays:
university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__numDays__gqlv_action_parameter
+ numHours:
university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__numHours__gqlv_action_parameter
+ numMinutes:
university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__numMinutes__gqlv_action_parameter
}
-type
university_calc_Calculator__plusDaysAndHoursAndMinutes__numDays__gqlv_action_parameter
{
+type
university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__numDays__gqlv_action_parameter
{
datatype: String
disabled(dateTime: String, numDays: Int): String
hidden(dateTime: String): Boolean
validity: String
}
-type
university_calc_Calculator__plusDaysAndHoursAndMinutes__numHours__gqlv_action_parameter
{
+type
university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__numHours__gqlv_action_parameter
{
datatype: String
disabled(dateTime: String, numDays: Int, numHours: Int): String
hidden(dateTime: String, numDays: Int): Boolean
validity: String
}
-type
university_calc_Calculator__plusDaysAndHoursAndMinutes__numMinutes__gqlv_action_parameter
{
+type
university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__numMinutes__gqlv_action_parameter
{
datatype: String
disabled(dateTime: String, numDays: Int, numHours: Int, numMinutes: Int):
String
hidden(dateTime: String, numDays: Int, numHours: Int): Boolean
validity: String
}
-type university_calc_Calculator__plusDays__date__gqlv_action_parameter {
+type
university_calc_Calculator__jodaLocalPlusDays__date__gqlv_action_parameter {
datatype: String
- disabled(date: Date): String
+ disabled(date: String): String
hidden: Boolean
validity: String
}
-type university_calc_Calculator__plusDays__gqlv_action {
+type university_calc_Calculator__jodaLocalPlusDays__gqlv_action {
disabled: String
hidden: Boolean
- invoke(date: Date!, numDays: Int!): Date
- params: university_calc_Calculator__plusDays__gqlv_action_params
- validate(date: Date, numDays: Int): String
+ invoke(date: String!, numDays: Int!): String
+ params: university_calc_Calculator__jodaLocalPlusDays__gqlv_action_params
+ validate(date: String, numDays: Int): String
}
-type university_calc_Calculator__plusDays__gqlv_action_params {
- date: university_calc_Calculator__plusDays__date__gqlv_action_parameter
- numDays: university_calc_Calculator__plusDays__numDays__gqlv_action_parameter
+type university_calc_Calculator__jodaLocalPlusDays__gqlv_action_params {
+ date:
university_calc_Calculator__jodaLocalPlusDays__date__gqlv_action_parameter
+ numDays:
university_calc_Calculator__jodaLocalPlusDays__numDays__gqlv_action_parameter
}
-type university_calc_Calculator__plusDays__numDays__gqlv_action_parameter {
+type
university_calc_Calculator__jodaLocalPlusDays__numDays__gqlv_action_parameter {
datatype: String
- disabled(date: Date, numDays: Int): String
- hidden(date: Date): Boolean
+ disabled(date: String, numDays: Int): String
+ hidden(date: String): Boolean
validity: String
}
-type
university_calc_Calculator__plusJodaDaysAndHoursAndMinutes__dateTime__gqlv_action_parameter
{
+type university_calc_Calculator__jodaLocalPlusHoursAndMinutes__gqlv_action {
+ disabled: String
+ hidden: Boolean
+ invoke(numHours: Int!, numMinutes: Int!, time: String!): String
+ params:
university_calc_Calculator__jodaLocalPlusHoursAndMinutes__gqlv_action_params
+ validate(numHours: Int, numMinutes: Int, time: String): String
+}
+
+type
university_calc_Calculator__jodaLocalPlusHoursAndMinutes__gqlv_action_params {
+ numHours:
university_calc_Calculator__jodaLocalPlusHoursAndMinutes__numHours__gqlv_action_parameter
+ numMinutes:
university_calc_Calculator__jodaLocalPlusHoursAndMinutes__numMinutes__gqlv_action_parameter
+ time:
university_calc_Calculator__jodaLocalPlusHoursAndMinutes__time__gqlv_action_parameter
+}
+
+type
university_calc_Calculator__jodaLocalPlusHoursAndMinutes__numHours__gqlv_action_parameter
{
+ datatype: String
+ disabled(numHours: Int, time: String): String
+ hidden(time: String): Boolean
+ validity: String
+}
+
+type
university_calc_Calculator__jodaLocalPlusHoursAndMinutes__numMinutes__gqlv_action_parameter
{
+ datatype: String
+ disabled(numHours: Int, numMinutes: Int, time: String): String
+ hidden(numHours: Int, time: String): Boolean
+ validity: String
+}
+
+type
university_calc_Calculator__jodaLocalPlusHoursAndMinutes__time__gqlv_action_parameter
{
+ datatype: String
+ disabled(time: String): String
+ hidden: Boolean
+ validity: String
+}
+
+type
university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__dateTime__gqlv_action_parameter
{
datatype: String
disabled(dateTime: String): String
hidden: Boolean
validity: String
}
-type university_calc_Calculator__plusJodaDaysAndHoursAndMinutes__gqlv_action {
+type university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__gqlv_action {
disabled: String
hidden: Boolean
invoke(dateTime: String!, numDays: Int!, numHours: Int!, numMinutes: Int!):
String
- params:
university_calc_Calculator__plusJodaDaysAndHoursAndMinutes__gqlv_action_params
+ params:
university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__gqlv_action_params
validate(dateTime: String, numDays: Int, numHours: Int, numMinutes: Int):
String
}
-type
university_calc_Calculator__plusJodaDaysAndHoursAndMinutes__gqlv_action_params {
- dateTime:
university_calc_Calculator__plusJodaDaysAndHoursAndMinutes__dateTime__gqlv_action_parameter
- numDays:
university_calc_Calculator__plusJodaDaysAndHoursAndMinutes__numDays__gqlv_action_parameter
- numHours:
university_calc_Calculator__plusJodaDaysAndHoursAndMinutes__numHours__gqlv_action_parameter
- numMinutes:
university_calc_Calculator__plusJodaDaysAndHoursAndMinutes__numMinutes__gqlv_action_parameter
+type
university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__gqlv_action_params {
+ dateTime:
university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__dateTime__gqlv_action_parameter
+ numDays:
university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__numDays__gqlv_action_parameter
+ numHours:
university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__numHours__gqlv_action_parameter
+ numMinutes:
university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__numMinutes__gqlv_action_parameter
}
-type
university_calc_Calculator__plusJodaDaysAndHoursAndMinutes__numDays__gqlv_action_parameter
{
+type
university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__numDays__gqlv_action_parameter
{
datatype: String
disabled(dateTime: String, numDays: Int): String
hidden(dateTime: String): Boolean
validity: String
}
-type
university_calc_Calculator__plusJodaDaysAndHoursAndMinutes__numHours__gqlv_action_parameter
{
+type
university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__numHours__gqlv_action_parameter
{
datatype: String
disabled(dateTime: String, numDays: Int, numHours: Int): String
hidden(dateTime: String, numDays: Int): Boolean
validity: String
}
-type
university_calc_Calculator__plusJodaDaysAndHoursAndMinutes__numMinutes__gqlv_action_parameter
{
+type
university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__numMinutes__gqlv_action_parameter
{
datatype: String
disabled(dateTime: String, numDays: Int, numHours: Int, numMinutes: Int):
String
hidden(dateTime: String, numDays: Int, numHours: Int): Boolean
validity: String
}
-type university_calc_Calculator__plusJodaDays__date__gqlv_action_parameter {
+type university_calc_Calculator__nextMonth__gqlv_action {
+ disabled: String
+ hidden: Boolean
+ invoke(month:
org_apache_causeway_viewer_graphql_viewer_test_domain_calc_Month__gqlv_enum!):
org_apache_causeway_viewer_graphql_viewer_test_domain_calc_Month__gqlv_enum
+ params: university_calc_Calculator__nextMonth__gqlv_action_params
+ validate(month:
org_apache_causeway_viewer_graphql_viewer_test_domain_calc_Month__gqlv_enum):
String
+}
+
+type university_calc_Calculator__nextMonth__gqlv_action_params {
+ month: university_calc_Calculator__nextMonth__month__gqlv_action_parameter
+}
+
+type university_calc_Calculator__nextMonth__month__gqlv_action_parameter {
+ choices:
[org_apache_causeway_viewer_graphql_viewer_test_domain_calc_Month__gqlv_enum]
datatype: String
- disabled(date: String): String
+ disabled(month:
org_apache_causeway_viewer_graphql_viewer_test_domain_calc_Month__gqlv_enum):
String
hidden: Boolean
validity: String
}
-type university_calc_Calculator__plusJodaDays__gqlv_action {
+type university_calc_Calculator__not__gqlv_action {
disabled: String
hidden: Boolean
- invoke(date: String!, numDays: Int!): String
- params: university_calc_Calculator__plusJodaDays__gqlv_action_params
- validate(date: String, numDays: Int): String
+ invoke(x: Boolean!): Boolean
+ params: university_calc_Calculator__not__gqlv_action_params
+ validate(x: Boolean): String
}
-type university_calc_Calculator__plusJodaDays__gqlv_action_params {
- date: university_calc_Calculator__plusJodaDays__date__gqlv_action_parameter
- numDays:
university_calc_Calculator__plusJodaDays__numDays__gqlv_action_parameter
+type university_calc_Calculator__not__gqlv_action_params {
+ x: university_calc_Calculator__not__x__gqlv_action_parameter
}
-type university_calc_Calculator__plusJodaDays__numDays__gqlv_action_parameter {
+type university_calc_Calculator__not__x__gqlv_action_parameter {
datatype: String
- disabled(date: String, numDays: Int): String
- hidden(date: String): Boolean
+ disabled(x: Boolean): String
+ hidden: Boolean
+ validity: String
+}
+
+type university_calc_Calculator__or__gqlv_action {
+ disabled: String
+ hidden: Boolean
+ invoke(x: Boolean!, y: Boolean!): Boolean
+ params: university_calc_Calculator__or__gqlv_action_params
+ validate(x: Boolean, y: Boolean): String
+}
+
+type university_calc_Calculator__or__gqlv_action_params {
+ x: university_calc_Calculator__or__x__gqlv_action_parameter
+ y: university_calc_Calculator__or__y__gqlv_action_parameter
+}
+
+type university_calc_Calculator__or__x__gqlv_action_parameter {
+ datatype: String
+ disabled(x: Boolean): String
+ hidden: Boolean
+ validity: String
+}
+
+type university_calc_Calculator__or__y__gqlv_action_parameter {
+ datatype: String
+ disabled(x: Boolean, y: Boolean): String
+ hidden(x: Boolean): Boolean
validity: String
}
+type university_calc_Calculator__someLocale__gqlv_action {
+ disabled: String
+ hidden: Boolean
+ invoke: String
+ validate: String
+}
+
+type university_calc_Calculator__someUrl__gqlv_action {
+ disabled: String
+ hidden: Boolean
+ invoke: String
+ validate: String
+}
+
+type university_calc_Calculator__someUuid__gqlv_action {
+ disabled: String
+ hidden: Boolean
+ invoke: UUID
+ validate: String
+}
+
"University department specializing in a field of study"
type university_dept_Department {
_meta: university_dept_Department__gqlv_meta
@@ -2970,12 +3146,21 @@ enum
org_apache_causeway_viewer_graphql_viewer_test_domain_dept_Grade__gqlv_enum
SENIOR_LECTURER
}
-"An RFC-3339 compliant Full Date Scalar"
-scalar Date
+"An 8-bit signed integer"
+scalar Byte
+
+"An RFC-3339 compliant DateTime Scalar"
+scalar DateTime
"A 16-bit signed integer"
scalar Short
+"An RFC-3339 compliant Full Time Scalar"
+scalar Time
+
+"A universally unique identifier compliant UUID Scalar"
+scalar UUID
+
input causeway_applib_DomainObjectList__gqlv_input {
id: ID
ref: String