You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@causeway.apache.org by da...@apache.org on 2024/02/12 22:28:17 UTC
(causeway) 11/11: CAUSEWAY-3676: makes fetchData abstract hook
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
commit 2af7585d25093890e01b8da041c23b9ff07c27d5
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Feb 12 22:27:24 2024 +0000
CAUSEWAY-3676: makes fetchData abstract hook
---
.../viewer/graphql/model/domain/GqlvAbstract.java | 2 +
.../viewer/graphql/model/domain/GqlvAction.java | 10 +-
.../graphql/model/domain/GqlvActionInvoke.java | 3 +-
.../graphql/model/domain/GqlvActionParam.java | 11 +-
.../model/domain/GqlvActionParamAutoComplete.java | 3 +-
.../model/domain/GqlvActionParamChoices.java | 3 +-
.../model/domain/GqlvActionParamDefault.java | 185 ++++++++++-----------
.../model/domain/GqlvActionParamDisabled.java | 3 +-
.../model/domain/GqlvActionParamHidden.java | 3 +-
.../model/domain/GqlvActionParamValidate.java | 3 +-
.../graphql/model/domain/GqlvActionParams.java | 3 +-
.../graphql/model/domain/GqlvActionValidity.java | 3 +-
.../graphql/model/domain/GqlvAssociation.java | 7 +-
.../graphql/model/domain/GqlvAssociationGet.java | 3 +-
.../graphql/model/domain/GqlvCollection.java | 7 -
.../graphql/model/domain/GqlvDomainObject.java | 5 +-
.../graphql/model/domain/GqlvDomainService.java | 3 +-
.../viewer/graphql/model/domain/GqlvMember.java | 10 +-
.../graphql/model/domain/GqlvMemberDisabled.java | 4 +-
.../graphql/model/domain/GqlvMemberHidden.java | 4 +-
.../viewer/graphql/model/domain/GqlvMeta.java | 3 +-
.../model/domain/GqlvMutationForAction.java | 3 +-
.../model/domain/GqlvMutationForProperty.java | 3 +-
.../viewer/graphql/model/domain/GqlvProperty.java | 18 +-
.../model/domain/GqlvPropertyAutoComplete.java | 3 +-
.../graphql/model/domain/GqlvPropertyChoices.java | 3 +-
.../graphql/model/domain/GqlvPropertySet.java | 3 +-
.../graphql/model/domain/GqlvPropertyValidate.java | 3 +-
.../viewer/graphql/model/domain/GqlvScenario.java | 8 +-
.../graphql/model/domain/GqlvScenarioGiven.java | 12 +-
.../graphql/model/domain/GqlvScenarioName.java | 3 +-
.../model/toplevel/GqlvTopLevelMutation.java | 12 ++
.../graphql/model/toplevel/GqlvTopLevelQuery.java | 12 ++
.../e2e/scenario/Calculator_IntegTest.concat._.gql | 2 +-
.../Calculator_IntegTest.concat.approved.json | 2 +-
35 files changed, 184 insertions(+), 181 deletions(-)
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAbstract.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAbstract.java
index fc68e0857a..dcbe4c8616 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAbstract.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAbstract.java
@@ -18,6 +18,7 @@
*/
package org.apache.causeway.viewer.graphql.model.domain;
+import graphql.schema.DataFetchingEnvironment;
import graphql.schema.GraphQLFieldDefinition;
import static graphql.schema.GraphQLFieldDefinition.newFieldDefinition;
@@ -46,4 +47,5 @@ public abstract class GqlvAbstract {
return getField() != null;
}
+ protected abstract Object fetchData(DataFetchingEnvironment environment);
}
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAction.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAction.java
index 98c9d53eff..ad2b0d472c 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAction.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAction.java
@@ -50,7 +50,7 @@ import lombok.extern.log4j.Log4j2;
@Log4j2
public class GqlvAction
- extends GqlvMember<ObjectAction, GqlvAction.Holder>
+ extends GqlvMember<ObjectAction, GqlvMember.Holder>
implements GqlvMemberHidden.Holder<ObjectAction>,
GqlvMemberDisabled.Holder<ObjectAction>,
GqlvActionInvoke.Holder,
@@ -265,12 +265,4 @@ public class GqlvAction
}
}
- private Object fetchData(DataFetchingEnvironment dataFetchingEnvironment) {
- return BookmarkedPojo.sourceFrom(dataFetchingEnvironment, context);
- }
-
-
-
- public interface Holder extends GqlvMember.Holder {
- }
}
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionInvoke.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionInvoke.java
index 5324fbef86..6343802ac4 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionInvoke.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionInvoke.java
@@ -126,7 +126,8 @@ public class GqlvActionInvoke extends GqlvAbstract {
);
}
- private Object fetchData(final DataFetchingEnvironment dataFetchingEnvironment) {
+ @Override
+ protected Object fetchData(final DataFetchingEnvironment dataFetchingEnvironment) {
val sourcePojo = BookmarkedPojo.sourceFrom(dataFetchingEnvironment);
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParam.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParam.java
index 70117e7009..a79aeb3a6c 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParam.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParam.java
@@ -21,21 +21,17 @@ package org.apache.causeway.viewer.graphql.model.domain;
import graphql.schema.DataFetchingEnvironment;
import graphql.schema.GraphQLFieldDefinition;
-import static graphql.schema.GraphQLFieldDefinition.newFieldDefinition;
-import static graphql.schema.GraphQLObjectType.newObject;
-
import org.apache.causeway.applib.services.bookmark.BookmarkService;
import org.apache.causeway.commons.collections.Can;
import org.apache.causeway.core.metamodel.object.ManagedObject;
import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
import org.apache.causeway.core.metamodel.spec.feature.ObjectAction;
import org.apache.causeway.core.metamodel.spec.feature.ObjectActionParameter;
-import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
-import org.apache.causeway.viewer.graphql.model.types.TypeMapper;
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.fetcher.BookmarkedPojo;
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.val;
@@ -150,7 +146,8 @@ public class GqlvActionParam
validate.addDataFetcher(this);
}
- private Object fetchData(DataFetchingEnvironment dataFetchingEnvironment) {
+ @Override
+ protected Object fetchData(DataFetchingEnvironment dataFetchingEnvironment) {
return BookmarkedPojo.sourceFrom(dataFetchingEnvironment, context);
}
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamAutoComplete.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamAutoComplete.java
index 7a3c554cc3..3925f18dc1 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamAutoComplete.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamAutoComplete.java
@@ -85,7 +85,8 @@ package org.apache.causeway.viewer.graphql.model.domain;
);
}
- private List<Object> fetchData(final DataFetchingEnvironment dataFetchingEnvironment) {
+ @Override
+ protected List<Object> fetchData(final DataFetchingEnvironment dataFetchingEnvironment) {
val sourcePojo = BookmarkedPojo.sourceFrom(dataFetchingEnvironment);
val objectSpecification = context.specificationLoader.loadSpecification(sourcePojo.getClass());
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamChoices.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamChoices.java
index 2398cfa101..51caf2a031 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamChoices.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamChoices.java
@@ -77,7 +77,8 @@ package org.apache.causeway.viewer.graphql.model.domain;
);
}
- private List<Object> fetchData(final DataFetchingEnvironment dataFetchingEnvironment) {
+ @Override
+ protected List<Object> fetchData(final DataFetchingEnvironment dataFetchingEnvironment) {
val sourcePojo = BookmarkedPojo.sourceFrom(dataFetchingEnvironment);
val objectSpecification = context.specificationLoader.loadSpecification(sourcePojo.getClass());
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamDefault.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamDefault.java
index af5ca69297..3bc0991c9a 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamDefault.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamDefault.java
@@ -1,4 +1,4 @@
- /*
+/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -18,98 +18,91 @@
*/
package org.apache.causeway.viewer.graphql.model.domain;
- import java.util.Collections;
-
- import graphql.schema.DataFetchingEnvironment;
- import graphql.schema.GraphQLFieldDefinition;
-
- import static graphql.schema.GraphQLFieldDefinition.newFieldDefinition;
-
- import org.apache.causeway.applib.annotation.Where;
- import org.apache.causeway.applib.services.bookmark.BookmarkService;
- import org.apache.causeway.commons.collections.Can;
- 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.types.TypeMapper;
- 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;
- import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionProvider;
- import org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationProvider;
-
- import lombok.val;
- import lombok.extern.log4j.Log4j2;
-
- @Log4j2
- public class GqlvActionParamDefault extends GqlvAbstract {
-
- private final Holder holder;
-
- public GqlvActionParamDefault(
- final Holder holder,
- final Context context) {
- super(context);
- this.holder = holder;
-
- val objectActionParameter = holder.getObjectActionParameter();
-
- if (objectActionParameter.hasDefaults()) {
- val elementType = objectActionParameter.getElementType();
- val fieldBuilder = newFieldDefinition()
- .name("default")
- .type(context.typeMapper.outputTypeFor(elementType));
- holder.addGqlArguments(holder.getObjectAction(), fieldBuilder, TypeMapper.InputContext.DEFAULT, holder.getParamNum());
- setField(fieldBuilder.build());
- } else {
- setField(null);
- }
- }
-
- public void addDataFetcher(Parent parent) {
- context.codeRegistryBuilder.dataFetcher(
- parent.coordinatesFor(getField()),
- this::fetchData
- );
- }
-
- private Object fetchData(final DataFetchingEnvironment dataFetchingEnvironment) {
-
- val sourcePojo = BookmarkedPojo.sourceFrom(dataFetchingEnvironment);
- val objectSpecification = context.specificationLoader.loadSpecification(sourcePojo.getClass());
- if (objectSpecification == null) {
- return Collections.emptyList();
- }
-
- val objectAction = holder.getObjectAction();
- val managedObject = ManagedObject.adaptSingular(objectSpecification, sourcePojo);
-
- val objectActionParameter = objectAction.getParameterById(holder.getObjectActionParameter().getId());
- val argumentManagedObjects = holder.argumentManagedObjectsFor(dataFetchingEnvironment, objectAction, context.bookmarkService);
-
- val managedAction = ManagedAction.of(managedObject, objectAction, Where.ANYWHERE);
- val pendingArgs = ParameterNegotiationModel.of(managedAction, argumentManagedObjects);
- val defaultManagedObject = objectActionParameter.getDefault(pendingArgs);
-
- return defaultManagedObject.getPojo();
- }
-
- public interface Holder
- extends ObjectSpecificationProvider,
- ObjectActionProvider,
- ObjectActionParameterProvider {
- GqlvActionParam.Holder getHolder();
-
- void addGqlArguments(
- ObjectAction objectAction,
- GraphQLFieldDefinition.Builder fieldBuilder,
- TypeMapper.InputContext inputContext,
- int paramNum);
-
- Can<ManagedObject> argumentManagedObjectsFor(
- DataFetchingEnvironment dataFetchingEnvironment,
- ObjectAction objectAction,
- BookmarkService bookmarkService);
- }
- }
+import java.util.Collections;
+
+import graphql.schema.DataFetchingEnvironment;
+import graphql.schema.GraphQLFieldDefinition;
+
+import static graphql.schema.GraphQLFieldDefinition.newFieldDefinition;
+
+import org.apache.causeway.applib.annotation.Where;
+import org.apache.causeway.applib.services.bookmark.BookmarkService;
+import org.apache.causeway.commons.collections.Can;
+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;
+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.val;
+import lombok.extern.log4j.Log4j2;
+
+@Log4j2
+public class GqlvActionParamDefault extends GqlvAbstract {
+ private final Holder holder;
+
+ public GqlvActionParamDefault(
+ final Holder holder,
+ final Context context) {
+ super(context);
+ this.holder = holder;
+ val objectActionParameter = holder.getObjectActionParameter();
+ if (objectActionParameter.hasDefaults()) {
+ val elementType = objectActionParameter.getElementType();
+ val fieldBuilder = newFieldDefinition()
+ .name("default")
+ .type(context.typeMapper.outputTypeFor(elementType));
+ holder.addGqlArguments(holder.getObjectAction(), fieldBuilder, TypeMapper.InputContext.DEFAULT, holder.getParamNum());
+ setField(fieldBuilder.build());
+ } else {
+ setField(null);
+ }
+ }
+
+ public void addDataFetcher(Parent parent) {
+ context.codeRegistryBuilder.dataFetcher(
+ parent.coordinatesFor(getField()),
+ this::fetchData
+ );
+ }
+
+ @Override
+ protected Object fetchData(final DataFetchingEnvironment dataFetchingEnvironment) {
+ val sourcePojo = BookmarkedPojo.sourceFrom(dataFetchingEnvironment);
+ val objectSpecification = context.specificationLoader.loadSpecification(sourcePojo.getClass());
+ if (objectSpecification == null) {
+ return Collections.emptyList();
+ }
+ val objectAction = holder.getObjectAction();
+ val managedObject = ManagedObject.adaptSingular(objectSpecification, sourcePojo);
+ val objectActionParameter = objectAction.getParameterById(holder.getObjectActionParameter().getId());
+ val argumentManagedObjects = holder.argumentManagedObjectsFor(dataFetchingEnvironment, objectAction, context.bookmarkService);
+ val managedAction = ManagedAction.of(managedObject, objectAction, Where.ANYWHERE);
+ val pendingArgs = ParameterNegotiationModel.of(managedAction, argumentManagedObjects);
+ val defaultManagedObject = objectActionParameter.getDefault(pendingArgs);
+ return defaultManagedObject.getPojo();
+ }
+
+ public interface Holder
+ extends ObjectSpecificationProvider,
+ ObjectActionProvider,
+ ObjectActionParameterProvider {
+ GqlvActionParam.Holder getHolder();
+
+ void addGqlArguments(
+ ObjectAction objectAction,
+ GraphQLFieldDefinition.Builder fieldBuilder,
+ TypeMapper.InputContext inputContext,
+ int paramNum);
+
+ Can<ManagedObject> argumentManagedObjectsFor(
+ DataFetchingEnvironment dataFetchingEnvironment,
+ ObjectAction objectAction,
+ BookmarkService bookmarkService);
+ }
+}
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamDisabled.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamDisabled.java
index ee8dcb76f1..7dd596a560 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamDisabled.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamDisabled.java
@@ -65,7 +65,8 @@ public class GqlvActionParamDisabled extends GqlvAbstract {
);
}
- private String fetchData(final DataFetchingEnvironment dataFetchingEnvironment) {
+ @Override
+ protected String fetchData(final DataFetchingEnvironment dataFetchingEnvironment) {
val sourcePojo = BookmarkedPojo.sourceFrom(dataFetchingEnvironment);
val objectSpecification = context.specificationLoader.loadSpecification(sourcePojo.getClass());
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamHidden.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamHidden.java
index 8c2eb259e4..ee97875849 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamHidden.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamHidden.java
@@ -64,7 +64,8 @@ public class GqlvActionParamHidden extends GqlvAbstract {
);
}
- private boolean fetchData(final DataFetchingEnvironment dataFetchingEnvironment) {
+ @Override
+ protected Object fetchData(final DataFetchingEnvironment dataFetchingEnvironment) {
val sourcePojo = BookmarkedPojo.sourceFrom(dataFetchingEnvironment);
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamValidate.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamValidate.java
index 51f1bbd5f0..f830662f77 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamValidate.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamValidate.java
@@ -64,7 +64,8 @@ public class GqlvActionParamValidate extends GqlvAbstract {
);
}
- private String fetchData(final DataFetchingEnvironment dataFetchingEnvironment) {
+ @Override
+ protected String fetchData(final DataFetchingEnvironment dataFetchingEnvironment) {
val sourcePojo = BookmarkedPojo.sourceFrom(dataFetchingEnvironment);
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParams.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParams.java
index 36ad45b387..4d656ede8e 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParams.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParams.java
@@ -104,7 +104,8 @@ public class GqlvActionParams
}
- private Object fetchData(DataFetchingEnvironment dataFetchingEnvironment) {
+ @Override
+ protected Object fetchData(DataFetchingEnvironment dataFetchingEnvironment) {
return BookmarkedPojo.sourceFrom(dataFetchingEnvironment, context);
}
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionValidity.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionValidity.java
index c48cc939d8..90064a0a04 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionValidity.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionValidity.java
@@ -75,7 +75,8 @@ public class GqlvActionValidity extends GqlvAbstract {
);
}
- private Object fetchData(final DataFetchingEnvironment dataFetchingEnvironment) {
+ @Override
+ protected Object fetchData(final DataFetchingEnvironment dataFetchingEnvironment) {
final ObjectAction objectAction = holder.getObjectAction();
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAssociation.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAssociation.java
index c34c3e7edb..831ec97398 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAssociation.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAssociation.java
@@ -18,13 +18,15 @@
*/
package org.apache.causeway.viewer.graphql.model.domain;
+import graphql.schema.DataFetchingEnvironment;
import graphql.schema.GraphQLFieldDefinition;
import graphql.schema.GraphQLObjectType;
import org.apache.causeway.core.metamodel.spec.feature.ObjectAssociation;
import org.apache.causeway.viewer.graphql.model.context.Context;
+import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
-public abstract class GqlvAssociation<T extends ObjectAssociation, H extends GqlvAssociation.Holder> extends GqlvMember<T, H> {
+public abstract class GqlvAssociation<T extends ObjectAssociation, H extends GqlvMember.Holder> extends GqlvMember<T, H> {
public GqlvAssociation(
final H holder,
@@ -42,7 +44,4 @@ public abstract class GqlvAssociation<T extends ObjectAssociation, H extends Gql
return getObjectMember();
}
- public interface Holder
- extends GqlvMember.Holder {
- }
}
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAssociationGet.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAssociationGet.java
index ffb2b6b63f..de73b833ce 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAssociationGet.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAssociationGet.java
@@ -76,7 +76,8 @@ public abstract class GqlvAssociationGet<T extends ObjectAssociation> extends Gq
}
}
- Object fetchData(final DataFetchingEnvironment dataFetchingEnvironment) {
+ @Override
+ protected Object fetchData(final DataFetchingEnvironment dataFetchingEnvironment) {
// TODO: introduce evaluator
val sourcePojo = BookmarkedPojo.sourceFrom(dataFetchingEnvironment);
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvCollection.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvCollection.java
index cc6f33cf1e..69e98cde4d 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvCollection.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvCollection.java
@@ -76,11 +76,4 @@ public class GqlvCollection
get.addDataFetcher(this);
}
- private Object fetchData(DataFetchingEnvironment dataFetchingEnvironment) {
- return BookmarkedPojo.sourceFrom(dataFetchingEnvironment, context);
- }
-
- public interface Holder extends GqlvAssociation.Holder {
-
- }
}
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvDomainObject.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvDomainObject.java
index 8edaace838..1fa4767f53 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvDomainObject.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvDomainObject.java
@@ -50,7 +50,7 @@ import lombok.val;
*/
public class GqlvDomainObject
extends GqlvAbstractCustom
- implements GqlvAction.Holder, GqlvProperty.Holder, GqlvCollection.Holder, GqlvMeta.Holder {
+ implements GqlvMember.Holder, GqlvMeta.Holder {
@Getter private final ObjectSpecification objectSpecification;
@@ -168,7 +168,8 @@ public class GqlvDomainObject
actions.forEach((id, action) -> action.addDataFetcher(this));
}
- private Object fetchData(DataFetchingEnvironment environment) {
+ @Override
+ protected Object fetchData(DataFetchingEnvironment environment) {
Object target = environment.getArgument("object");
return GqlvAction.asPojo(getObjectSpecification(), target, this.context.bookmarkService)
.orElse(null);
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvDomainService.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvDomainService.java
index 3c9677549d..d0467925fc 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvDomainService.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvDomainService.java
@@ -98,7 +98,8 @@ public class GqlvDomainService
}
}
- private Object fetchData(DataFetchingEnvironment environment) {
+ @Override
+ protected Object fetchData(DataFetchingEnvironment environment) {
return getServicePojo();
}
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMember.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMember.java
index d7751f2c49..9aabeb5195 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMember.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMember.java
@@ -18,13 +18,12 @@
*/
package org.apache.causeway.viewer.graphql.model.domain;
-import graphql.schema.GraphQLFieldDefinition;
-
import org.apache.causeway.core.metamodel.spec.feature.ObjectMember;
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;
-import graphql.schema.GraphQLObjectType;
+import graphql.schema.DataFetchingEnvironment;
import lombok.Getter;
@@ -49,6 +48,11 @@ public abstract class GqlvMember<T extends ObjectMember, H extends GqlvMember.Ho
return objectMember.getFeatureIdentifier().getFullIdentityString();
}
+ @Override
+ protected Object fetchData(DataFetchingEnvironment dataFetchingEnvironment) {
+ return BookmarkedPojo.sourceFrom(dataFetchingEnvironment, context);
+ }
+
public interface Holder
extends ObjectSpecificationProvider {
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMemberDisabled.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMemberDisabled.java
index 37d013ee37..115c14b5ae 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMemberDisabled.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMemberDisabled.java
@@ -59,8 +59,8 @@ public class GqlvMemberDisabled<T extends ObjectMember> extends GqlvAbstract {
);
}
- private String fetchData(
- final DataFetchingEnvironment dataFetchingEnvironment) {
+ @Override
+ protected String fetchData(final DataFetchingEnvironment dataFetchingEnvironment) {
val sourcePojo = BookmarkedPojo.sourceFrom(dataFetchingEnvironment);
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMemberHidden.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMemberHidden.java
index 0baf237c8e..2928490117 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMemberHidden.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMemberHidden.java
@@ -59,8 +59,8 @@ public class GqlvMemberHidden<T extends ObjectMember> extends GqlvAbstract {
);
}
- private boolean fetchData(
- final DataFetchingEnvironment dataFetchingEnvironment) {
+ @Override
+ protected Object fetchData(final DataFetchingEnvironment dataFetchingEnvironment) {
val sourcePojo = BookmarkedPojo.sourceFrom(dataFetchingEnvironment);
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMeta.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMeta.java
index 6a540dc31f..cedc1250e6 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMeta.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMeta.java
@@ -91,7 +91,8 @@ public class GqlvMeta extends GqlvAbstractCustom {
}
}
- private Fetcher fetchData(DataFetchingEnvironment environment) {
+ @Override
+ public Object fetchData(final DataFetchingEnvironment environment) {
return context.bookmarkService.bookmarkFor(environment.getSource())
.map(bookmark -> new Fetcher(bookmark, context.bookmarkService, context.objectManager))
.orElseThrow();
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMutationForAction.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMutationForAction.java
index d62d6439c9..5b01b9ed3e 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMutationForAction.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMutationForAction.java
@@ -122,7 +122,8 @@ public class GqlvMutationForAction extends GqlvAbstract {
);
}
- private Object fetchData(final DataFetchingEnvironment dataFetchingEnvironment) {
+ @Override
+ protected Object fetchData(final DataFetchingEnvironment dataFetchingEnvironment) {
val isService = objectSpec.getBeanSort().isManagedBeanContributing();
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMutationForProperty.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMutationForProperty.java
index ec148c55e6..c5088fab9f 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMutationForProperty.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMutationForProperty.java
@@ -92,7 +92,8 @@ public class GqlvMutationForProperty extends GqlvAbstract {
}
}
- private Object fetchData(final DataFetchingEnvironment dataFetchingEnvironment) {
+ @Override
+ protected Object fetchData(final DataFetchingEnvironment dataFetchingEnvironment) {
Object target = dataFetchingEnvironment.getArgument(argumentName);
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvProperty.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvProperty.java
index 2ae32a0d9b..f60c262077 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvProperty.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvProperty.java
@@ -18,25 +18,19 @@
*/
package org.apache.causeway.viewer.graphql.model.domain;
-import graphql.schema.DataFetchingEnvironment;
import graphql.schema.GraphQLArgument;
import graphql.schema.GraphQLFieldDefinition;
-import static graphql.schema.GraphQLFieldDefinition.newFieldDefinition;
-import static graphql.schema.GraphQLObjectType.newObject;
-
import org.apache.causeway.core.config.CausewayConfiguration;
import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
import org.apache.causeway.core.metamodel.spec.feature.OneToOneAssociation;
-import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
-import org.apache.causeway.viewer.graphql.model.types.TypeMapper;
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.types.TypeMapper;
import lombok.val;
public class GqlvProperty
- extends GqlvAssociation<OneToOneAssociation, GqlvProperty.Holder>
+ extends GqlvAssociation<OneToOneAssociation, GqlvMember.Holder>
implements GqlvMemberHidden.Holder<OneToOneAssociation>,
GqlvMemberDisabled.Holder<OneToOneAssociation>,
GqlvPropertyGet.Holder,
@@ -154,12 +148,4 @@ public class GqlvProperty
}
}
- private Object fetchData(DataFetchingEnvironment dataFetchingEnvironment) {
- return BookmarkedPojo.sourceFrom(dataFetchingEnvironment, context);
- }
-
-
- public interface Holder
- extends GqlvAssociation.Holder {
- }
}
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvPropertyAutoComplete.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvPropertyAutoComplete.java
index f40328f20d..0f1abe5a0a 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvPropertyAutoComplete.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvPropertyAutoComplete.java
@@ -87,7 +87,8 @@ public class GqlvPropertyAutoComplete extends GqlvAbstract {
}
}
- List<Object> fetchData(final DataFetchingEnvironment dataFetchingEnvironment) {
+ @Override
+ protected Object fetchData(final DataFetchingEnvironment dataFetchingEnvironment) {
val sourcePojo = BookmarkedPojo.sourceFrom(dataFetchingEnvironment);
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvPropertyChoices.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvPropertyChoices.java
index 2e6d34a5f5..a6358d4d8d 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvPropertyChoices.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvPropertyChoices.java
@@ -83,7 +83,8 @@ public class GqlvPropertyChoices extends GqlvAbstract {
}
}
- List<Object> fetchData(final DataFetchingEnvironment dataFetchingEnvironment) {
+ @Override
+ protected Object fetchData(final DataFetchingEnvironment dataFetchingEnvironment) {
val sourcePojo = BookmarkedPojo.sourceFrom(dataFetchingEnvironment);
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvPropertySet.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvPropertySet.java
index a7b0c4b4d5..0d608cff5f 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvPropertySet.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvPropertySet.java
@@ -85,7 +85,8 @@ public class GqlvPropertySet extends GqlvAbstract {
}
}
- Object fetchData(final DataFetchingEnvironment dataFetchingEnvironment) {
+ @Override
+ protected Object fetchData(final DataFetchingEnvironment dataFetchingEnvironment) {
val sourcePojo = BookmarkedPojo.sourceFrom(dataFetchingEnvironment);
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvPropertyValidate.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvPropertyValidate.java
index acc7059bf2..2a4f98d60f 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvPropertyValidate.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvPropertyValidate.java
@@ -70,7 +70,8 @@ public class GqlvPropertyValidate extends GqlvAbstract {
}
}
- Object fetchData(final DataFetchingEnvironment dataFetchingEnvironment) {
+ @Override
+ protected Object fetchData(final DataFetchingEnvironment dataFetchingEnvironment) {
val sourcePojo = BookmarkedPojo.sourceFrom(dataFetchingEnvironment);
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvScenario.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvScenario.java
index 9674a5c7ff..f6dcfe9b9c 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvScenario.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvScenario.java
@@ -19,15 +19,10 @@
package org.apache.causeway.viewer.graphql.model.domain;
import graphql.Scalars;
-import graphql.schema.DataFetcher;
import graphql.schema.DataFetchingEnvironment;
import graphql.schema.GraphQLArgument;
import graphql.schema.GraphQLFieldDefinition;
-import static graphql.schema.FieldCoordinates.coordinates;
-import static graphql.schema.GraphQLFieldDefinition.newFieldDefinition;
-import static graphql.schema.GraphQLObjectType.newObject;
-
import org.apache.causeway.viewer.graphql.model.context.Context;
/**
@@ -73,7 +68,8 @@ public class GqlvScenario
scenarioGiven.addDataFetchers(this);
}
- private DataFetchingEnvironment fetchData(DataFetchingEnvironment environment) {
+ @Override
+ protected DataFetchingEnvironment fetchData(DataFetchingEnvironment environment) {
String scenarioName = environment.getArgument("name");
environment.getGraphQlContext().put(KEY_SCENARIO_NAME, scenarioName);
return environment;
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvScenarioGiven.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvScenarioGiven.java
index c37dc92e40..52430791e3 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvScenarioGiven.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvScenarioGiven.java
@@ -1,17 +1,14 @@
package org.apache.causeway.viewer.graphql.model.domain;
-import graphql.schema.DataFetcher;
-import graphql.schema.DataFetchingEnvironment;
-
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
+import graphql.schema.DataFetchingEnvironment;
+
import org.apache.causeway.applib.services.metamodel.BeanSort;
import org.apache.causeway.viewer.graphql.model.context.Context;
-import static graphql.schema.GraphQLObjectType.newObject;
-
public class GqlvScenarioGiven
extends GqlvAbstractCustom
implements Parent {
@@ -60,7 +57,7 @@ public class GqlvScenarioGiven
public void addDataFetchers(Parent parent) {
context.codeRegistryBuilder.dataFetcher(
parent.coordinatesFor(getField()),
- GqlvScenarioGiven::fetchData);
+ this::fetchData);
domainServices.forEach(domainService -> {
boolean actionsAdded = domainService.hasActions();
@@ -72,7 +69,8 @@ public class GqlvScenarioGiven
domainObjects.forEach(domainObject -> domainObject.addDataFetchers(this));
}
- private static DataFetchingEnvironment fetchData(DataFetchingEnvironment environment) {
+ @Override
+ protected DataFetchingEnvironment fetchData(DataFetchingEnvironment environment) {
return environment;
}
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvScenarioName.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvScenarioName.java
index 9a7aa4cf03..2d5aaed682 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvScenarioName.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvScenarioName.java
@@ -30,7 +30,8 @@ public class GqlvScenarioName extends GqlvAbstract {
this::fetchData);
}
- private Object fetchData(DataFetchingEnvironment environment) {
+ @Override
+ protected Object fetchData(DataFetchingEnvironment environment) {
val graphQlContext = environment.getGraphQlContext();
return graphQlContext.get(GqlvScenario.KEY_SCENARIO_NAME);
}
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/toplevel/GqlvTopLevelMutation.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/toplevel/GqlvTopLevelMutation.java
index 547e627411..7608449710 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/toplevel/GqlvTopLevelMutation.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/toplevel/GqlvTopLevelMutation.java
@@ -3,6 +3,7 @@ package org.apache.causeway.viewer.graphql.model.toplevel;
import java.util.ArrayList;
import java.util.List;
+import graphql.schema.DataFetchingEnvironment;
import graphql.schema.GraphQLObjectType;
import static graphql.schema.GraphQLObjectType.newObject;
@@ -46,6 +47,17 @@ public class GqlvTopLevelMutation
buildObjectType();
}
+ /**
+ * Never used.
+ *
+ * @param environment
+ * @return
+ */
+ @Override
+ protected Object fetchData(DataFetchingEnvironment environment) {
+ return null;
+ }
+
public void addAction(ObjectSpecification objectSpec, final ObjectAction objectAction) {
val gqlvMutationForAction = new GqlvMutationForAction(objectSpec, objectAction, context);
addChildField(gqlvMutationForAction.getField());
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/toplevel/GqlvTopLevelQuery.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/toplevel/GqlvTopLevelQuery.java
index eff065063f..8696374203 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/toplevel/GqlvTopLevelQuery.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/toplevel/GqlvTopLevelQuery.java
@@ -3,6 +3,7 @@ package org.apache.causeway.viewer.graphql.model.toplevel;
import java.util.ArrayList;
import java.util.List;
+import graphql.schema.DataFetchingEnvironment;
import graphql.schema.GraphQLObjectType;
import org.apache.causeway.viewer.graphql.model.context.Context;
@@ -62,6 +63,17 @@ public class GqlvTopLevelQuery
buildObjectType();
}
+ /**
+ * Never used.
+ *
+ * @param environment
+ * @return
+ */
+ @Override
+ protected Object fetchData(DataFetchingEnvironment environment) {
+ return null;
+ }
+
@Override
public GraphQLObjectType getGqlObjectType() {
return super.getGqlObjectType();
diff --git a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/scenario/Calculator_IntegTest.concat._.gql b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/scenario/Calculator_IntegTest.concat._.gql
index a07ae57dbf..88cf551654 100644
--- a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/scenario/Calculator_IntegTest.concat._.gql
+++ b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/scenario/Calculator_IntegTest.concat._.gql
@@ -1,5 +1,5 @@
{
- Scenario(name: "Fizz buzz"){
+ Scenario(name: "Fizz and buzz are concatenated together"){
Name
Given {
university_calc_Calculator {
diff --git a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/scenario/Calculator_IntegTest.concat.approved.json b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/scenario/Calculator_IntegTest.concat.approved.json
index 6aadf438a5..6f44d5df24 100644
--- a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/scenario/Calculator_IntegTest.concat.approved.json
+++ b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/scenario/Calculator_IntegTest.concat.approved.json
@@ -1,7 +1,7 @@
{
"data" : {
"Scenario" : {
- "Name" : "Fizz buzz",
+ "Name" : "Fizz and buzz are concatenated together",
"Given" : {
"university_calc_Calculator" : {
"concat" : {