CAUSEWAY-3676: adds scalar support for jdk and joda dates and times
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 36ef5f5..036f2ba 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
@@ -2420,13 +2420,17 @@
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}
*/
private String localDateFormat = "yyyy-MM-dd";
/**
* 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 515a3f9..de87001 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.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 4e14d07..247d731 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.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 b7b198c..68428a1 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.inject.Inject;
import graphql.Scalars;
+import graphql.scalars.ExtendedScalars;
import org.springframework.stereotype.Component;
@@ -36,7 +37,7 @@
@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 18016d6..0177c48 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.inject.Inject;
import graphql.Scalars;
+import graphql.scalars.ExtendedScalars;
import org.springframework.stereotype.Component;
@@ -36,7 +37,7 @@
@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 e8c96f7..5509bd3 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.inject.Inject;
import graphql.Scalars;
+import graphql.scalars.ExtendedScalars;
import org.springframework.stereotype.Component;
@@ -36,7 +37,7 @@
@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/ScalarMarshallerJdk8LocalTime.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerJdk8LocalTime.java
new file mode 100644
index 0000000..fd6360a
--- /dev/null
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerJdk8LocalTime.java
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+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.LocalDateTime;
+
+import org.springframework.stereotype.Component;
+
+import org.apache.causeway.applib.annotation.PriorityPrecedence;
+import org.apache.causeway.core.config.CausewayConfiguration;
+import org.apache.causeway.viewer.graphql.applib.marshallers.ScalarMarshallerAbstract;
+
+
+@Component
+@Priority(PriorityPrecedence.LATE)
+public class ScalarMarshallerJdk8LocalTime extends ScalarMarshallerAbstract<LocalTime> {
+
+ private final CausewayConfiguration.Viewer.Graphql.ScalarMarshaller scalarMarshallerConfig;
+
+ @Inject
+ public ScalarMarshallerJdk8LocalTime(final CausewayConfiguration causewayConfiguration) {
+ super(LocalTime.class, Scalars.GraphQLString, causewayConfiguration);
+ scalarMarshallerConfig = causewayConfiguration.getViewer().getGraphql().getScalarMarshaller();
+ }
+
+ @Override
+ 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/ScalarMarshallerJdk8OffsetDateTime.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerJdk8OffsetDateTime.java
new file mode 100644
index 0000000..7235f4d
--- /dev/null
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerJdk8OffsetDateTime.java
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+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 graphql.scalars.ExtendedScalars;
+
+import org.springframework.stereotype.Component;
+
+import org.apache.causeway.applib.annotation.PriorityPrecedence;
+import org.apache.causeway.core.config.CausewayConfiguration;
+import org.apache.causeway.viewer.graphql.applib.marshallers.ScalarMarshallerAbstract;
+
+
+@Component
+@Priority(PriorityPrecedence.LATE)
+public class ScalarMarshallerJdk8OffsetDateTime extends ScalarMarshallerAbstract<OffsetDateTime> {
+
+ private final CausewayConfiguration.Viewer.Graphql.ScalarMarshaller scalarMarshallerConfig;
+
+ @Inject
+ public ScalarMarshallerJdk8OffsetDateTime(final CausewayConfiguration causewayConfiguration) {
+ super(OffsetDateTime.class, ExtendedScalars.DateTime, causewayConfiguration);
+ scalarMarshallerConfig = causewayConfiguration.getViewer().getGraphql().getScalarMarshaller();
+ }
+
+ @Override
+ 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/ScalarMarshallerJdk8OffsetTime.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerJdk8OffsetTime.java
new file mode 100644
index 0000000..dbb2d2b
--- /dev/null
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerJdk8OffsetTime.java
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+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.ExtendedScalars;
+
+import org.springframework.stereotype.Component;
+
+import org.apache.causeway.applib.annotation.PriorityPrecedence;
+import org.apache.causeway.core.config.CausewayConfiguration;
+import org.apache.causeway.viewer.graphql.applib.marshallers.ScalarMarshallerAbstract;
+
+
+@Component
+@Priority(PriorityPrecedence.LATE)
+public class ScalarMarshallerJdk8OffsetTime extends ScalarMarshallerAbstract<OffsetTime> {
+
+ private final CausewayConfiguration.Viewer.Graphql.ScalarMarshaller scalarMarshallerConfig;
+
+ @Inject
+ public ScalarMarshallerJdk8OffsetTime(final CausewayConfiguration causewayConfiguration) {
+ super(OffsetTime.class, ExtendedScalars.Time, causewayConfiguration);
+ scalarMarshallerConfig = causewayConfiguration.getViewer().getGraphql().getScalarMarshaller();
+ }
+
+ @Override
+ 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 0673966..1fd93a8 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.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 @@
@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/ScalarMarshallerJodaLocalTime.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerJodaLocalTime.java
new file mode 100644
index 0000000..b74cb23
--- /dev/null
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerJodaLocalTime.java
@@ -0,0 +1,57 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.viewer.graphql.model.marshallers;
+
+
+import javax.annotation.Priority;
+import javax.inject.Inject;
+
+import graphql.Scalars;
+
+import java.time.format.DateTimeFormatter;
+
+import org.joda.time.LocalTime;
+
+import org.springframework.stereotype.Component;
+
+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 ScalarMarshallerJodaLocalTime extends ScalarMarshallerAbstract<LocalTime> {
+
+ private final CausewayConfiguration.Viewer.Graphql.ScalarMarshaller scalarMarshallerConfig;
+
+ @Inject
+ public ScalarMarshallerJodaLocalTime(final CausewayConfiguration causewayConfiguration) {
+ super(LocalTime.class, Scalars.GraphQLString, causewayConfiguration);
+ scalarMarshallerConfig = causewayConfiguration.getViewer().getGraphql().getScalarMarshaller();
+ }
+
+ @Override
+ 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/ScalarMarshallerUuid.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerUuid.java
new file mode 100644
index 0000000..4a820f5
--- /dev/null
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/marshallers/ScalarMarshallerUuid.java
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.viewer.graphql.model.marshallers;
+
+import javax.annotation.Priority;
+import javax.inject.Inject;
+
+import graphql.scalars.ExtendedScalars;
+
+import java.util.UUID;
+
+import org.springframework.stereotype.Component;
+
+import org.apache.causeway.applib.annotation.PriorityPrecedence;
+import org.apache.causeway.core.config.CausewayConfiguration;
+import org.apache.causeway.viewer.graphql.applib.marshallers.ScalarMarshallerAbstract;
+
+
+/**
+ * Maps to a string to avoid loss of precision.
+ */
+@Component
+@Priority(PriorityPrecedence.LATE)
+public class ScalarMarshallerUuid extends ScalarMarshallerAbstract<UUID> {
+
+ @Inject
+ public ScalarMarshallerUuid(final CausewayConfiguration causewayConfiguration) {
+ super(UUID.class, ExtendedScalars.UUID, causewayConfiguration);
+ }
+
+ @Override
+ 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 37614c2..867fb6f 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 @@
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.SemanticsOf;
import lombok.RequiredArgsConstructor;
+import lombok.SneakyThrows;
@Named("university.calc.Calculator")
@DomainService(nature= NatureOfService.VIEW)
@@ -86,25 +93,45 @@
}
@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 @@
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 8020e05..a397c75 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 41da73a..6e00f36 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_joda_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%
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.jdk8_local_plus_days._.gql
index 61b56a4..50abc29 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.jdk8_local_plus_days._.gql
@@ -1,6 +1,6 @@
{
university_calc_Calculator {
- plusJodaDays {
+ 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_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 77%
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.jdk8_local_plus_days.approved.json
index d2f2509..4d50ad3 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.jdk8_local_plus_days.approved.json
@@ -1,7 +1,7 @@
{
"data" : {
"university_calc_Calculator" : {
- "plusDays" : {
+ "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 0000000..1b6f907
--- /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 0000000..9ad6ffd
--- /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 0000000..357cfa5
--- /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 0000000..a6f97ef
--- /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 0000000..7fb48ee
--- /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 0000000..4d23d7a
--- /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 0000000..35a6229
--- /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 0000000..d8ce668
--- /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%
copy from viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.plus_joda_days._.gql
copy to viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.joda_local_plus_days._.gql
index 61b56a4..6cd2d75 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 77%
copy from viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.plus_days.approved.json
copy 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 d2f2509..769ebd4 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 0000000..e47a2a4
--- /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 0000000..0aa97a5
--- /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_joda_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%
copy from viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.plus_joda_days._.gql
copy to viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.joda_plus_days._.gql
index 61b56a4..6cd2d75 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_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_plus_days.approved.json
similarity index 77%
copy from viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.plus_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 d2f2509..769ebd4 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_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.plus_days._.gql b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.plus_days._.gql
deleted file mode 100644
index c631e57..0000000
--- a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.plus_days._.gql
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- university_calc_Calculator {
- plusDays {
- 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.plus_joda_days.approved.json
deleted file mode 100644
index 6d1ebd2..0000000
--- a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.plus_joda_days.approved.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "data" : {
- "university_calc_Calculator" : {
- "plusJodaDays" : {
- "invoke" : "2024-01-28"
- }
- }
- }
-}
\ 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.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 0000000..5286646
--- /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.some_locale.approved.json b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.some_locale.approved.json
new file mode 100644
index 0000000..64cee05
--- /dev/null
+++ b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.some_locale.approved.json
@@ -0,0 +1,9 @@
+{
+ "data" : {
+ "university_calc_Calculator" : {
+ "someLocale" : {
+ "invoke" : "en_GB"
+ }
+ }
+ }
+}
\ 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.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 0000000..d1dc947
--- /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.some_url.approved.json b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.some_url.approved.json
new file mode 100644
index 0000000..8d07712
--- /dev/null
+++ b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.some_url.approved.json
@@ -0,0 +1,9 @@
+{
+ "data" : {
+ "university_calc_Calculator" : {
+ "someUrl" : {
+ "invoke" : "https://causeway.apache.org"
+ }
+ }
+ }
+}
\ 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.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 0000000..5d32cca
--- /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 0000000..92ef0f4
--- /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 a6b6830..2e857f1 100644
--- a/viewers/graphql/test/src/test/resources/schema.gql
+++ b/viewers/graphql/test/src/test/resources/schema.gql
@@ -1872,13 +1872,20 @@
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__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__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__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,6 +2266,294 @@
validity: String
}
+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(date: String!, numDays: Int!): String
+ params: university_calc_Calculator__jdk8LocalPlusDays__gqlv_action_params
+ validate(date: String, numDays: Int): String
+}
+
+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__jdk8LocalPlusDays__numDays__gqlv_action_parameter {
+ datatype: String
+ disabled(date: String, numDays: Int): String
+ hidden(date: String): Boolean
+ validity: String
+}
+
+type university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__gqlv_action {
+ disabled: String
+ hidden: Boolean
+ 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__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__jdk8LocalPlusHoursAndMinutes__numHours__gqlv_action_parameter {
+ datatype: 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__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(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__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__jdk8OffsetPlusDaysAndHoursAndMinutes__numDays__gqlv_action_parameter {
+ datatype: 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__jdk8OffsetPlusHoursAndMinutes__numMinutes__gqlv_action_parameter {
+ datatype: String
+ disabled(numHours: Int, numMinutes: Int, time: Time): String
+ hidden(numHours: Int, time: Time): Boolean
+ validity: String
+}
+
+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__jdk8ZonedPlusDaysAndHoursAndMinutes__gqlv_action {
+ disabled: String
+ hidden: Boolean
+ invoke(dateTime: String!, numDays: Int!, numHours: Int!, numMinutes: Int!): String
+ params: university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__gqlv_action_params
+ validate(dateTime: String, numDays: Int, numHours: Int, numMinutes: Int): String
+}
+
+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__jdk8ZonedPlusDaysAndHoursAndMinutes__numDays__gqlv_action_parameter {
+ datatype: String
+ disabled(dateTime: String, numDays: Int): String
+ hidden(dateTime: String): Boolean
+ validity: String
+}
+
+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__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__jodaLocalPlusDays__date__gqlv_action_parameter {
+ datatype: String
+ disabled(date: String): String
+ hidden: Boolean
+ validity: String
+}
+
+type university_calc_Calculator__jodaLocalPlusDays__gqlv_action {
+ disabled: String
+ hidden: Boolean
+ invoke(date: String!, numDays: Int!): String
+ params: university_calc_Calculator__jodaLocalPlusDays__gqlv_action_params
+ validate(date: String, numDays: Int): String
+}
+
+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__jodaLocalPlusDays__numDays__gqlv_action_parameter {
+ datatype: String
+ disabled(date: String, numDays: Int): String
+ hidden(date: String): Boolean
+ validity: String
+}
+
+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__jodaPlusDaysAndHoursAndMinutes__gqlv_action {
+ disabled: String
+ hidden: Boolean
+ invoke(dateTime: String!, numDays: Int!, numHours: Int!, numMinutes: Int!): String
+ params: university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__gqlv_action_params
+ validate(dateTime: String, numDays: Int, numHours: Int, numMinutes: Int): String
+}
+
+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__jodaPlusDaysAndHoursAndMinutes__numDays__gqlv_action_parameter {
+ datatype: String
+ disabled(dateTime: String, numDays: Int): String
+ hidden(dateTime: String): Boolean
+ validity: String
+}
+
+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__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__nextMonth__gqlv_action {
disabled: String
hidden: Boolean
@@ -2325,144 +2620,25 @@
validity: String
}
-type university_calc_Calculator__plusDaysAndHoursAndMinutes__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__someLocale__gqlv_action {
disabled: String
hidden: Boolean
- invoke(dateTime: String!, numDays: Int!, numHours: Int!, numMinutes: Int!): String
- params: university_calc_Calculator__plusDaysAndHoursAndMinutes__gqlv_action_params
- validate(dateTime: String, numDays: Int, numHours: Int, numMinutes: Int): String
+ invoke: String
+ validate: 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__plusDaysAndHoursAndMinutes__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 {
- 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 {
- 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 {
- datatype: String
- disabled(date: Date): String
- hidden: Boolean
- validity: String
-}
-
-type university_calc_Calculator__plusDays__gqlv_action {
+type university_calc_Calculator__someUrl__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: String
+ validate: 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__plusDays__numDays__gqlv_action_parameter {
- datatype: String
- disabled(date: Date, numDays: Int): String
- hidden(date: Date): Boolean
- validity: String
-}
-
-type university_calc_Calculator__plusJodaDaysAndHoursAndMinutes__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__someUuid__gqlv_action {
disabled: String
hidden: Boolean
- invoke(dateTime: String!, numDays: Int!, numHours: Int!, numMinutes: Int!): String
- params: university_calc_Calculator__plusJodaDaysAndHoursAndMinutes__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__plusJodaDaysAndHoursAndMinutes__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 {
- 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 {
- 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 {
- datatype: String
- disabled(date: String): String
- hidden: Boolean
- validity: String
-}
-
-type university_calc_Calculator__plusJodaDays__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
-}
-
-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__plusJodaDays__numDays__gqlv_action_parameter {
- datatype: String
- disabled(date: String, numDays: Int): String
- hidden(date: String): Boolean
- validity: String
+ invoke: UUID
+ validate: String
}
"University department specializing in a field of study"
@@ -2970,12 +3146,21 @@
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