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 9022c65345 CAUSEWAY-3676: refactors TypeMapper into a service
9022c65345 is described below
commit 9022c65345bd191239a2bd0318ca0c5a2c50c83a
Author: danhaywood <[email protected]>
AuthorDate: Fri Jan 26 15:12:47 2024 +0000
CAUSEWAY-3676: refactors TypeMapper into a service
---
.../viewer/graphql/model/context/Context.java | 2 +
.../viewer/graphql/model/domain/GqlvAction.java | 73 +++-
.../graphql/model/domain/GqlvActionInvoke.java | 25 +-
.../graphql/model/domain/GqlvActionParam.java | 16 +
.../model/domain/GqlvActionParamAutoComplete.java | 15 +-
.../model/domain/GqlvActionParamChoices.java | 13 +-
.../model/domain/GqlvActionParamDefault.java | 13 +-
.../model/domain/GqlvActionParamDisabled.java | 12 +-
.../model/domain/GqlvActionParamHidden.java | 12 +-
.../model/domain/GqlvActionParamValidate.java | 8 +-
.../graphql/model/domain/GqlvActionParams.java | 12 +
.../graphql/model/domain/GqlvActionValidity.java | 11 +-
.../graphql/model/domain/GqlvCollectionGet.java | 2 +-
.../graphql/model/domain/GqlvMemberDisabled.java | 17 +-
.../graphql/model/domain/GqlvMemberHidden.java | 17 +-
.../viewer/graphql/model/domain/GqlvProperty.java | 6 +-
.../model/domain/GqlvPropertyAutoComplete.java | 4 +-
.../graphql/model/domain/GqlvPropertyChoices.java | 14 +-
.../graphql/model/domain/GqlvPropertyGet.java | 2 +-
.../graphql/model/domain/GqlvPropertySet.java | 6 +-
.../graphql/model/domain/GqlvPropertyValidate.java | 7 +-
.../viewer/graphql/model/types/TypeMapper.java | 30 +-
.../viewer/test/domain/calc/Calculator.java | 61 +++-
.../graphql/viewer/test/domain/calc/Month.java | 23 ++
.../viewer/test/domain/calc/Month_Test.java | 15 +
...ulator_IntegTest.add_big_decimals.approved.json | 9 +
...ulator_IntegTest.add_big_integers.approved.json | 9 +
.../Calculator_IntegTest.add_double_wrappers._.gql | 7 +
...tor_IntegTest.add_double_wrappers.approved.json | 9 +
.../Calculator_IntegTest.add_float_wrappers._.gql | 7 +
...ator_IntegTest.add_float_wrappers.approved.json | 9 +
.../Calculator_IntegTest.add_floats.approved.json | 9 +
...Calculator_IntegTest.add_integer_wrappers._.gql | 7 +
...or_IntegTest.add_integer_wrappers.approved.json | 9 +
.../test/e2e/Calculator_IntegTest.concat._.gql | 7 +
.../e2e/Calculator_IntegTest.concat.approved.json | 9 +
.../viewer/test/e2e/Calculator_IntegTest.java | 54 ++-
.../test/e2e/Calculator_IntegTest.next_month._.gql | 7 +
.../Calculator_IntegTest.next_month.approved.json | 9 +
.../Calculator_IntegTest.plus_days.approved.json | 9 +
.../e2e/Calculator_IntegTest.plus_joda_days._.gql | 7 +
...lculator_IntegTest.plus_joda_days.approved.json | 9 +
.../src/test/resources/application-test.properties | 4 +-
.../graphql/test/src/test/resources/schema.gql | 400 +++++++++++++++++----
.../integration/GraphQlSourceForCauseway.java | 4 +-
45 files changed, 807 insertions(+), 203 deletions(-)
diff --git
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/context/Context.java
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/context/Context.java
index cb37c5cb01..325ac6e3dc 100644
---
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/context/Context.java
+++
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/context/Context.java
@@ -24,6 +24,7 @@ import lombok.RequiredArgsConstructor;
import org.apache.causeway.applib.services.bookmark.BookmarkService;
import org.apache.causeway.core.metamodel.specloader.SpecificationLoader;
+import org.apache.causeway.viewer.graphql.model.types.TypeMapper;
import static graphql.schema.GraphQLFieldDefinition.newFieldDefinition;
import static graphql.schema.GraphQLObjectType.newObject;
@@ -33,4 +34,5 @@ public class Context {
public final GraphQLCodeRegistry.Builder codeRegistryBuilder;
public final BookmarkService bookmarkService;
public final SpecificationLoader specificationLoader;
+ public final TypeMapper typeMapper;
}
diff --git
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAction.java
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAction.java
index 04bf02b77b..6a64d44d74 100644
---
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAction.java
+++
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAction.java
@@ -36,9 +36,12 @@ import graphql.schema.*;
import lombok.extern.log4j.Log4j2;
import lombok.val;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
import java.util.List;
import java.util.Map;
-import java.util.Objects;
import java.util.Optional;
import java.util.stream.Collectors;
@@ -103,8 +106,7 @@ public class GqlvAction
switch (elementType.getBeanSort()) {
case VALUE:
- // TODO: handle lists of values.
- return ManagedObject.adaptParameter(oap,
argumentValue);
+ return adaptValue(oap, argumentValue);
case ENTITY:
case VIEW_MODEL:
@@ -138,14 +140,51 @@ public class GqlvAction
});
}
- private static ManagedObject asDomainObject(
- final ObjectSpecification elementType,
+ private static ManagedObject adaptValue(
final ObjectActionParameter oap,
- final Object argumentValueObj,
- final BookmarkService bookmarkService) {
- return asPojo(elementType, argumentValueObj, bookmarkService)
- .map(pojo -> ManagedObject.adaptParameter(oap, pojo))
- .orElse(ManagedObject.empty(elementType));
+ final Object argumentValue) {
+
+ val elementType = oap.getElementType();
+ if (argumentValue == null) {
+ return ManagedObject.empty(elementType);
+ }
+
+ val argPojo = adaptPojo(argumentValue, elementType);
+ return ManagedObject.adaptParameter(oap, argPojo);
+ }
+
+ private static Object adaptPojo(
+ final Object argumentValue,
+ ObjectSpecification elementType) {
+ val elementClazz = elementType.getCorrespondingClass();
+
+ if (elementClazz.isEnum()) {
+ return Enum.valueOf((Class<Enum>) elementClazz,
argumentValue.toString());
+ }
+
+ if (elementClazz == BigInteger.class) {
+ return BigInteger.valueOf((Integer) argumentValue);
+ }
+
+ if (elementClazz == BigDecimal.class) {
+ return BigDecimal.valueOf((Double) argumentValue);
+ }
+
+ if (elementClazz == LocalDate.class) {
+ String argumentStr = (String) argumentValue;
+ return LocalDate.parse(argumentStr,
DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+ }
+
+ if (elementClazz == org.joda.time.LocalDate.class) {
+ String argumentStr = (String) argumentValue;
+ return org.joda.time.LocalDate.parse(argumentStr,
org.joda.time.format.DateTimeFormat.forPattern("yyyy-MM-dd"));
+ }
+
+ if (elementClazz == float.class || elementClazz == Float.class) {
+ return ((Double) argumentValue).floatValue();
+ }
+
+ return argumentValue;
}
private static Optional<Object> asPojo(
@@ -163,7 +202,7 @@ public class GqlvAction
;
}
- static void addGqlArguments(
+ public void addGqlArguments(
final ObjectAction objectAction,
final GraphQLFieldDefinition.Builder builder,
final TypeMapper.InputContext inputContext,
@@ -179,7 +218,7 @@ public class GqlvAction
}
}
- static void addGqlArgument(
+ public void addGqlArgument(
final ObjectAction objectAction,
final GraphQLFieldDefinition.Builder builder,
final TypeMapper.InputContext inputContext,
@@ -194,7 +233,7 @@ public class GqlvAction
}
}
- static GraphQLArgument gqlArgumentFor(
+ GraphQLArgument gqlArgumentFor(
final ObjectActionParameter objectActionParameter,
final TypeMapper.InputContext inputContext) {
return objectActionParameter.isPlural()
@@ -202,21 +241,21 @@ public class GqlvAction
: gqlArgumentFor((OneToOneActionParameter)
objectActionParameter, inputContext);
}
- static GraphQLArgument gqlArgumentFor(
+ GraphQLArgument gqlArgumentFor(
final OneToOneActionParameter oneToOneActionParameter,
final TypeMapper.InputContext inputContext) {
return GraphQLArgument.newArgument()
.name(oneToOneActionParameter.getId())
- .type(TypeMapper.inputTypeFor(oneToOneActionParameter,
inputContext))
+ .type(context.typeMapper.inputTypeFor(oneToOneActionParameter,
inputContext))
.build();
}
- static GraphQLArgument gqlArgumentFor(
+ GraphQLArgument gqlArgumentFor(
final OneToManyActionParameter oneToManyActionParameter,
final TypeMapper.InputContext inputContext) {
return GraphQLArgument.newArgument()
.name(oneToManyActionParameter.getId())
- .type(TypeMapper.inputTypeFor(oneToManyActionParameter,
inputContext))
+
.type(context.typeMapper.inputTypeFor(oneToManyActionParameter, inputContext))
.build();
}
diff --git
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionInvoke.java
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionInvoke.java
index 20d0a7da09..d0ca5e0890 100644
---
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionInvoke.java
+++
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionInvoke.java
@@ -59,25 +59,19 @@ public class GqlvActionInvoke {
final Context context) {
this.holder = holder;
this.context = context;
- this.field = fieldDefinition(holder);
- }
-
- private static GraphQLFieldDefinition fieldDefinition(final Holder holder)
{
val objectAction = holder.getObjectAction();
- GraphQLFieldDefinition fieldDefinition = null;
GraphQLOutputType type = typeFor(objectAction);
if (type != null) {
val fieldBuilder = newFieldDefinition()
.name(fieldNameForSemanticsOf(objectAction))
.type(type);
- GqlvAction.addGqlArguments(objectAction, fieldBuilder,
TypeMapper.InputContext.INVOKE, objectAction.getParameterCount());
- fieldDefinition = fieldBuilder.build();
-
- holder.addField(fieldDefinition);
+ holder.addGqlArguments(objectAction, fieldBuilder,
TypeMapper.InputContext.INVOKE, objectAction.getParameterCount());
+ this.field = holder.addField(fieldBuilder.build());
+ } else {
+ this.field = null;
}
- return fieldDefinition;
}
private static String fieldNameForSemanticsOf(ObjectAction objectAction) {
@@ -97,7 +91,7 @@ public class GqlvActionInvoke {
}
@Nullable
- private static GraphQLOutputType typeFor(final ObjectAction objectAction){
+ private GraphQLOutputType typeFor(final ObjectAction objectAction){
ObjectSpecification objectSpecification = objectAction.getReturnType();
switch (objectSpecification.getBeanSort()){
@@ -109,7 +103,7 @@ public class GqlvActionInvoke {
return null;
}
val objectSpecificationOfCollectionElement =
facet.elementSpec();
- GraphQLType wrappedType =
TypeMapper.outputTypeFor(objectSpecificationOfCollectionElement);
+ GraphQLType wrappedType =
context.typeMapper.outputTypeFor(objectSpecificationOfCollectionElement);
if (wrappedType == null) {
log.warn("Unable to create wrapped type of for {} for
action {}",
objectSpecificationOfCollectionElement.getFullIdentifier(),
@@ -122,7 +116,7 @@ public class GqlvActionInvoke {
case ENTITY:
case VIEW_MODEL:
default:
- return TypeMapper.outputTypeFor(objectSpecification);
+ return context.typeMapper.outputTypeFor(objectSpecification);
}
}
@@ -173,5 +167,10 @@ public class GqlvActionInvoke {
ObjectSpecificationProvider,
ObjectActionProvider {
+ void addGqlArguments(
+ final ObjectAction objectAction,
+ final GraphQLFieldDefinition.Builder fieldBuilder,
+ final TypeMapper.InputContext inputContext,
+ final int parameterCount);
}
}
diff --git
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParam.java
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParam.java
index da00e37958..4a10ac9750 100644
---
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParam.java
+++
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParam.java
@@ -25,6 +25,7 @@ import
org.apache.causeway.viewer.graphql.model.context.Context;
import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojoFetcher;
import
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionProvider;
import
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationProvider;
+import org.apache.causeway.viewer.graphql.model.types.TypeMapper;
import lombok.Getter;
import lombok.extern.log4j.Log4j2;
@@ -148,11 +149,26 @@ public class GqlvActionParam
return FieldCoordinates.coordinates(gqlObjectType, fieldDefinition);
}
+ @Override
+ public void addGqlArguments(ObjectAction objectAction,
GraphQLFieldDefinition.Builder fieldBuilder, TypeMapper.InputContext
inputContext, int paramNum) {
+ holder.addGqlArguments(objectAction, fieldBuilder, inputContext,
paramNum);
+ }
+
+ @Override
+ public void addGqlArgument(ObjectAction objectAction,
GraphQLFieldDefinition.Builder fieldBuilder, TypeMapper.InputContext
inputContext, int paramNum) {
+
+ }
+
public interface Holder
extends GqlvHolder,
ObjectSpecificationProvider,
ObjectActionProvider {
+ void addGqlArguments(
+ ObjectAction objectAction,
+ GraphQLFieldDefinition.Builder fieldBuilder,
+ TypeMapper.InputContext inputContext,
+ int paramNum);
}
}
diff --git
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamAutoComplete.java
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamAutoComplete.java
index 8f0d0cc7da..ed3f822c8b 100644
---
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamAutoComplete.java
+++
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamAutoComplete.java
@@ -27,6 +27,7 @@ package org.apache.causeway.viewer.graphql.model.domain;
import org.apache.causeway.core.metamodel.interactions.managed.ManagedAction;
import
org.apache.causeway.core.metamodel.interactions.managed.ParameterNegotiationModel;
import org.apache.causeway.core.metamodel.object.ManagedObject;
+ import org.apache.causeway.core.metamodel.spec.feature.ObjectAction;
import org.apache.causeway.viewer.graphql.model.context.Context;
import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
import
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionParameterProvider;
@@ -36,8 +37,6 @@ package org.apache.causeway.viewer.graphql.model.domain;
import static graphql.schema.GraphQLNonNull.nonNull;
- import static
org.apache.causeway.viewer.graphql.model.domain.GqlvAction.addGqlArguments;
-
import graphql.schema.GraphQLArgument;
import lombok.val;
@@ -73,11 +72,11 @@ package org.apache.causeway.viewer.graphql.model.domain;
val elementType = objectActionParameter.getElementType();
val fieldBuilder = newFieldDefinition()
.name("autoComplete")
-
.type(GraphQLList.list(TypeMapper.outputTypeFor(elementType)));
- addGqlArguments(holder.getObjectAction(), fieldBuilder,
TypeMapper.InputContext.AUTOCOMPLETE, holder.getParamNum());
+
.type(GraphQLList.list(context.typeMapper.outputTypeFor(elementType)));
+ holder.addGqlArguments(holder.getObjectAction(), fieldBuilder,
TypeMapper.InputContext.AUTOCOMPLETE, holder.getParamNum());
fieldBuilder.argument(GraphQLArgument.newArgument()
.name(SEARCH_PARAM_NAME)
- .type(nonNull(TypeMapper.scalarTypeFor(String.class))))
+
.type(nonNull(context.typeMapper.scalarTypeFor(String.class))))
.build();
this.field = holder.addField(fieldBuilder.build());
} else {
@@ -126,5 +125,11 @@ package org.apache.causeway.viewer.graphql.model.domain;
ObjectActionProvider,
ObjectActionParameterProvider {
GqlvActionParam.Holder getHolder();
+
+ void addGqlArguments(
+ ObjectAction objectAction,
+ GraphQLFieldDefinition.Builder fieldBuilder,
+ TypeMapper.InputContext inputContext,
+ int paramNum);
}
}
diff --git
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamChoices.java
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamChoices.java
index 0d8d528843..d48720d575 100644
---
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamChoices.java
+++
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamChoices.java
@@ -24,6 +24,7 @@ import
org.apache.causeway.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.causeway.core.metamodel.interactions.managed.ManagedAction;
import
org.apache.causeway.core.metamodel.interactions.managed.ParameterNegotiationModel;
import org.apache.causeway.core.metamodel.object.ManagedObject;
+import org.apache.causeway.core.metamodel.spec.feature.ObjectAction;
import org.apache.causeway.viewer.graphql.model.context.Context;
import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
import
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionParameterProvider;
@@ -31,8 +32,6 @@ import
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionProvider
import
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationProvider;
import org.apache.causeway.viewer.graphql.model.types.TypeMapper;
-import static
org.apache.causeway.viewer.graphql.model.domain.GqlvAction.addGqlArguments;
-
import graphql.schema.GraphQLList;
import lombok.val;
@@ -69,8 +68,8 @@ import static
graphql.schema.GraphQLFieldDefinition.newFieldDefinition;
val elementType = objectActionParameter.getElementType();
val fieldBuilder = newFieldDefinition()
.name("choices")
-
.type(GraphQLList.list(TypeMapper.outputTypeFor(elementType)));
- addGqlArguments(holder.getObjectAction(), fieldBuilder,
TypeMapper.InputContext.CHOICES, holder.getParamNum());
+
.type(GraphQLList.list(context.typeMapper.outputTypeFor(elementType)));
+ holder.addGqlArguments(holder.getObjectAction(), fieldBuilder,
TypeMapper.InputContext.CHOICES, holder.getParamNum());
this.field = holder.addField(fieldBuilder.build());
} else {
this.field = null;
@@ -117,5 +116,11 @@ import static
graphql.schema.GraphQLFieldDefinition.newFieldDefinition;
ObjectActionProvider,
ObjectActionParameterProvider {
GqlvActionParam.Holder getHolder();
+
+ void addGqlArguments(
+ ObjectAction objectAction,
+ GraphQLFieldDefinition.Builder fieldBuilder,
+ TypeMapper.InputContext inputContext,
+ int paramNum);
}
}
diff --git
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamDefault.java
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamDefault.java
index 7373ba5eeb..d4e48be8f4 100644
---
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamDefault.java
+++
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamDefault.java
@@ -24,6 +24,7 @@ package org.apache.causeway.viewer.graphql.model.domain;
import org.apache.causeway.core.metamodel.interactions.managed.ManagedAction;
import
org.apache.causeway.core.metamodel.interactions.managed.ParameterNegotiationModel;
import org.apache.causeway.core.metamodel.object.ManagedObject;
+ import org.apache.causeway.core.metamodel.spec.feature.ObjectAction;
import org.apache.causeway.viewer.graphql.model.context.Context;
import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
import
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionParameterProvider;
@@ -39,8 +40,6 @@ package org.apache.causeway.viewer.graphql.model.domain;
import static graphql.schema.GraphQLFieldDefinition.newFieldDefinition;
- import static
org.apache.causeway.viewer.graphql.model.domain.GqlvAction.addGqlArguments;
-
@Log4j2
public class GqlvActionParamDefault {
@@ -64,8 +63,8 @@ package org.apache.causeway.viewer.graphql.model.domain;
val elementType = objectActionParameter.getElementType();
val fieldBuilder = newFieldDefinition()
.name("default")
- .type(TypeMapper.outputTypeFor(elementType));
- addGqlArguments(holder.getObjectAction(), fieldBuilder,
TypeMapper.InputContext.DEFAULT, holder.getParamNum());
+ .type(context.typeMapper.outputTypeFor(elementType));
+ holder.addGqlArguments(holder.getObjectAction(), fieldBuilder,
TypeMapper.InputContext.DEFAULT, holder.getParamNum());
this.field = holder.addField(fieldBuilder.build());
} else {
this.field = null;
@@ -110,5 +109,11 @@ package org.apache.causeway.viewer.graphql.model.domain;
ObjectActionProvider,
ObjectActionParameterProvider {
GqlvActionParam.Holder getHolder();
+
+ void addGqlArguments(
+ ObjectAction objectAction,
+ GraphQLFieldDefinition.Builder fieldBuilder,
+ TypeMapper.InputContext inputContext,
+ int paramNum);
}
}
diff --git
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamDisabled.java
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamDisabled.java
index 2c9ffd4dd3..0819256aa3 100644
---
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamDisabled.java
+++
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamDisabled.java
@@ -20,6 +20,7 @@ package org.apache.causeway.viewer.graphql.model.domain;
import org.apache.causeway.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.causeway.core.metamodel.object.ManagedObject;
+import org.apache.causeway.core.metamodel.spec.feature.ObjectAction;
import org.apache.causeway.viewer.graphql.model.context.Context;
import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
import
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionParameterProvider;
@@ -35,8 +36,6 @@ import graphql.schema.GraphQLFieldDefinition;
import static graphql.schema.GraphQLFieldDefinition.newFieldDefinition;
-import static
org.apache.causeway.viewer.graphql.model.domain.GqlvAction.addGqlArguments;
-
@Log4j2
public class GqlvActionParamDisabled {
@@ -54,8 +53,8 @@ public class GqlvActionParamDisabled {
val fieldBuilder = newFieldDefinition()
.name("disabled")
- .type(TypeMapper.scalarTypeFor(String.class));
- addGqlArguments(holder.getObjectAction(), fieldBuilder,
TypeMapper.InputContext.DISABLE, holder.getParamNum()+1);
+ .type(context.typeMapper.scalarTypeFor(String.class));
+ holder.addGqlArguments(holder.getObjectAction(), fieldBuilder,
TypeMapper.InputContext.DISABLE, holder.getParamNum()+1);
this.field = holder.addField(fieldBuilder.build());
}
@@ -91,5 +90,10 @@ public class GqlvActionParamDisabled {
ObjectSpecificationProvider,
ObjectActionProvider,
ObjectActionParameterProvider {
+ void addGqlArguments(
+ ObjectAction objectAction,
+ GraphQLFieldDefinition.Builder fieldBuilder,
+ TypeMapper.InputContext inputContext,
+ int i);
}
}
diff --git
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamHidden.java
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamHidden.java
index 8313450744..c412fe2b85 100644
---
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamHidden.java
+++
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamHidden.java
@@ -20,6 +20,7 @@ package org.apache.causeway.viewer.graphql.model.domain;
import org.apache.causeway.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.causeway.core.metamodel.object.ManagedObject;
+import org.apache.causeway.core.metamodel.spec.feature.ObjectAction;
import org.apache.causeway.viewer.graphql.model.context.Context;
import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
import
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionParameterProvider;
@@ -27,8 +28,6 @@ import
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionProvider
import
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationProvider;
import org.apache.causeway.viewer.graphql.model.types.TypeMapper;
-import static
org.apache.causeway.viewer.graphql.model.domain.GqlvAction.addGqlArguments;
-
import lombok.val;
import lombok.extern.log4j.Log4j2;
@@ -53,8 +52,8 @@ public class GqlvActionParamHidden {
GraphQLFieldDefinition.Builder fieldBuilder = newFieldDefinition()
.name("hidden")
- .type(TypeMapper.scalarTypeFor(boolean.class));
- addGqlArguments(holder.getObjectAction(), fieldBuilder,
TypeMapper.InputContext.DISABLE, holder.getParamNum());
+ .type(context.typeMapper.scalarTypeFor(boolean.class));
+ holder.addGqlArguments(holder.getObjectAction(), fieldBuilder,
TypeMapper.InputContext.DISABLE, holder.getParamNum());
this.field = holder.addField(fieldBuilder.build());
}
@@ -93,5 +92,10 @@ public class GqlvActionParamHidden {
ObjectSpecificationProvider,
ObjectActionProvider,
ObjectActionParameterProvider {
+ void addGqlArguments(
+ ObjectAction objectAction,
+ GraphQLFieldDefinition.Builder fieldBuilder,
+ TypeMapper.InputContext inputContext,
+ int paramNum);
}
}
diff --git
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamValidate.java
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamValidate.java
index 53ee9cad3a..42d8537cc6 100644
---
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamValidate.java
+++
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamValidate.java
@@ -20,6 +20,7 @@ package org.apache.causeway.viewer.graphql.model.domain;
import org.apache.causeway.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.causeway.core.metamodel.object.ManagedObject;
+import org.apache.causeway.core.metamodel.spec.feature.ObjectAction;
import org.apache.causeway.viewer.graphql.model.context.Context;
import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
import
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionParameterProvider;
@@ -27,8 +28,6 @@ import
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionProvider
import
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationProvider;
import org.apache.causeway.viewer.graphql.model.types.TypeMapper;
-import static
org.apache.causeway.viewer.graphql.model.domain.GqlvAction.addGqlArgument;
-
import lombok.val;
import lombok.extern.log4j.Log4j2;
@@ -53,8 +52,8 @@ public class GqlvActionParamValidate {
val fieldBuilder = newFieldDefinition()
.name("validity")
- .type(TypeMapper.scalarTypeFor(String.class));
- addGqlArgument(holder.getObjectAction(), fieldBuilder,
TypeMapper.InputContext.DISABLE, holder.getParamNum());
+ .type(context.typeMapper.scalarTypeFor(String.class));
+ holder.addGqlArgument(holder.getObjectAction(), fieldBuilder,
TypeMapper.InputContext.DISABLE, holder.getParamNum());
this.field = holder.addField(fieldBuilder.build());
}
@@ -93,5 +92,6 @@ public class GqlvActionParamValidate {
ObjectSpecificationProvider,
ObjectActionProvider,
ObjectActionParameterProvider {
+ void addGqlArgument(ObjectAction objectAction,
GraphQLFieldDefinition.Builder fieldBuilder, TypeMapper.InputContext
inputContext, int paramNum);
}
}
diff --git
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParams.java
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParams.java
index a51e461c40..28d39d1c60 100644
---
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParams.java
+++
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParams.java
@@ -25,6 +25,7 @@ import
org.apache.causeway.viewer.graphql.model.context.Context;
import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojoFetcher;
import
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionProvider;
import
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationProvider;
+import org.apache.causeway.viewer.graphql.model.types.TypeMapper;
import lombok.Getter;
import lombok.extern.log4j.Log4j2;
@@ -124,10 +125,21 @@ public class GqlvActionParams implements
GqlvActionParam.Holder {
return FieldCoordinates.coordinates(gqlObjectType, fieldDefinition);
}
+ @Override
+ public void addGqlArguments(
+ ObjectAction objectAction, GraphQLFieldDefinition.Builder
fieldBuilder, TypeMapper.InputContext inputContext, int paramNum) {
+ holder.addGqlArguments(objectAction, fieldBuilder, inputContext,
paramNum);
+ }
+
public interface Holder
extends GqlvHolder,
ObjectSpecificationProvider,
ObjectActionProvider {
+ void addGqlArguments(
+ ObjectAction objectAction,
+ GraphQLFieldDefinition.Builder fieldBuilder,
+ TypeMapper.InputContext inputContext,
+ int paramNum);
}
}
diff --git
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionValidity.java
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionValidity.java
index bbff8d3fe3..64b58dc73e 100644
---
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionValidity.java
+++
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionValidity.java
@@ -58,18 +58,18 @@ public class GqlvActionValidity {
this.field = fieldDefinition(holder);
}
- private static GraphQLFieldDefinition fieldDefinition(final Holder holder)
{
+ private GraphQLFieldDefinition fieldDefinition(final Holder holder) {
val objectAction = holder.getObjectAction();
GraphQLFieldDefinition fieldDefinition = null;
- GraphQLOutputType type = TypeMapper.scalarTypeFor(String.class);
+ GraphQLOutputType type =
context.typeMapper.scalarTypeFor(String.class);
if (type != null) {
val fieldBuilder = newFieldDefinition()
.name("validate")
.type(type);
- GqlvAction.addGqlArguments(objectAction, fieldBuilder,
TypeMapper.InputContext.VALIDATE, objectAction.getParameterCount());
+ holder.addGqlArguments(objectAction, fieldBuilder,
TypeMapper.InputContext.VALIDATE, objectAction.getParameterCount());
fieldDefinition = fieldBuilder.build();
holder.addField(fieldDefinition);
@@ -119,5 +119,10 @@ public class GqlvActionValidity {
ObjectSpecificationProvider,
ObjectActionProvider {
+ void addGqlArguments(
+ ObjectAction objectAction,
+ GraphQLFieldDefinition.Builder fieldBuilder,
+ TypeMapper.InputContext inputContext,
+ int parameterCount);
}
}
diff --git
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvCollectionGet.java
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvCollectionGet.java
index 53d82b2e3c..d342ede8eb 100644
---
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvCollectionGet.java
+++
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvCollectionGet.java
@@ -39,7 +39,7 @@ public class GqlvCollectionGet extends
GqlvAssociationGet<OneToManyAssociation>
@Override
GraphQLOutputType
outputTypeFor(GqlvAssociationGet.Holder<OneToManyAssociation> holder) {
val oneToManyAssociation = holder.getObjectAssociation();
- return TypeMapper.listTypeForElementTypeOf(oneToManyAssociation);
+ return
context.typeMapper.listTypeForElementTypeOf(oneToManyAssociation);
}
public interface Holder
diff --git
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMemberDisabled.java
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMemberDisabled.java
index 549a7be4eb..d5d30ce9b0 100644
---
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMemberDisabled.java
+++
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMemberDisabled.java
@@ -26,7 +26,6 @@ import
org.apache.causeway.viewer.graphql.model.context.Context;
import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
import
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectMemberProvider;
import
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationProvider;
-import org.apache.causeway.viewer.graphql.model.types.TypeMapper;
import lombok.val;
import lombok.extern.log4j.Log4j2;
@@ -49,19 +48,11 @@ public class GqlvMemberDisabled<T extends ObjectMember> {
) {
this.holder = holder;
this.context = context;
- this.field = fieldDefinition(holder);
- }
-
- private static GraphQLFieldDefinition fieldDefinition(final Holder holder)
{
-
- GraphQLFieldDefinition fieldDefinition =
- newFieldDefinition()
- .name("disabled")
- .type(TypeMapper.scalarTypeFor(String.class))
- .build();
- holder.addField(fieldDefinition);
- return fieldDefinition;
+ this.field = holder.addField(newFieldDefinition()
+ .name("disabled")
+ .type(this.context.typeMapper.scalarTypeFor(String.class))
+ .build());
}
public void addDataFetcher() {
diff --git
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMemberHidden.java
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMemberHidden.java
index 6fb6a7897f..ff391a45f5 100644
---
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMemberHidden.java
+++
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMemberHidden.java
@@ -26,7 +26,6 @@ import
org.apache.causeway.viewer.graphql.model.context.Context;
import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
import
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectMemberProvider;
import
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationProvider;
-import org.apache.causeway.viewer.graphql.model.types.TypeMapper;
import lombok.val;
import lombok.extern.log4j.Log4j2;
@@ -49,19 +48,11 @@ public class GqlvMemberHidden<T extends ObjectMember> {
) {
this.holder = holder;
this.context = context;
- this.field = fieldDefinition(holder);
- }
-
- private static <T extends ObjectMember> GraphQLFieldDefinition
fieldDefinition(final Holder<T> holder) {
-
- GraphQLFieldDefinition fieldDefinition =
- newFieldDefinition()
- .name("hidden")
- .type(TypeMapper.scalarTypeFor(boolean.class))
- .build();
- holder.addField(fieldDefinition);
- return fieldDefinition;
+ this.field = holder.addField(newFieldDefinition()
+ .name("hidden")
+ .type(this.context.typeMapper.scalarTypeFor(boolean.class))
+ .build());
}
public void addDataFetcher() {
diff --git
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvProperty.java
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvProperty.java
index 140fda9278..f1e79a8983 100644
---
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvProperty.java
+++
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvProperty.java
@@ -87,19 +87,19 @@ public class GqlvProperty
);
}
- static void addGqlArgument(
+ public void addGqlArgument(
final OneToOneAssociation oneToOneAssociation,
final GraphQLFieldDefinition.Builder builder,
final TypeMapper.InputContext inputContext) {
builder.argument(gqlArgumentFor(oneToOneAssociation, inputContext));
}
- private static GraphQLArgument gqlArgumentFor(
+ private GraphQLArgument gqlArgumentFor(
final OneToOneAssociation oneToOneAssociation,
final TypeMapper.InputContext inputContext) {
return GraphQLArgument.newArgument()
.name(oneToOneAssociation.getId())
- .type(TypeMapper.inputTypeFor(oneToOneAssociation,
inputContext))
+ .type(context.typeMapper.inputTypeFor(oneToOneAssociation,
inputContext))
.build();
}
diff --git
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvPropertyAutoComplete.java
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvPropertyAutoComplete.java
index b9d18d3bf5..79e48b6621 100644
---
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvPropertyAutoComplete.java
+++
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvPropertyAutoComplete.java
@@ -64,10 +64,10 @@ public class GqlvPropertyAutoComplete {
val elementType = otoa.getElementType();
val fieldBuilder = newFieldDefinition()
.name("autoComplete")
-
.type(GraphQLList.list(TypeMapper.outputTypeFor(elementType)));
+
.type(GraphQLList.list(context.typeMapper.outputTypeFor(elementType)));
fieldBuilder.argument(GraphQLArgument.newArgument()
.name(SEARCH_PARAM_NAME)
-
.type(nonNull(TypeMapper.scalarTypeFor(String.class))))
+
.type(nonNull(context.typeMapper.scalarTypeFor(String.class))))
.build();
this.field = holder.addField(fieldBuilder.build());
} else {
diff --git
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvPropertyChoices.java
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvPropertyChoices.java
index c63ad0aaa0..49320cf76c 100644
---
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvPropertyChoices.java
+++
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvPropertyChoices.java
@@ -19,14 +19,10 @@
package org.apache.causeway.viewer.graphql.model.domain;
import java.util.List;
-import java.util.Map;
import java.util.stream.Collectors;
-import org.apache.causeway.commons.collections.Can;
-import org.apache.causeway.core.metamodel.consent.Consent;
import org.apache.causeway.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.causeway.core.metamodel.object.ManagedObject;
-import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
import org.apache.causeway.core.metamodel.spec.feature.OneToOneAssociation;
import org.apache.causeway.viewer.graphql.model.context.Context;
import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
@@ -34,16 +30,13 @@ import
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationP
import
org.apache.causeway.viewer.graphql.model.mmproviders.OneToOneAssociationProvider;
import org.apache.causeway.viewer.graphql.model.types.TypeMapper;
-import graphql.schema.GraphQLList;
-
import lombok.val;
import graphql.schema.DataFetchingEnvironment;
import graphql.schema.GraphQLFieldDefinition;
-import graphql.schema.GraphQLOutputType;
+import graphql.schema.GraphQLList;
import static graphql.schema.GraphQLFieldDefinition.newFieldDefinition;
-import static
org.apache.causeway.viewer.graphql.model.domain.GqlvProperty.addGqlArgument;
public class GqlvPropertyChoices {
@@ -65,8 +58,8 @@ public class GqlvPropertyChoices {
val elementType = otoa.getElementType();
val fieldBuilder = newFieldDefinition()
.name("choices")
-
.type(GraphQLList.list(TypeMapper.outputTypeFor(elementType)));
- addGqlArgument(otoa, fieldBuilder,
TypeMapper.InputContext.CHOICES);
+
.type(GraphQLList.list(context.typeMapper.outputTypeFor(elementType)));
+ holder.addGqlArgument(otoa, fieldBuilder,
TypeMapper.InputContext.CHOICES);
this.field = holder.addField(fieldBuilder.build());
} else {
this.field = null;
@@ -118,5 +111,6 @@ public class GqlvPropertyChoices {
ObjectSpecificationProvider,
OneToOneAssociationProvider {
+ void addGqlArgument(OneToOneAssociation otoa,
GraphQLFieldDefinition.Builder fieldBuilder, TypeMapper.InputContext
inputContext);
}
}
diff --git
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvPropertyGet.java
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvPropertyGet.java
index 25d207b60e..820df38fcf 100644
---
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvPropertyGet.java
+++
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvPropertyGet.java
@@ -39,7 +39,7 @@ public class GqlvPropertyGet extends
GqlvAssociationGet<OneToOneAssociation> {
@Override
GraphQLOutputType
outputTypeFor(GqlvAssociationGet.Holder<OneToOneAssociation> holder) {
val oneToOneAssociation = holder.getObjectAssociation();
- return TypeMapper.outputTypeFor(oneToOneAssociation);
+ return context.typeMapper.outputTypeFor(oneToOneAssociation);
}
public interface Holder extends
GqlvAssociationGet.Holder<OneToOneAssociation> {
diff --git
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvPropertySet.java
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvPropertySet.java
index b6da9eadb0..ef7854e6d9 100644
---
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvPropertySet.java
+++
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvPropertySet.java
@@ -22,6 +22,7 @@ import org.apache.causeway.applib.annotation.Where;
import org.apache.causeway.core.metamodel.consent.Consent;
import org.apache.causeway.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.causeway.core.metamodel.object.ManagedObject;
+import org.apache.causeway.core.metamodel.spec.feature.OneToOneAssociation;
import org.apache.causeway.viewer.graphql.model.context.Context;
import org.apache.causeway.viewer.graphql.model.exceptions.DisabledException;
import org.apache.causeway.viewer.graphql.model.exceptions.HiddenException;
@@ -63,7 +64,7 @@ public class GqlvPropertySet {
val fieldBuilder = newFieldDefinition()
.name("set")
.type(type);
- GqlvProperty.addGqlArgument(holder.getOneToOneAssociation(),
fieldBuilder, TypeMapper.InputContext.INVOKE);
+ holder.addGqlArgument(holder.getOneToOneAssociation(),
fieldBuilder, TypeMapper.InputContext.INVOKE);
fieldDefinition = fieldBuilder.build();
holder.addField(fieldDefinition);
@@ -72,7 +73,7 @@ public class GqlvPropertySet {
}
GraphQLOutputType outputTypeFor(Holder holder) {
- return TypeMapper.outputTypeFor(holder.getObjectSpecification()); //
setters return void, so we return the domain object instead
+ return
context.typeMapper.outputTypeFor(holder.getObjectSpecification()); // setters
return void, so we return the domain object instead
}
@@ -137,5 +138,6 @@ public class GqlvPropertySet {
ObjectSpecificationProvider,
OneToOneAssociationProvider {
+ void addGqlArgument(OneToOneAssociation oneToOneAssociation,
GraphQLFieldDefinition.Builder fieldBuilder, TypeMapper.InputContext
inputContext);
}
}
diff --git
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvPropertyValidate.java
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvPropertyValidate.java
index 161a9cb22a..a75ceccde3 100644
---
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvPropertyValidate.java
+++
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvPropertyValidate.java
@@ -23,6 +23,7 @@ import java.util.Map;
import org.apache.causeway.core.metamodel.consent.Consent;
import org.apache.causeway.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.causeway.core.metamodel.object.ManagedObject;
+import org.apache.causeway.core.metamodel.spec.feature.OneToOneAssociation;
import org.apache.causeway.viewer.graphql.model.context.Context;
import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
import
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationProvider;
@@ -35,7 +36,6 @@ import graphql.schema.DataFetchingEnvironment;
import graphql.schema.GraphQLFieldDefinition;
import static graphql.schema.GraphQLFieldDefinition.newFieldDefinition;
-import static
org.apache.causeway.viewer.graphql.model.domain.GqlvProperty.addGqlArgument;
public class GqlvPropertyValidate {
@@ -51,8 +51,8 @@ public class GqlvPropertyValidate {
val fieldBuilder = newFieldDefinition()
.name("validate")
- .type(TypeMapper.scalarTypeFor(String.class));
- addGqlArgument(holder.getOneToOneAssociation(), fieldBuilder,
TypeMapper.InputContext.VALIDATE);
+ .type(context.typeMapper.scalarTypeFor(String.class));
+ holder.addGqlArgument(holder.getOneToOneAssociation(), fieldBuilder,
TypeMapper.InputContext.VALIDATE);
this.field = holder.addField(fieldBuilder.build());
}
@@ -100,5 +100,6 @@ public class GqlvPropertyValidate {
ObjectSpecificationProvider,
OneToOneAssociationProvider {
+ void addGqlArgument(OneToOneAssociation oneToOneAssociation,
GraphQLFieldDefinition.Builder fieldBuilder, TypeMapper.InputContext
inputContext);
}
}
diff --git
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/types/TypeMapper.java
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/types/TypeMapper.java
index a9fe26dc8d..0974757570 100644
---
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/types/TypeMapper.java
+++
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/types/TypeMapper.java
@@ -27,8 +27,10 @@ import graphql.schema.*;
import lombok.experimental.UtilityClass;
+import javax.annotation.Priority;
import javax.ws.rs.NotSupportedException;
+import org.apache.causeway.applib.annotation.PriorityPrecedence;
import org.apache.causeway.commons.internal.collections._Maps;
import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
import
org.apache.causeway.core.metamodel.spec.feature.OneToManyActionParameter;
@@ -37,11 +39,13 @@ import
org.apache.causeway.core.metamodel.spec.feature.OneToOneFeature;
import org.apache.causeway.viewer.graphql.model.domain.TypeNames;
import org.springframework.lang.Nullable;
+import org.springframework.stereotype.Component;
import static graphql.schema.GraphQLNonNull.nonNull;
import static graphql.schema.GraphQLTypeReference.typeRef;
-@UtilityClass
+@Component
+@Priority(PriorityPrecedence.LATE)
public class TypeMapper {
private static <K,V> Map.Entry<K,V> pair(K key, V value) {
@@ -72,11 +76,11 @@ public class TypeMapper {
pair(Boolean.class, Scalars.GraphQLBoolean)
);
- public static GraphQLScalarType scalarTypeFor(final Class<?> c){
+ public GraphQLScalarType scalarTypeFor(final Class<?> c){
return SCALAR_BY_CLASS.getOrDefault(c, Scalars.GraphQLString);
}
- public static GraphQLOutputType outputTypeFor(final OneToOneFeature
oneToOneFeature) {
+ public GraphQLOutputType outputTypeFor(final OneToOneFeature
oneToOneFeature) {
ObjectSpecification otoaObjectSpec = oneToOneFeature.getElementType();
switch (otoaObjectSpec.getBeanSort()) {
@@ -100,7 +104,7 @@ public class TypeMapper {
}
@Nullable
- public static GraphQLOutputType outputTypeFor(final ObjectSpecification
objectSpecification){
+ public GraphQLOutputType outputTypeFor(final ObjectSpecification
objectSpecification){
switch (objectSpecification.getBeanSort()){
case ABSTRACT:
@@ -121,23 +125,23 @@ public class TypeMapper {
}
}
- @Nullable public static GraphQLList
listTypeForElementTypeOf(OneToManyAssociation oneToManyAssociation) {
+ @Nullable public GraphQLList listTypeForElementTypeOf(OneToManyAssociation
oneToManyAssociation) {
ObjectSpecification elementType =
oneToManyAssociation.getElementType();
- return TypeMapper.listTypeFor(elementType);
+ return listTypeFor(elementType);
}
- @Nullable public static GraphQLList listTypeFor(ObjectSpecification
elementType) {
+ @Nullable public GraphQLList listTypeFor(ObjectSpecification elementType) {
switch (elementType.getBeanSort()) {
case VIEW_MODEL:
case ENTITY:
return
GraphQLList.list(typeRef(TypeNames.objectTypeNameFor(elementType)));
case VALUE:
- return
GraphQLList.list(TypeMapper.scalarTypeFor(elementType.getCorrespondingClass()));
+ return
GraphQLList.list(scalarTypeFor(elementType.getCorrespondingClass()));
}
return null;
}
- public static GraphQLInputType inputTypeFor(
+ public GraphQLInputType inputTypeFor(
final OneToOneFeature oneToOneFeature,
final InputContext inputContext) {
return oneToOneFeature.isOptional() ||
inputContext.isOptionalAlwaysAllowed()
@@ -145,7 +149,7 @@ public class TypeMapper {
: nonNull(inputTypeFor_(oneToOneFeature));
}
- private static GraphQLInputType inputTypeFor_(final OneToOneFeature
oneToOneFeature){
+ private GraphQLInputType inputTypeFor_(final OneToOneFeature
oneToOneFeature){
ObjectSpecification elementType = oneToOneFeature.getElementType();
switch (elementType.getBeanSort()) {
case ABSTRACT:
@@ -164,12 +168,12 @@ public class TypeMapper {
}
}
- public static GraphQLList inputTypeFor(final OneToManyActionParameter
oneToManyActionParameter, final InputContext inputContextUnused){
+ public GraphQLList inputTypeFor(final OneToManyActionParameter
oneToManyActionParameter, final InputContext inputContextUnused){
ObjectSpecification elementType =
oneToManyActionParameter.getElementType();
- return GraphQLList.list(TypeMapper.inputTypeFor_(elementType));
+ return GraphQLList.list(inputTypeFor_(elementType));
}
- private static GraphQLInputType inputTypeFor_(final ObjectSpecification
elementType){
+ private GraphQLInputType inputTypeFor_(final ObjectSpecification
elementType){
switch (elementType.getBeanSort()) {
case ABSTRACT:
case ENTITY:
diff --git
a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/calc/Calculator.java
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/calc/Calculator.java
index 75400121b9..471a3254c0 100644
---
a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/calc/Calculator.java
+++
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/calc/Calculator.java
@@ -5,6 +5,7 @@ import lombok.RequiredArgsConstructor;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.time.LocalDate;
+import java.util.List;
import javax.annotation.Priority;
import javax.inject.Inject;
@@ -13,6 +14,8 @@ import javax.inject.Named;
import org.apache.causeway.applib.annotation.Action;
import org.apache.causeway.applib.annotation.DomainService;
import org.apache.causeway.applib.annotation.NatureOfService;
+import org.apache.causeway.applib.annotation.Optionality;
+import org.apache.causeway.applib.annotation.Parameter;
import org.apache.causeway.applib.annotation.PriorityPrecedence;
import org.apache.causeway.applib.annotation.SemanticsOf;
@@ -22,29 +25,64 @@ import org.apache.causeway.applib.annotation.SemanticsOf;
@RequiredArgsConstructor(onConstructor_ = {@Inject})
public class Calculator {
+ @Action(semantics = SemanticsOf.SAFE)
+ public byte addBytes(byte x, byte y) {
+ return (byte)(x+y);
+ }
+
+ @Action(semantics = SemanticsOf.SAFE)
+ public int addByteWrappers(Byte x, @Parameter(optionality =
Optionality.OPTIONAL) Byte y) {
+ return y != null ? x+y : x;
+ }
+
+ @Action(semantics = SemanticsOf.SAFE)
+ public short addShorts(short x, short y) {
+ return (short)(x+y);
+ }
+
+ @Action(semantics = SemanticsOf.SAFE)
+ public Short addShortWrappers(Short x, @Parameter(optionality =
Optionality.OPTIONAL) Short y) {
+ return y != null ? (short)(x+y) : x;
+ }
+
@Action(semantics = SemanticsOf.SAFE)
public int addIntegers(int x, int y) {
return x+y;
}
+ @Action(semantics = SemanticsOf.SAFE)
+ public int addIntegerWrappers(Integer x, @Parameter(optionality =
Optionality.OPTIONAL) Integer y) {
+ return y != null ? x+y : x;
+ }
+
@Action(semantics = SemanticsOf.SAFE)
public double addDoubles(double x, double y) {
return x+y;
}
+ @Action(semantics = SemanticsOf.SAFE)
+ public Double addDoubleWrappers(Double x, @Parameter(optionality =
Optionality.OPTIONAL) Double y) {
+ return y != null ? x+y : x;
+ }
+
@Action(semantics = SemanticsOf.SAFE)
public float addFloats(float x, float y) {
return x+y;
}
@Action(semantics = SemanticsOf.SAFE)
- public BigInteger addBigIntegers(BigInteger x, BigInteger y) {
- return x.add(y);
+ public Float addFloatWrappers(Float x, @Parameter(optionality =
Optionality.OPTIONAL) Float y) {
+ return y != null ? (float)(x+y) : x;
+ }
+
+ @Action(semantics = SemanticsOf.SAFE)
+ public BigInteger addBigIntegers(BigInteger x, @Parameter(optionality =
Optionality.OPTIONAL) BigInteger y) {
+ return y != null ? x.add(y) : x;
}
@Action(semantics = SemanticsOf.SAFE)
- public BigDecimal addBigDecimals(BigDecimal x, BigDecimal y) {
- return x.add(y);
+ public BigDecimal addBigDecimals(BigDecimal x, @Parameter(optionality =
Optionality.OPTIONAL) BigDecimal y) {
+ return y != null ? x.add(y) : x;
}
@Action(semantics = SemanticsOf.SAFE)
@@ -52,6 +90,11 @@ public class Calculator {
return date.plusDays(numDays);
}
+ @Action(semantics = SemanticsOf.SAFE)
+ public org.joda.time.LocalDate plusJodaDays(org.joda.time.LocalDate date,
int numDays) {
+ return date.plusDays(numDays);
+ }
+
@Action(semantics = SemanticsOf.SAFE)
public boolean and(boolean x, boolean y) {
return x & y;
@@ -67,4 +110,14 @@ public class Calculator {
return !x;
}
+ @Action(semantics = SemanticsOf.SAFE)
+ public Month nextMonth(Month month) {
+ return month.nextMonth();
+ }
+
+ @Action(semantics = SemanticsOf.SAFE)
+ public String concat(String prefix, @Parameter(optionality =
Optionality.OPTIONAL) String suffix) {
+ return prefix + suffix;
+ }
+
}
diff --git
a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/calc/Month.java
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/calc/Month.java
new file mode 100644
index 0000000000..1aae20a304
--- /dev/null
+++
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/calc/Month.java
@@ -0,0 +1,23 @@
+package org.apache.causeway.viewer.graphql.viewer.test.domain.calc;
+
+public enum Month {
+ JANUARY,
+ FEBRUARY,
+ MARCH,
+ APRIL,
+ MAY,
+ JUNE,
+ JULY,
+ AUGUST,
+ SEPTEMBER,
+ OCTOBER,
+ NOVEMBER,
+ DECEMBER,
+ ;
+
+ public Month nextMonth() {
+ int currentMonthOrdinal = this.ordinal();
+ int nextMonthOrdinal = (currentMonthOrdinal + 1) %
Month.values().length;
+ return Month.values()[nextMonthOrdinal];
+ }
+}
\ No newline at end of file
diff --git
a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/calc/Month_Test.java
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/calc/Month_Test.java
new file mode 100644
index 0000000000..38982a992b
--- /dev/null
+++
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/calc/Month_Test.java
@@ -0,0 +1,15 @@
+package org.apache.causeway.viewer.graphql.viewer.test.domain.calc;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+import org.junit.jupiter.api.Test;
+import static org.assertj.core.api.Assertions.assertThat;
+
+public class Month_Test {
+
+ @Test
+ public void testNextMonth() {
+ assertThat(Month.JANUARY.nextMonth()).isEqualTo(Month.FEBRUARY);
+ assertThat(Month.DECEMBER.nextMonth()).isEqualTo(Month.JANUARY);
+ }
+}
\ No newline at end of file
diff --git
a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.add_big_decimals.approved.json
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.add_big_decimals.approved.json
index e69de29bb2..581e0722f3 100644
---
a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.add_big_decimals.approved.json
+++
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.add_big_decimals.approved.json
@@ -0,0 +1,9 @@
+{
+ "data" : {
+ "university_calc_Calculator" : {
+ "addBigIntegers" : {
+ "invoke" : 3
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git
a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.add_big_integers.approved.json
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.add_big_integers.approved.json
index e69de29bb2..581e0722f3 100644
---
a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.add_big_integers.approved.json
+++
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.add_big_integers.approved.json
@@ -0,0 +1,9 @@
+{
+ "data" : {
+ "university_calc_Calculator" : {
+ "addBigIntegers" : {
+ "invoke" : 3
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git
a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.add_double_wrappers._.gql
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.add_double_wrappers._.gql
new file mode 100644
index 0000000000..6d78323837
--- /dev/null
+++
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.add_double_wrappers._.gql
@@ -0,0 +1,7 @@
+{
+ university_calc_Calculator {
+ addDoubleWrappers {
+ invoke(x: 1.1, y: 2.2)
+ }
+ }
+}
diff --git
a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.add_double_wrappers.approved.json
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.add_double_wrappers.approved.json
new file mode 100644
index 0000000000..11350c5620
--- /dev/null
+++
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.add_double_wrappers.approved.json
@@ -0,0 +1,9 @@
+{
+ "data" : {
+ "university_calc_Calculator" : {
+ "addDoubleWrappers" : {
+ "invoke" : 3.3000000000000003
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git
a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.add_float_wrappers._.gql
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.add_float_wrappers._.gql
new file mode 100644
index 0000000000..2e53e03d84
--- /dev/null
+++
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.add_float_wrappers._.gql
@@ -0,0 +1,7 @@
+{
+ university_calc_Calculator {
+ addFloatWrappers {
+ invoke(x: 1.1, y: 2.2)
+ }
+ }
+}
diff --git
a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.add_float_wrappers.approved.json
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.add_float_wrappers.approved.json
new file mode 100644
index 0000000000..5b60382a17
--- /dev/null
+++
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.add_float_wrappers.approved.json
@@ -0,0 +1,9 @@
+{
+ "data" : {
+ "university_calc_Calculator" : {
+ "addFloatWrappers" : {
+ "invoke" : 3.3000002
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git
a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.add_floats.approved.json
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.add_floats.approved.json
index e69de29bb2..7562f94585 100644
---
a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.add_floats.approved.json
+++
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.add_floats.approved.json
@@ -0,0 +1,9 @@
+{
+ "data" : {
+ "university_calc_Calculator" : {
+ "addFloats" : {
+ "invoke" : 3.3000002
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git
a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.add_integer_wrappers._.gql
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.add_integer_wrappers._.gql
new file mode 100644
index 0000000000..0764ecd5c9
--- /dev/null
+++
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.add_integer_wrappers._.gql
@@ -0,0 +1,7 @@
+{
+ university_calc_Calculator {
+ addIntegerWrappers {
+ invoke(x: 1, y: 2)
+ }
+ }
+}
diff --git
a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.add_integer_wrappers.approved.json
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.add_integer_wrappers.approved.json
new file mode 100644
index 0000000000..86372e9bc1
--- /dev/null
+++
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.add_integer_wrappers.approved.json
@@ -0,0 +1,9 @@
+{
+ "data" : {
+ "university_calc_Calculator" : {
+ "addIntegerWrappers" : {
+ "invoke" : 3
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git
a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.concat._.gql
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.concat._.gql
new file mode 100644
index 0000000000..3d71f77177
--- /dev/null
+++
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.concat._.gql
@@ -0,0 +1,7 @@
+{
+ university_calc_Calculator {
+ concat {
+ invoke(prefix: "Fizz", suffix: "Buzz")
+ }
+ }
+}
diff --git
a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.concat.approved.json
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.concat.approved.json
new file mode 100644
index 0000000000..04f843578d
--- /dev/null
+++
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.concat.approved.json
@@ -0,0 +1,9 @@
+{
+ "data" : {
+ "university_calc_Calculator" : {
+ "concat" : {
+ "invoke" : "FizzBuzz"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git
a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.java
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.java
index b65b0e0a81..b39ba8781e 100644
---
a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.java
+++
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.java
@@ -41,6 +41,14 @@ public class Calculator_IntegTest extends Abstract_IntegTest
{
Approvals.verify(submit(), jsonOptions());
}
+ @Test
+ @UseReporter(DiffReporter.class)
+ void add_integer_wrappers() throws Exception {
+
+ // when, then
+ Approvals.verify(submit(), jsonOptions());
+ }
+
@Test
@UseReporter(DiffReporter.class)
void add_doubles() throws Exception {
@@ -50,7 +58,14 @@ public class Calculator_IntegTest extends Abstract_IntegTest
{
}
@Test
- @Disabled // not yet supported ... receives java.lang.Double
+ @UseReporter(DiffReporter.class)
+ void add_double_wrappers() throws Exception {
+
+ // when, then
+ Approvals.verify(submit(), jsonOptions());
+ }
+
+ @Test
@UseReporter(DiffReporter.class)
void add_floats() throws Exception {
@@ -59,7 +74,14 @@ public class Calculator_IntegTest extends Abstract_IntegTest
{
}
@Test
- @Disabled // not yet supported ... receives java.lang.Integer
+ @UseReporter(DiffReporter.class)
+ void add_float_wrappers() throws Exception {
+
+ // when, then
+ Approvals.verify(submit(), jsonOptions());
+ }
+
+ @Test
@UseReporter(DiffReporter.class)
void add_big_integers() throws Exception {
@@ -68,7 +90,6 @@ public class Calculator_IntegTest extends Abstract_IntegTest {
}
@Test
- @Disabled // not yet supported ... receives java.lang.Double
@UseReporter(DiffReporter.class)
void add_big_decimals() throws Exception {
@@ -77,7 +98,6 @@ public class Calculator_IntegTest extends Abstract_IntegTest {
}
@Test
- @Disabled // not yet supported ... receives java.lang.String
@UseReporter(DiffReporter.class)
void plus_days() throws Exception {
@@ -85,6 +105,14 @@ public class Calculator_IntegTest extends
Abstract_IntegTest {
Approvals.verify(submit(), jsonOptions());
}
+ @Test
+ @UseReporter(DiffReporter.class)
+ void plus_joda_days() throws Exception {
+
+ // when, then
+ Approvals.verify(submit(), jsonOptions());
+ }
+
@Test
@UseReporter(DiffReporter.class)
void boolean_and_1() throws Exception {
@@ -129,5 +157,23 @@ public class Calculator_IntegTest extends
Abstract_IntegTest {
}
+ @Test
+ @UseReporter(DiffReporter.class)
+ void next_month() throws Exception {
+
+ // when, then
+ Approvals.verify(submit(), jsonOptions());
+
+ }
+
+ @Test
+ @UseReporter(DiffReporter.class)
+ void concat() throws Exception {
+
+ // when, then
+ Approvals.verify(submit(), jsonOptions());
+
+ }
+
}
diff --git
a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.next_month._.gql
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.next_month._.gql
new file mode 100644
index 0000000000..70d396c2bf
--- /dev/null
+++
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.next_month._.gql
@@ -0,0 +1,7 @@
+{
+ university_calc_Calculator {
+ nextMonth {
+ invoke(month: "JUNE")
+ }
+ }
+}
diff --git
a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.next_month.approved.json
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.next_month.approved.json
new file mode 100644
index 0000000000..7b37fa5852
--- /dev/null
+++
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.next_month.approved.json
@@ -0,0 +1,9 @@
+{
+ "data" : {
+ "university_calc_Calculator" : {
+ "nextMonth" : {
+ "invoke" : "JULY"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git
a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.plus_days.approved.json
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.plus_days.approved.json
index e69de29bb2..d2f25092c2 100644
---
a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.plus_days.approved.json
+++
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.plus_days.approved.json
@@ -0,0 +1,9 @@
+{
+ "data" : {
+ "university_calc_Calculator" : {
+ "plusDays" : {
+ "invoke" : "2024-01-28"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git
a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.plus_joda_days._.gql
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.plus_joda_days._.gql
new file mode 100644
index 0000000000..61b56a4184
--- /dev/null
+++
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.plus_joda_days._.gql
@@ -0,0 +1,7 @@
+{
+ university_calc_Calculator {
+ plusJodaDays {
+ invoke(date: "2024-01-26", numDays: 2)
+ }
+ }
+}
diff --git
a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.plus_joda_days.approved.json
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.plus_joda_days.approved.json
new file mode 100644
index 0000000000..6d1ebd29b8
--- /dev/null
+++
b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.plus_joda_days.approved.json
@@ -0,0 +1,9 @@
+{
+ "data" : {
+ "university_calc_Calculator" : {
+ "plusJodaDays" : {
+ "invoke" : "2024-01-28"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git
a/incubator/viewers/graphql/test/src/test/resources/application-test.properties
b/incubator/viewers/graphql/test/src/test/resources/application-test.properties
index 54fc4d657b..1ed5bab4ab 100644
---
a/incubator/viewers/graphql/test/src/test/resources/application-test.properties
+++
b/incubator/viewers/graphql/test/src/test/resources/application-test.properties
@@ -1,3 +1,3 @@
-#logging.level.org.springframework=DEBUG
-#logging.level.graphql=DEBUG
+logging.level.org.springframework=DEBUG
+logging.level.graphql=DEBUG
diff --git a/incubator/viewers/graphql/test/src/test/resources/schema.gql
b/incubator/viewers/graphql/test/src/test/resources/schema.gql
index c04ef7772d..65f5d13da4 100644
--- a/incubator/viewers/graphql/test/src/test/resources/schema.gql
+++ b/incubator/viewers/graphql/test/src/test/resources/schema.gql
@@ -1288,13 +1288,13 @@ type
org_apache_causeway_commons_functional_Either__accept__gqlv_action_params {
type
org_apache_causeway_commons_functional_Either__accept__leftConsumer__gqlv_action_parameter
{
disabled(leftConsumer: java_util_function_Consumer__gqlv_input): String
hidden: Boolean
- validity(leftConsumer: java_util_function_Consumer__gqlv_input): String
+ validity: String
}
type
org_apache_causeway_commons_functional_Either__accept__rightConsumer__gqlv_action_parameter
{
disabled(leftConsumer: java_util_function_Consumer__gqlv_input,
rightConsumer: java_util_function_Consumer__gqlv_input): String
hidden(leftConsumer: java_util_function_Consumer__gqlv_input): Boolean
- validity(rightConsumer: java_util_function_Consumer__gqlv_input): String
+ validity: String
}
type org_apache_causeway_commons_functional_Either__gqlv_meta {
@@ -1324,7 +1324,7 @@ type
org_apache_causeway_commons_functional_Either__mapLeft__gqlv_action_params
type
org_apache_causeway_commons_functional_Either__mapLeft__leftMapper__gqlv_action_parameter
{
disabled(leftMapper: java_util_function_Function__gqlv_input): String
hidden: Boolean
- validity(leftMapper: java_util_function_Function__gqlv_input): String
+ validity: String
}
type org_apache_causeway_commons_functional_Either__mapRight__gqlv_action {
@@ -1342,7 +1342,7 @@ type
org_apache_causeway_commons_functional_Either__mapRight__gqlv_action_params
type
org_apache_causeway_commons_functional_Either__mapRight__rightMapper__gqlv_action_parameter
{
disabled(rightMapper: java_util_function_Function__gqlv_input): String
hidden: Boolean
- validity(rightMapper: java_util_function_Function__gqlv_input): String
+ validity: String
}
type org_apache_causeway_commons_functional_Either__map__gqlv_action {
@@ -1361,13 +1361,13 @@ type
org_apache_causeway_commons_functional_Either__map__gqlv_action_params {
type
org_apache_causeway_commons_functional_Either__map__leftMapper__gqlv_action_parameter
{
disabled(leftMapper: java_util_function_Function__gqlv_input): String
hidden: Boolean
- validity(leftMapper: java_util_function_Function__gqlv_input): String
+ validity: String
}
type
org_apache_causeway_commons_functional_Either__map__rightMapper__gqlv_action_parameter
{
disabled(leftMapper: java_util_function_Function__gqlv_input, rightMapper:
java_util_function_Function__gqlv_input): String
hidden(leftMapper: java_util_function_Function__gqlv_input): Boolean
- validity(rightMapper: java_util_function_Function__gqlv_input): String
+ validity: String
}
type org_apache_causeway_commons_functional_Either__right__gqlv_action {
@@ -1391,7 +1391,7 @@ type org_apache_causeway_commons_functional_Railway {
type
org_apache_causeway_commons_functional_Railway__chain__chainingFunction__gqlv_action_parameter
{
disabled(chainingFunction:
org_apache_causeway_commons_functional_ThrowingFunction__gqlv_input): String
hidden: Boolean
- validity(chainingFunction:
org_apache_causeway_commons_functional_ThrowingFunction__gqlv_input): String
+ validity: String
}
type org_apache_causeway_commons_functional_Railway__chain__gqlv_action {
@@ -1422,7 +1422,7 @@ type
org_apache_causeway_commons_functional_Railway__gqlv_meta {
type
org_apache_causeway_commons_functional_Railway__ifFailure__failureConsumer__gqlv_action_parameter
{
disabled(failureConsumer:
org_apache_causeway_commons_functional_ThrowingConsumer__gqlv_input): String
hidden: Boolean
- validity(failureConsumer:
org_apache_causeway_commons_functional_ThrowingConsumer__gqlv_input): String
+ validity: String
}
type org_apache_causeway_commons_functional_Railway__ifFailure__gqlv_action {
@@ -1452,13 +1452,13 @@ type
org_apache_causeway_commons_functional_Railway__ifSuccess__gqlv_action_para
type
org_apache_causeway_commons_functional_Railway__ifSuccess__successConsumer__gqlv_action_parameter
{
disabled(successConsumer:
org_apache_causeway_commons_functional_ThrowingConsumer__gqlv_input): String
hidden: Boolean
- validity(successConsumer:
org_apache_causeway_commons_functional_ThrowingConsumer__gqlv_input): String
+ validity: String
}
type
org_apache_causeway_commons_functional_Railway__mapFailure__failureMapper__gqlv_action_parameter
{
disabled(failureMapper:
org_apache_causeway_commons_functional_ThrowingFunction__gqlv_input): String
hidden: Boolean
- validity(failureMapper:
org_apache_causeway_commons_functional_ThrowingFunction__gqlv_input): String
+ validity: String
}
type org_apache_causeway_commons_functional_Railway__mapFailure__gqlv_action {
@@ -1488,7 +1488,7 @@ type
org_apache_causeway_commons_functional_Railway__mapSuccess__gqlv_action_par
type
org_apache_causeway_commons_functional_Railway__mapSuccess__successMapper__gqlv_action_parameter
{
disabled(successMapper:
org_apache_causeway_commons_functional_ThrowingFunction__gqlv_input): String
hidden: Boolean
- validity(successMapper:
org_apache_causeway_commons_functional_ThrowingFunction__gqlv_input): String
+ validity: String
}
type org_apache_causeway_commons_functional_Railway__success__gqlv_property {
@@ -1508,7 +1508,7 @@ type
org_apache_causeway_commons_functional_ThrowingConsumer {
type
org_apache_causeway_commons_functional_ThrowingConsumer__andThen__arg0__gqlv_action_parameter
{
disabled(arg0: java_util_function_Consumer__gqlv_input): String
hidden: Boolean
- validity(arg0: java_util_function_Consumer__gqlv_input): String
+ validity: String
}
type
org_apache_causeway_commons_functional_ThrowingConsumer__andThen__gqlv_action {
@@ -1531,7 +1531,7 @@ type
org_apache_causeway_commons_functional_ThrowingConsumer__gqlv_meta {
type
org_apache_causeway_commons_functional_ThrowingConsumer__throwing__exceptionWrapper__gqlv_action_parameter
{
disabled(exceptionWrapper: java_util_function_BiFunction__gqlv_input): String
hidden: Boolean
- validity(exceptionWrapper: java_util_function_BiFunction__gqlv_input): String
+ validity: String
}
type
org_apache_causeway_commons_functional_ThrowingConsumer__throwing__gqlv_action {
@@ -1556,7 +1556,7 @@ type
org_apache_causeway_commons_functional_ThrowingFunction {
type
org_apache_causeway_commons_functional_ThrowingFunction__andThen__arg0__gqlv_action_parameter
{
disabled(arg0: java_util_function_Function__gqlv_input): String
hidden: Boolean
- validity(arg0: java_util_function_Function__gqlv_input): String
+ validity: String
}
type
org_apache_causeway_commons_functional_ThrowingFunction__andThen__gqlv_action {
@@ -1574,7 +1574,7 @@ type
org_apache_causeway_commons_functional_ThrowingFunction__andThen__gqlv_acti
type
org_apache_causeway_commons_functional_ThrowingFunction__compose__arg0__gqlv_action_parameter
{
disabled(arg0: java_util_function_Function__gqlv_input): String
hidden: Boolean
- validity(arg0: java_util_function_Function__gqlv_input): String
+ validity: String
}
type
org_apache_causeway_commons_functional_ThrowingFunction__compose__gqlv_action {
@@ -1597,7 +1597,7 @@ type
org_apache_causeway_commons_functional_ThrowingFunction__gqlv_meta {
type
org_apache_causeway_commons_functional_ThrowingFunction__throwing__exceptionWrapper__gqlv_action_parameter
{
disabled(exceptionWrapper: java_util_function_BiFunction__gqlv_input): String
hidden: Boolean
- validity(exceptionWrapper: java_util_function_BiFunction__gqlv_input): String
+ validity: String
}
type
org_apache_causeway_commons_functional_ThrowingFunction__throwing__gqlv_action {
@@ -1691,7 +1691,7 @@ type org_apache_causeway_commons_functional_Try {
type
org_apache_causeway_commons_functional_Try__accept__failureConsumer__gqlv_action_parameter
{
disabled(failureConsumer:
org_apache_causeway_commons_functional_ThrowingConsumer__gqlv_input): String
hidden: Boolean
- validity(failureConsumer:
org_apache_causeway_commons_functional_ThrowingConsumer__gqlv_input): String
+ validity: String
}
type org_apache_causeway_commons_functional_Try__accept__gqlv_action {
@@ -1710,7 +1710,7 @@ type
org_apache_causeway_commons_functional_Try__accept__gqlv_action_params {
type
org_apache_causeway_commons_functional_Try__accept__successConsumer__gqlv_action_parameter
{
disabled(failureConsumer:
org_apache_causeway_commons_functional_ThrowingConsumer__gqlv_input,
successConsumer:
org_apache_causeway_commons_functional_ThrowingConsumer__gqlv_input): String
hidden(failureConsumer:
org_apache_causeway_commons_functional_ThrowingConsumer__gqlv_input): Boolean
- validity(successConsumer:
org_apache_causeway_commons_functional_ThrowingConsumer__gqlv_input): String
+ validity: String
}
type org_apache_causeway_commons_functional_Try__failure__gqlv_property {
@@ -1736,7 +1736,7 @@ type
org_apache_causeway_commons_functional_Try__flatMapSuccessAsNullable__gqlv_
type
org_apache_causeway_commons_functional_Try__flatMapSuccessAsNullable__successMapper__gqlv_action_parameter
{
disabled(successMapper:
org_apache_causeway_commons_functional_ThrowingFunction__gqlv_input): String
hidden: Boolean
- validity(successMapper:
org_apache_causeway_commons_functional_ThrowingFunction__gqlv_input): String
+ validity: String
}
type
org_apache_causeway_commons_functional_Try__flatMapSuccessWhenPresent__gqlv_action
{
@@ -1754,7 +1754,7 @@ type
org_apache_causeway_commons_functional_Try__flatMapSuccessWhenPresent__gqlv
type
org_apache_causeway_commons_functional_Try__flatMapSuccessWhenPresent__successMapper__gqlv_action_parameter
{
disabled(successMapper:
org_apache_causeway_commons_functional_ThrowingFunction__gqlv_input): String
hidden: Boolean
- validity(successMapper:
org_apache_causeway_commons_functional_ThrowingFunction__gqlv_input): String
+ validity: String
}
type org_apache_causeway_commons_functional_Try__flatMapSuccess__gqlv_action {
@@ -1772,7 +1772,7 @@ type
org_apache_causeway_commons_functional_Try__flatMapSuccess__gqlv_action_par
type
org_apache_causeway_commons_functional_Try__flatMapSuccess__successMapper__gqlv_action_parameter
{
disabled(successMapper:
org_apache_causeway_commons_functional_ThrowingFunction__gqlv_input): String
hidden: Boolean
- validity(successMapper:
org_apache_causeway_commons_functional_ThrowingFunction__gqlv_input): String
+ validity: String
}
type org_apache_causeway_commons_functional_Try__gqlv_meta {
@@ -1797,7 +1797,7 @@ type
org_apache_causeway_commons_functional_Try__ifFailureFail__gqlv_action {
type
org_apache_causeway_commons_functional_Try__ifFailure__exceptionConsumer__gqlv_action_parameter
{
disabled(exceptionConsumer:
org_apache_causeway_commons_functional_ThrowingConsumer__gqlv_input): String
hidden: Boolean
- validity(exceptionConsumer:
org_apache_causeway_commons_functional_ThrowingConsumer__gqlv_input): String
+ validity: String
}
type org_apache_causeway_commons_functional_Try__ifFailure__gqlv_action {
@@ -1827,7 +1827,7 @@ type
org_apache_causeway_commons_functional_Try__ifSuccessAsNullable__gqlv_actio
type
org_apache_causeway_commons_functional_Try__ifSuccessAsNullable__valueConsumer__gqlv_action_parameter
{
disabled(valueConsumer:
org_apache_causeway_commons_functional_ThrowingConsumer__gqlv_input): String
hidden: Boolean
- validity(valueConsumer:
org_apache_causeway_commons_functional_ThrowingConsumer__gqlv_input): String
+ validity: String
}
type org_apache_causeway_commons_functional_Try__ifSuccess__gqlv_action {
@@ -1845,7 +1845,7 @@ type
org_apache_causeway_commons_functional_Try__ifSuccess__gqlv_action_params {
type
org_apache_causeway_commons_functional_Try__ifSuccess__valueConsumer__gqlv_action_parameter
{
disabled(valueConsumer:
org_apache_causeway_commons_functional_ThrowingConsumer__gqlv_input): String
hidden: Boolean
- validity(valueConsumer:
org_apache_causeway_commons_functional_ThrowingConsumer__gqlv_input): String
+ validity: String
}
type
org_apache_causeway_commons_functional_Try__mapEmptyToFailure__gqlv_action {
@@ -1870,13 +1870,13 @@ type
org_apache_causeway_commons_functional_Try__mapFailureToSuccess__gqlv_actio
type
org_apache_causeway_commons_functional_Try__mapFailureToSuccess__recoveryMapper__gqlv_action_parameter
{
disabled(recoveryMapper:
org_apache_causeway_commons_functional_ThrowingFunction__gqlv_input): String
hidden: Boolean
- validity(recoveryMapper:
org_apache_causeway_commons_functional_ThrowingFunction__gqlv_input): String
+ validity: String
}
type
org_apache_causeway_commons_functional_Try__mapFailure__failureMapper__gqlv_action_parameter
{
disabled(failureMapper:
org_apache_causeway_commons_functional_ThrowingFunction__gqlv_input): String
hidden: Boolean
- validity(failureMapper:
org_apache_causeway_commons_functional_ThrowingFunction__gqlv_input): String
+ validity: String
}
type org_apache_causeway_commons_functional_Try__mapFailure__gqlv_action {
@@ -1906,7 +1906,7 @@ type
org_apache_causeway_commons_functional_Try__mapSuccessAsNullable__gqlv_acti
type
org_apache_causeway_commons_functional_Try__mapSuccessAsNullable__successMapper__gqlv_action_parameter
{
disabled(successMapper:
org_apache_causeway_commons_functional_ThrowingFunction__gqlv_input): String
hidden: Boolean
- validity(successMapper:
org_apache_causeway_commons_functional_ThrowingFunction__gqlv_input): String
+ validity: String
}
type
org_apache_causeway_commons_functional_Try__mapSuccessWhenPresent__gqlv_action {
@@ -1924,7 +1924,7 @@ type
org_apache_causeway_commons_functional_Try__mapSuccessWhenPresent__gqlv_act
type
org_apache_causeway_commons_functional_Try__mapSuccessWhenPresent__successMapper__gqlv_action_parameter
{
disabled(successMapper:
org_apache_causeway_commons_functional_ThrowingFunction__gqlv_input): String
hidden: Boolean
- validity(successMapper:
org_apache_causeway_commons_functional_ThrowingFunction__gqlv_input): String
+ validity: String
}
type org_apache_causeway_commons_functional_Try__mapSuccess__gqlv_action {
@@ -1942,13 +1942,13 @@ type
org_apache_causeway_commons_functional_Try__mapSuccess__gqlv_action_params
type
org_apache_causeway_commons_functional_Try__mapSuccess__successMapper__gqlv_action_parameter
{
disabled(successMapper:
org_apache_causeway_commons_functional_ThrowingFunction__gqlv_input): String
hidden: Boolean
- validity(successMapper:
org_apache_causeway_commons_functional_ThrowingFunction__gqlv_input): String
+ validity: String
}
type
org_apache_causeway_commons_functional_Try__mapToEither__failureMapper__gqlv_action_parameter
{
disabled(failureMapper:
org_apache_causeway_commons_functional_ThrowingFunction__gqlv_input): String
hidden: Boolean
- validity(failureMapper:
org_apache_causeway_commons_functional_ThrowingFunction__gqlv_input): String
+ validity: String
}
type org_apache_causeway_commons_functional_Try__mapToEither__gqlv_action {
@@ -1967,13 +1967,13 @@ type
org_apache_causeway_commons_functional_Try__mapToEither__gqlv_action_params
type
org_apache_causeway_commons_functional_Try__mapToEither__successMapper__gqlv_action_parameter
{
disabled(failureMapper:
org_apache_causeway_commons_functional_ThrowingFunction__gqlv_input,
successMapper:
org_apache_causeway_commons_functional_ThrowingFunction__gqlv_input): String
hidden(failureMapper:
org_apache_causeway_commons_functional_ThrowingFunction__gqlv_input): Boolean
- validity(successMapper:
org_apache_causeway_commons_functional_ThrowingFunction__gqlv_input): String
+ validity: String
}
type
org_apache_causeway_commons_functional_Try__orCall__fallback__gqlv_action_parameter
{
disabled(fallback: java_util_concurrent_Callable__gqlv_input): String
hidden: Boolean
- validity(fallback: java_util_concurrent_Callable__gqlv_input): String
+ validity: String
}
type org_apache_causeway_commons_functional_Try__orCall__gqlv_action {
@@ -1999,7 +1999,7 @@ type
org_apache_causeway_commons_functional_Try__success__gqlv_property {
type
org_apache_causeway_commons_functional_Try__thenCall__callable__gqlv_action_parameter
{
disabled(callable: java_util_concurrent_Callable__gqlv_input): String
hidden: Boolean
- validity(callable: java_util_concurrent_Callable__gqlv_input): String
+ validity: String
}
type org_apache_causeway_commons_functional_Try__thenCall__gqlv_action {
@@ -2029,7 +2029,7 @@ type
org_apache_causeway_commons_functional_Try__thenRun__gqlv_action_params {
type
org_apache_causeway_commons_functional_Try__thenRun__runnable__gqlv_action_parameter
{
disabled(runnable:
org_apache_causeway_commons_functional_ThrowingRunnable__gqlv_input): String
hidden: Boolean
- validity(runnable:
org_apache_causeway_commons_functional_ThrowingRunnable__gqlv_input): String
+ validity: String
}
type org_apache_causeway_commons_functional_Try__then__gqlv_action {
@@ -2047,7 +2047,7 @@ type
org_apache_causeway_commons_functional_Try__then__gqlv_action_params {
type
org_apache_causeway_commons_functional_Try__then__next__gqlv_action_parameter {
disabled(next: java_util_concurrent_Callable__gqlv_input): String
hidden: Boolean
- validity(next: java_util_concurrent_Callable__gqlv_input): String
+ validity: String
}
type org_apache_causeway_commons_functional_Try__value__gqlv_property {
@@ -2158,7 +2158,7 @@ type university_admin_AdminMenu {
type
university_admin_AdminMenu__actionWithDisabledParam__firstParam__gqlv_action_parameter
{
disabled(firstParam: String): String
hidden: Boolean
- validity(firstParam: String): String
+ validity: String
}
type university_admin_AdminMenu__actionWithDisabledParam__gqlv_action {
@@ -2178,19 +2178,19 @@ type
university_admin_AdminMenu__actionWithDisabledParam__gqlv_action_params {
type
university_admin_AdminMenu__actionWithDisabledParam__secondParam__gqlv_action_parameter
{
disabled(firstParam: String, secondParam: String): String
hidden(firstParam: String): Boolean
- validity(secondParam: String): String
+ validity: String
}
type
university_admin_AdminMenu__actionWithDisabledParam__thirdParameter__gqlv_action_parameter
{
disabled(firstParam: String, secondParam: String, thirdParameter: String):
String
hidden(firstParam: String, secondParam: String): Boolean
- validity(thirdParameter: String): String
+ validity: String
}
type
university_admin_AdminMenu__actionWithHiddenParam__firstParam__gqlv_action_parameter
{
disabled(firstParam: String): String
hidden: Boolean
- validity(firstParam: String): String
+ validity: String
}
type university_admin_AdminMenu__actionWithHiddenParam__gqlv_action {
@@ -2209,7 +2209,7 @@ type
university_admin_AdminMenu__actionWithHiddenParam__gqlv_action_params {
type
university_admin_AdminMenu__actionWithHiddenParam__secondParam__gqlv_action_parameter
{
disabled(firstParam: String, secondParam: String): String
hidden(firstParam: String): Boolean
- validity(secondParam: String): String
+ validity: String
}
type university_admin_AdminMenu__adminAction__gqlv_action {
@@ -2229,19 +2229,29 @@ type
university_admin_AdminMenu__otherAdminAction__gqlv_action {
type university_calc_Calculator {
addBigDecimals: university_calc_Calculator__addBigDecimals__gqlv_action
addBigIntegers: university_calc_Calculator__addBigIntegers__gqlv_action
+ addByteWrappers: university_calc_Calculator__addByteWrappers__gqlv_action
+ addBytes: university_calc_Calculator__addBytes__gqlv_action
+ addDoubleWrappers: university_calc_Calculator__addDoubleWrappers__gqlv_action
addDoubles: university_calc_Calculator__addDoubles__gqlv_action
+ addFloatWrappers: university_calc_Calculator__addFloatWrappers__gqlv_action
addFloats: university_calc_Calculator__addFloats__gqlv_action
+ addIntegerWrappers:
university_calc_Calculator__addIntegerWrappers__gqlv_action
addIntegers: university_calc_Calculator__addIntegers__gqlv_action
+ addShortWrappers: university_calc_Calculator__addShortWrappers__gqlv_action
+ addShorts: university_calc_Calculator__addShorts__gqlv_action
and: university_calc_Calculator__and__gqlv_action
+ concat: university_calc_Calculator__concat__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
+ plusJodaDays: university_calc_Calculator__plusJodaDays__gqlv_action
}
type university_calc_Calculator__addBigDecimals__gqlv_action {
disabled: String
hidden: Boolean
- invoke(x: Float!, y: Float!): Float
+ invoke(x: Float!, y: Float): Float
params: university_calc_Calculator__addBigDecimals__gqlv_action_params
validate(x: Float, y: Float): String
}
@@ -2254,19 +2264,19 @@ type
university_calc_Calculator__addBigDecimals__gqlv_action_params {
type university_calc_Calculator__addBigDecimals__x__gqlv_action_parameter {
disabled(x: Float): String
hidden: Boolean
- validity(x: Float): String
+ validity: String
}
type university_calc_Calculator__addBigDecimals__y__gqlv_action_parameter {
disabled(x: Float, y: Float): String
hidden(x: Float): Boolean
- validity(y: Float): String
+ validity: String
}
type university_calc_Calculator__addBigIntegers__gqlv_action {
disabled: String
hidden: Boolean
- invoke(x: Int!, y: Int!): Int
+ invoke(x: Int!, y: Int): Int
params: university_calc_Calculator__addBigIntegers__gqlv_action_params
validate(x: Int, y: Int): String
}
@@ -2279,13 +2289,88 @@ type
university_calc_Calculator__addBigIntegers__gqlv_action_params {
type university_calc_Calculator__addBigIntegers__x__gqlv_action_parameter {
disabled(x: Int): String
hidden: Boolean
- validity(x: Int): String
+ validity: String
}
type university_calc_Calculator__addBigIntegers__y__gqlv_action_parameter {
disabled(x: Int, y: Int): String
hidden(x: Int): Boolean
- validity(y: Int): String
+ validity: String
+}
+
+type university_calc_Calculator__addByteWrappers__gqlv_action {
+ disabled: String
+ hidden: Boolean
+ invoke(x: String!, y: String): Int
+ params: university_calc_Calculator__addByteWrappers__gqlv_action_params
+ validate(x: String, y: String): String
+}
+
+type university_calc_Calculator__addByteWrappers__gqlv_action_params {
+ x: university_calc_Calculator__addByteWrappers__x__gqlv_action_parameter
+ y: university_calc_Calculator__addByteWrappers__y__gqlv_action_parameter
+}
+
+type university_calc_Calculator__addByteWrappers__x__gqlv_action_parameter {
+ disabled(x: String): String
+ hidden: Boolean
+ validity: String
+}
+
+type university_calc_Calculator__addByteWrappers__y__gqlv_action_parameter {
+ disabled(x: String, y: String): String
+ hidden(x: String): Boolean
+ validity: String
+}
+
+type university_calc_Calculator__addBytes__gqlv_action {
+ disabled: String
+ hidden: Boolean
+ invoke(x: String!, y: String!): String
+ params: university_calc_Calculator__addBytes__gqlv_action_params
+ validate(x: String, y: String): String
+}
+
+type university_calc_Calculator__addBytes__gqlv_action_params {
+ x: university_calc_Calculator__addBytes__x__gqlv_action_parameter
+ y: university_calc_Calculator__addBytes__y__gqlv_action_parameter
+}
+
+type university_calc_Calculator__addBytes__x__gqlv_action_parameter {
+ disabled(x: String): String
+ hidden: Boolean
+ validity: String
+}
+
+type university_calc_Calculator__addBytes__y__gqlv_action_parameter {
+ disabled(x: String, y: String): String
+ hidden(x: String): Boolean
+ validity: String
+}
+
+type university_calc_Calculator__addDoubleWrappers__gqlv_action {
+ disabled: String
+ hidden: Boolean
+ invoke(x: Float!, y: Float): Float
+ params: university_calc_Calculator__addDoubleWrappers__gqlv_action_params
+ validate(x: Float, y: Float): String
+}
+
+type university_calc_Calculator__addDoubleWrappers__gqlv_action_params {
+ x: university_calc_Calculator__addDoubleWrappers__x__gqlv_action_parameter
+ y: university_calc_Calculator__addDoubleWrappers__y__gqlv_action_parameter
+}
+
+type university_calc_Calculator__addDoubleWrappers__x__gqlv_action_parameter {
+ disabled(x: Float): String
+ hidden: Boolean
+ validity: String
+}
+
+type university_calc_Calculator__addDoubleWrappers__y__gqlv_action_parameter {
+ disabled(x: Float, y: Float): String
+ hidden(x: Float): Boolean
+ validity: String
}
type university_calc_Calculator__addDoubles__gqlv_action {
@@ -2304,13 +2389,38 @@ type
university_calc_Calculator__addDoubles__gqlv_action_params {
type university_calc_Calculator__addDoubles__x__gqlv_action_parameter {
disabled(x: Float): String
hidden: Boolean
- validity(x: Float): String
+ validity: String
}
type university_calc_Calculator__addDoubles__y__gqlv_action_parameter {
disabled(x: Float, y: Float): String
hidden(x: Float): Boolean
- validity(y: Float): String
+ validity: String
+}
+
+type university_calc_Calculator__addFloatWrappers__gqlv_action {
+ disabled: String
+ hidden: Boolean
+ invoke(x: Float!, y: Float): Float
+ params: university_calc_Calculator__addFloatWrappers__gqlv_action_params
+ validate(x: Float, y: Float): String
+}
+
+type university_calc_Calculator__addFloatWrappers__gqlv_action_params {
+ x: university_calc_Calculator__addFloatWrappers__x__gqlv_action_parameter
+ y: university_calc_Calculator__addFloatWrappers__y__gqlv_action_parameter
+}
+
+type university_calc_Calculator__addFloatWrappers__x__gqlv_action_parameter {
+ disabled(x: Float): String
+ hidden: Boolean
+ validity: String
+}
+
+type university_calc_Calculator__addFloatWrappers__y__gqlv_action_parameter {
+ disabled(x: Float, y: Float): String
+ hidden(x: Float): Boolean
+ validity: String
}
type university_calc_Calculator__addFloats__gqlv_action {
@@ -2329,13 +2439,38 @@ type
university_calc_Calculator__addFloats__gqlv_action_params {
type university_calc_Calculator__addFloats__x__gqlv_action_parameter {
disabled(x: Float): String
hidden: Boolean
- validity(x: Float): String
+ validity: String
}
type university_calc_Calculator__addFloats__y__gqlv_action_parameter {
disabled(x: Float, y: Float): String
hidden(x: Float): Boolean
- validity(y: Float): String
+ validity: String
+}
+
+type university_calc_Calculator__addIntegerWrappers__gqlv_action {
+ disabled: String
+ hidden: Boolean
+ invoke(x: Int!, y: Int): Int
+ params: university_calc_Calculator__addIntegerWrappers__gqlv_action_params
+ validate(x: Int, y: Int): String
+}
+
+type university_calc_Calculator__addIntegerWrappers__gqlv_action_params {
+ x: university_calc_Calculator__addIntegerWrappers__x__gqlv_action_parameter
+ y: university_calc_Calculator__addIntegerWrappers__y__gqlv_action_parameter
+}
+
+type university_calc_Calculator__addIntegerWrappers__x__gqlv_action_parameter {
+ disabled(x: Int): String
+ hidden: Boolean
+ validity: String
+}
+
+type university_calc_Calculator__addIntegerWrappers__y__gqlv_action_parameter {
+ disabled(x: Int, y: Int): String
+ hidden(x: Int): Boolean
+ validity: String
}
type university_calc_Calculator__addIntegers__gqlv_action {
@@ -2354,13 +2489,63 @@ type
university_calc_Calculator__addIntegers__gqlv_action_params {
type university_calc_Calculator__addIntegers__x__gqlv_action_parameter {
disabled(x: Int): String
hidden: Boolean
- validity(x: Int): String
+ validity: String
}
type university_calc_Calculator__addIntegers__y__gqlv_action_parameter {
disabled(x: Int, y: Int): String
hidden(x: Int): Boolean
- validity(y: Int): String
+ validity: String
+}
+
+type university_calc_Calculator__addShortWrappers__gqlv_action {
+ disabled: String
+ hidden: Boolean
+ invoke(x: Int!, y: Int): Int
+ params: university_calc_Calculator__addShortWrappers__gqlv_action_params
+ validate(x: Int, y: Int): String
+}
+
+type university_calc_Calculator__addShortWrappers__gqlv_action_params {
+ x: university_calc_Calculator__addShortWrappers__x__gqlv_action_parameter
+ y: university_calc_Calculator__addShortWrappers__y__gqlv_action_parameter
+}
+
+type university_calc_Calculator__addShortWrappers__x__gqlv_action_parameter {
+ disabled(x: Int): String
+ hidden: Boolean
+ validity: String
+}
+
+type university_calc_Calculator__addShortWrappers__y__gqlv_action_parameter {
+ disabled(x: Int, y: Int): String
+ hidden(x: Int): Boolean
+ validity: String
+}
+
+type university_calc_Calculator__addShorts__gqlv_action {
+ disabled: String
+ hidden: Boolean
+ invoke(x: Int!, y: Int!): Int
+ params: university_calc_Calculator__addShorts__gqlv_action_params
+ validate(x: Int, y: Int): String
+}
+
+type university_calc_Calculator__addShorts__gqlv_action_params {
+ x: university_calc_Calculator__addShorts__x__gqlv_action_parameter
+ y: university_calc_Calculator__addShorts__y__gqlv_action_parameter
+}
+
+type university_calc_Calculator__addShorts__x__gqlv_action_parameter {
+ disabled(x: Int): String
+ hidden: Boolean
+ validity: String
+}
+
+type university_calc_Calculator__addShorts__y__gqlv_action_parameter {
+ disabled(x: Int, y: Int): String
+ hidden(x: Int): Boolean
+ validity: String
}
type university_calc_Calculator__and__gqlv_action {
@@ -2379,13 +2564,57 @@ type
university_calc_Calculator__and__gqlv_action_params {
type university_calc_Calculator__and__x__gqlv_action_parameter {
disabled(x: Boolean): String
hidden: Boolean
- validity(x: Boolean): String
+ validity: String
}
type university_calc_Calculator__and__y__gqlv_action_parameter {
disabled(x: Boolean, y: Boolean): String
hidden(x: Boolean): Boolean
- validity(y: Boolean): String
+ validity: String
+}
+
+type university_calc_Calculator__concat__gqlv_action {
+ disabled: String
+ hidden: Boolean
+ invoke(prefix: String!, suffix: String): String
+ params: university_calc_Calculator__concat__gqlv_action_params
+ validate(prefix: String, suffix: String): String
+}
+
+type university_calc_Calculator__concat__gqlv_action_params {
+ prefix: university_calc_Calculator__concat__prefix__gqlv_action_parameter
+ suffix: university_calc_Calculator__concat__suffix__gqlv_action_parameter
+}
+
+type university_calc_Calculator__concat__prefix__gqlv_action_parameter {
+ disabled(prefix: String): String
+ hidden: Boolean
+ validity: String
+}
+
+type university_calc_Calculator__concat__suffix__gqlv_action_parameter {
+ disabled(prefix: String, suffix: String): String
+ hidden(prefix: String): Boolean
+ validity: String
+}
+
+type university_calc_Calculator__nextMonth__gqlv_action {
+ disabled: String
+ hidden: Boolean
+ invoke(month: String!): String
+ params: university_calc_Calculator__nextMonth__gqlv_action_params
+ validate(month: String): 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: [String]
+ disabled(month: String): String
+ hidden: Boolean
+ validity: String
}
type university_calc_Calculator__not__gqlv_action {
@@ -2403,7 +2632,7 @@ type university_calc_Calculator__not__gqlv_action_params {
type university_calc_Calculator__not__x__gqlv_action_parameter {
disabled(x: Boolean): String
hidden: Boolean
- validity(x: Boolean): String
+ validity: String
}
type university_calc_Calculator__or__gqlv_action {
@@ -2422,19 +2651,19 @@ type university_calc_Calculator__or__gqlv_action_params
{
type university_calc_Calculator__or__x__gqlv_action_parameter {
disabled(x: Boolean): String
hidden: Boolean
- validity(x: Boolean): String
+ validity: String
}
type university_calc_Calculator__or__y__gqlv_action_parameter {
disabled(x: Boolean, y: Boolean): String
hidden(x: Boolean): Boolean
- validity(y: Boolean): String
+ validity: String
}
type university_calc_Calculator__plusDays__date__gqlv_action_parameter {
disabled(date: String): String
hidden: Boolean
- validity(date: String): String
+ validity: String
}
type university_calc_Calculator__plusDays__gqlv_action {
@@ -2453,7 +2682,32 @@ type
university_calc_Calculator__plusDays__gqlv_action_params {
type university_calc_Calculator__plusDays__numDays__gqlv_action_parameter {
disabled(date: String, numDays: Int): String
hidden(date: String): Boolean
- validity(numDays: Int): String
+ validity: String
+}
+
+type university_calc_Calculator__plusJodaDays__date__gqlv_action_parameter {
+ 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 {
+ disabled(date: String, numDays: Int): String
+ hidden(date: String): Boolean
+ validity: String
}
type university_dept_Department {
@@ -2484,7 +2738,7 @@ type
university_dept_Department__addStaffMember__staffMember__gqlv_action_parame
autoComplete(search: String!): [university_dept_StaffMember]
disabled(staffMember: university_dept_StaffMember__gqlv_input): String
hidden: Boolean
- validity(staffMember: university_dept_StaffMember__gqlv_input): String
+ validity: String
}
type university_dept_Department__addStaffMembers__gqlv_action {
@@ -2503,7 +2757,7 @@ type
university_dept_Department__addStaffMembers__staffMembers__gqlv_action_para
choices: [university_dept_StaffMember]
disabled(staffMembers: [university_dept_StaffMember__gqlv_input]): String
hidden: Boolean
- validity(staffMembers: [university_dept_StaffMember__gqlv_input]): String
+ validity: String
}
type university_dept_Department__changeDeptHead__gqlv_action {
@@ -2523,7 +2777,7 @@ type
university_dept_Department__changeDeptHead__newDeptHead__gqlv_action_parame
default: university_dept_DeptHead
disabled(newDeptHead: university_dept_DeptHead__gqlv_input): String
hidden: Boolean
- validity(newDeptHead: university_dept_DeptHead__gqlv_input): String
+ validity: String
}
type university_dept_Department__changeName__gqlv_action {
@@ -2542,7 +2796,7 @@ type
university_dept_Department__changeName__newName__gqlv_action_parameter {
default: String
disabled(newName: String): String
hidden: Boolean
- validity(newName: String): String
+ validity: String
}
type university_dept_Department__deptHead__gqlv_property {
@@ -2584,7 +2838,7 @@ type
university_dept_Department__removeStaffMember__staffMember__gqlv_action_par
choices: [university_dept_StaffMember]
disabled(staffMember: university_dept_StaffMember__gqlv_input): String
hidden: Boolean
- validity(staffMember: university_dept_StaffMember__gqlv_input): String
+ validity: String
}
type university_dept_Department__staffMembers__gqlv_collection {
@@ -2603,7 +2857,7 @@ type
university_dept_Departments__createDepartment__deptHead__gqlv_action_parame
autoComplete(name: String, search: String!): [university_dept_DeptHead]
disabled(deptHead: university_dept_DeptHead__gqlv_input, name: String):
String
hidden(name: String): Boolean
- validity(deptHead: university_dept_DeptHead__gqlv_input): String
+ validity: String
}
type university_dept_Departments__createDepartment__gqlv_action {
@@ -2622,7 +2876,7 @@ type
university_dept_Departments__createDepartment__gqlv_action_params {
type
university_dept_Departments__createDepartment__name__gqlv_action_parameter {
disabled(name: String): String
hidden: Boolean
- validity(name: String): String
+ validity: String
}
type university_dept_Departments__findAllDepartments__gqlv_action {
@@ -2647,7 +2901,7 @@ type
university_dept_Departments__findByName__gqlv_action_params {
type university_dept_Departments__findByName__name__gqlv_action_parameter {
disabled(name: String): String
hidden: Boolean
- validity(name: String): String
+ validity: String
}
type university_dept_DeptHead {
@@ -2662,7 +2916,7 @@ type
university_dept_DeptHead__changeDepartment__department__gqlv_action_paramet
choices: [university_dept_Department]
disabled(department: university_dept_Department__gqlv_input): String
hidden: Boolean
- validity(department: university_dept_Department__gqlv_input): String
+ validity: String
}
type university_dept_DeptHead__changeDepartment__gqlv_action {
@@ -2693,7 +2947,7 @@ type
university_dept_DeptHead__changeName__newName__gqlv_action_parameter {
default: String
disabled(newName: String): String
hidden: Boolean
- validity(newName: String): String
+ validity: String
}
type university_dept_DeptHead__department__gqlv_property {
@@ -2746,7 +3000,7 @@ type
university_dept_DeptHeads__findHeadByName__gqlv_action_params {
type university_dept_DeptHeads__findHeadByName__name__gqlv_action_parameter {
disabled(name: String): String
hidden: Boolean
- validity(name: String): String
+ validity: String
}
type university_dept_Staff {
@@ -2798,7 +3052,7 @@ type
university_dept_Staff__createStaffMember__department__gqlv_action_parameter
choices(name: String): [university_dept_Department]
disabled(department: university_dept_Department__gqlv_input, name: String):
String
hidden(name: String): Boolean
- validity(department: university_dept_Department__gqlv_input): String
+ validity: String
}
type university_dept_Staff__createStaffMember__gqlv_action {
@@ -2817,7 +3071,7 @@ type
university_dept_Staff__createStaffMember__gqlv_action_params {
type university_dept_Staff__createStaffMember__name__gqlv_action_parameter {
disabled(name: String): String
hidden: Boolean
- validity(name: String): String
+ validity: String
}
type university_dept_Staff__findAllStaffMembers__gqlv_action {
@@ -2842,7 +3096,7 @@ type
university_dept_Staff__findByName__gqlv_action_params {
type university_dept_Staff__findByName__name__gqlv_action_parameter {
disabled(name: String): String
hidden: Boolean
- validity(name: String): String
+ validity: String
}
input causeway_applib_DomainObjectList__gqlv_input {
diff --git
a/incubator/viewers/graphql/viewer/src/main/java/org/apache/causeway/viewer/graphql/viewer/integration/GraphQlSourceForCauseway.java
b/incubator/viewers/graphql/viewer/src/main/java/org/apache/causeway/viewer/graphql/viewer/integration/GraphQlSourceForCauseway.java
index f1596fd919..5252488929 100644
---
a/incubator/viewers/graphql/viewer/src/main/java/org/apache/causeway/viewer/graphql/viewer/integration/GraphQlSourceForCauseway.java
+++
b/incubator/viewers/graphql/viewer/src/main/java/org/apache/causeway/viewer/graphql/viewer/integration/GraphQlSourceForCauseway.java
@@ -38,6 +38,7 @@ import
org.apache.causeway.core.metamodel.spec.ObjectSpecification;
import org.apache.causeway.viewer.graphql.model.context.Context;
import org.apache.causeway.viewer.graphql.model.domain.GqlvDomainObject;
import org.apache.causeway.viewer.graphql.model.domain.GqlvDomainService;
+import org.apache.causeway.viewer.graphql.model.types.TypeMapper;
import org.apache.causeway.viewer.graphql.viewer.toplevel.GqlvTopLevelQuery;
import org.apache.causeway.viewer.graphql.model.registry.GraphQLTypeRegistry;
@@ -73,6 +74,7 @@ public class GraphQlSourceForCauseway implements
GraphQlSource {
private final ObjectManager objectManager;
private final BookmarkService bookmarkService;
private final GraphQLTypeRegistry graphQLTypeRegistry;
+ private final TypeMapper typeMapper;
private final AsyncExecutionStrategyResolvingWithinInteraction
executionStrategy;
@PostConstruct
@@ -146,7 +148,7 @@ public class GraphQlSourceForCauseway implements
GraphQlSource {
final GqlvTopLevelQuery gqlvTopLevelQuery,
final GraphQLCodeRegistry.Builder codeRegistryBuilder) {
- Context context = new Context(codeRegistryBuilder, bookmarkService,
specificationLoader);
+ Context context = new Context(codeRegistryBuilder, bookmarkService,
specificationLoader, typeMapper);
switch (objectSpec.getBeanSort()) {