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 64bb7e5cd6aed90907d76e12f872acd31b0b6d1e Author: danhaywood <[email protected]> AuthorDate: Mon Feb 12 21:54:36 2024 +0000 CAUSEWAY-3676: renames data fetcher methods consistently --- persistence/jpa/adoc/modules/ROOT/pages/weaving.adoc | 2 +- .../viewer/graphql/model/domain/GqlvActionParam.java | 8 +++++++- .../model/domain/GqlvActionParamAutoComplete.java | 4 ++-- .../graphql/model/domain/GqlvActionParamChoices.java | 4 ++-- .../graphql/model/domain/GqlvActionParamDefault.java | 4 ++-- .../graphql/model/domain/GqlvActionParamDisabled.java | 4 ++-- .../graphql/model/domain/GqlvActionParamHidden.java | 4 ++-- .../graphql/model/domain/GqlvActionParamValidate.java | 4 ++-- .../viewer/graphql/model/domain/GqlvActionParams.java | 7 ++++++- .../graphql/model/domain/GqlvActionValidity.java | 4 ++-- .../graphql/model/domain/GqlvAssociationGet.java | 4 ++-- .../viewer/graphql/model/domain/GqlvCollection.java | 9 ++++++++- .../viewer/graphql/model/domain/GqlvDomainObject.java | 13 ++++++++----- .../graphql/model/domain/GqlvDomainService.java | 8 +++++++- .../graphql/model/domain/GqlvMemberDisabled.java | 4 ++-- .../viewer/graphql/model/domain/GqlvMemberHidden.java | 4 ++-- .../viewer/graphql/model/domain/GqlvMeta.java | 19 +++++++++++++++---- .../graphql/model/domain/GqlvMutationForAction.java | 4 ++-- .../graphql/model/domain/GqlvMutationForProperty.java | 4 ++-- .../viewer/graphql/model/domain/GqlvProperty.java | 8 +++++++- .../model/domain/GqlvPropertyAutoComplete.java | 4 ++-- .../graphql/model/domain/GqlvPropertyChoices.java | 4 ++-- .../viewer/graphql/model/domain/GqlvPropertySet.java | 4 ++-- .../graphql/model/domain/GqlvPropertyValidate.java | 4 ++-- .../viewer/graphql/model/domain/GqlvScenario.java | 12 +++++++----- .../graphql/model/domain/GqlvScenarioGiven.java | 6 +++++- 26 files changed, 103 insertions(+), 53 deletions(-) diff --git a/persistence/jpa/adoc/modules/ROOT/pages/weaving.adoc b/persistence/jpa/adoc/modules/ROOT/pages/weaving.adoc index 938fb221b5..62c3da1348 100644 --- a/persistence/jpa/adoc/modules/ROOT/pages/weaving.adoc +++ b/persistence/jpa/adoc/modules/ROOT/pages/weaving.adoc @@ -70,7 +70,7 @@ As well as setting the above configuration options, it's also neceesary to run t + [source,bash] ---- -mvn dependency:get -DgroupId=org.springframework -DartifactId=spring-instrument -Dversion=XXX +mvn dependency:fetchData -DgroupId=org.springframework -DartifactId=spring-instrument -Dversion=XXX ---- = changing "XXX" to the value that `${spring-framework.version}` resolves to, from the Causeway parent `pom.xml`. 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 f1d65abafe..70117e7009 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 @@ -30,6 +30,7 @@ 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; @@ -133,7 +134,7 @@ public class GqlvActionParam public void addDataFetcher(Parent parent) { context.codeRegistryBuilder.dataFetcher( parent.coordinatesFor(getField()), - new BookmarkedPojoFetcher(context.bookmarkService)); + this::fetchData); hidden.addDataFetcher(this); disabled.addDataFetcher(this); @@ -149,6 +150,11 @@ public class GqlvActionParam validate.addDataFetcher(this); } + private Object fetchData(DataFetchingEnvironment dataFetchingEnvironment) { + return BookmarkedPojo.sourceFrom(dataFetchingEnvironment, context); + } + + @Override public void addGqlArguments(ObjectAction objectAction, GraphQLFieldDefinition.Builder fieldBuilder, TypeMapper.InputContext inputContext, int paramNum) { 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 a984178339..7a3c554cc3 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 @@ -81,11 +81,11 @@ package org.apache.causeway.viewer.graphql.model.domain; public void addDataFetcher(Parent parent) { context.codeRegistryBuilder.dataFetcher( parent.coordinatesFor(getField()), - this::choices + this::fetchData ); } - private List<Object> choices(final DataFetchingEnvironment dataFetchingEnvironment) { + private 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 97d44acbc8..2398cfa101 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 @@ -73,11 +73,11 @@ package org.apache.causeway.viewer.graphql.model.domain; public void addDataFetcher(Parent parent) { context.codeRegistryBuilder.dataFetcher( parent.coordinatesFor(getField()), - this::choices + this::fetchData ); } - private List<Object> choices(final DataFetchingEnvironment dataFetchingEnvironment) { + private 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 482cdeb3c3..af5ca69297 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 @@ -70,11 +70,11 @@ package org.apache.causeway.viewer.graphql.model.domain; public void addDataFetcher(Parent parent) { context.codeRegistryBuilder.dataFetcher( parent.coordinatesFor(getField()), - this::default_ + this::fetchData ); } - private Object default_(final DataFetchingEnvironment dataFetchingEnvironment) { + private 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/GqlvActionParamDisabled.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionParamDisabled.java index f31e8a9a03..ee8dcb76f1 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 @@ -61,11 +61,11 @@ public class GqlvActionParamDisabled extends GqlvAbstract { public void addDataFetcher(Parent parent) { context.codeRegistryBuilder.dataFetcher( parent.coordinatesFor(getField()), - this::disabled + this::fetchData ); } - private String disabled(final DataFetchingEnvironment dataFetchingEnvironment) { + private 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 7c5a32085b..8c2eb259e4 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 @@ -60,11 +60,11 @@ public class GqlvActionParamHidden extends GqlvAbstract { public void addDataFetcher(Parent parent) { context.codeRegistryBuilder.dataFetcher( parent.coordinatesFor(getField()), - this::hidden + this::fetchData ); } - private boolean hidden(final DataFetchingEnvironment dataFetchingEnvironment) { + private boolean 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 c7b7e9d029..51f1bbd5f0 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 @@ -60,11 +60,11 @@ public class GqlvActionParamValidate extends GqlvAbstract { public void addDataFetcher(Parent parent) { context.codeRegistryBuilder.dataFetcher( parent.coordinatesFor(getField()), - this::disabled + this::fetchData ); } - private String disabled(final DataFetchingEnvironment dataFetchingEnvironment) { + private 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 d244db8e64..36ad45b387 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 @@ -34,6 +34,7 @@ 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.context.Context; +import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo; 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; @@ -97,12 +98,16 @@ public class GqlvActionParams void addDataFetcher(Parent parent) { context.codeRegistryBuilder.dataFetcher( parent.coordinatesFor(getField()), - new BookmarkedPojoFetcher(context.bookmarkService)); + this::fetchData); params.forEach((id, param) -> param.addDataFetcher(this)); } + private Object fetchData(DataFetchingEnvironment dataFetchingEnvironment) { + return BookmarkedPojo.sourceFrom(dataFetchingEnvironment, context); + } + @Override public void addGqlArguments( ObjectAction objectAction, GraphQLFieldDefinition.Builder fieldBuilder, TypeMapper.InputContext inputContext, int paramNum) { 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 f2df5e1f76..c48cc939d8 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 @@ -71,11 +71,11 @@ public class GqlvActionValidity extends GqlvAbstract { public void addDataFetcher(Parent parent) { context.codeRegistryBuilder.dataFetcher( parent.coordinatesFor(getField()), - this::validate + this::fetchData ); } - private Object validate(final DataFetchingEnvironment dataFetchingEnvironment) { + private 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/GqlvAssociationGet.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAssociationGet.java index ff24a587c2..ffb2b6b63f 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 @@ -69,14 +69,14 @@ public abstract class GqlvAssociationGet<T extends ObjectAssociation> extends Gq context.codeRegistryBuilder.dataFetcher( parent.coordinatesFor(getField()), - this::get); + this::fetchData); break; } } - Object get(final DataFetchingEnvironment dataFetchingEnvironment) { + 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 a2495f1d9d..cc6f33cf1e 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 @@ -18,12 +18,15 @@ */ package org.apache.causeway.viewer.graphql.model.domain; +import graphql.schema.DataFetchingEnvironment; + import static graphql.schema.GraphQLFieldDefinition.newFieldDefinition; import static graphql.schema.GraphQLObjectType.newObject; import org.apache.causeway.core.metamodel.spec.ObjectSpecification; import org.apache.causeway.core.metamodel.spec.feature.OneToManyAssociation; 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.fetcher.BookmarkedPojoFetcher; public class GqlvCollection @@ -66,13 +69,17 @@ public class GqlvCollection public void addDataFetcher(Parent parent) { context.codeRegistryBuilder.dataFetcher( parent.coordinatesFor(getField()), - new BookmarkedPojoFetcher(context.bookmarkService)); + this::fetchData); hidden.addDataFetcher(this); disabled.addDataFetcher(this); 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 893bd2a2ab..8edaace838 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 @@ -25,6 +25,7 @@ import java.util.TreeMap; import graphql.Scalars; import graphql.schema.DataFetcher; +import graphql.schema.DataFetchingEnvironment; import graphql.schema.GraphQLArgument; import graphql.schema.GraphQLFieldDefinition; import graphql.schema.GraphQLInputObjectType; @@ -159,11 +160,7 @@ public class GqlvDomainObject this.context.codeRegistryBuilder.dataFetcher( parent.coordinatesFor(getLookupField()), - (DataFetcher<Object>) environment -> { - Object target = environment.getArgument("object"); - return GqlvAction.asPojo(getObjectSpecification(), target, this.context.bookmarkService) - .orElse(null); - }); + this::fetchData); meta.addDataFetchers(this); properties.forEach((id, property) -> property.addDataFetcher(this)); @@ -171,6 +168,12 @@ public class GqlvDomainObject actions.forEach((id, action) -> action.addDataFetcher(this)); } + private Object fetchData(DataFetchingEnvironment environment) { + Object target = environment.getArgument("object"); + return GqlvAction.asPojo(getObjectSpecification(), target, this.context.bookmarkService) + .orElse(null); + } + @Override public String toString() { 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 d259c7a196..3c9677549d 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 @@ -29,6 +29,8 @@ import org.apache.causeway.core.metamodel.spec.feature.MixedIn; import org.apache.causeway.core.metamodel.spec.feature.ObjectAction; import org.apache.causeway.viewer.graphql.model.context.Context; +import graphql.schema.DataFetchingEnvironment; + import lombok.Getter; import lombok.val; @@ -90,12 +92,16 @@ public class GqlvDomainService public void addDataFetchers(Parent parent) { context.codeRegistryBuilder.dataFetcher( parent.coordinatesFor(getField()), - (DataFetcher<Object>) environment -> getServicePojo()); + this::fetchData); if (hasActions()) { actions.forEach((id, gqlva) -> gqlva.addDataFetcher(this)); } } + private Object fetchData(DataFetchingEnvironment environment) { + return getServicePojo(); + } + @Override public String toString() { 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 88a03d3e4d..37d013ee37 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 @@ -55,11 +55,11 @@ public class GqlvMemberDisabled<T extends ObjectMember> extends GqlvAbstract { public void addDataFetcher(Parent parent) { context.codeRegistryBuilder.dataFetcher( parent.coordinatesFor(getField()), - this::disabled + this::fetchData ); } - private String disabled( + private 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 5a0017a37f..0baf237c8e 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 @@ -55,11 +55,11 @@ public class GqlvMemberHidden<T extends ObjectMember> extends GqlvAbstract { public void addDataFetcher(Parent parent) { context.codeRegistryBuilder.dataFetcher( parent.coordinatesFor(getField()), - this::hidden + this::fetchData ); } - private boolean hidden( + private boolean 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 f0d8f6552c..6a540dc31f 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 @@ -23,6 +23,7 @@ import java.util.Optional; import graphql.Scalars; import graphql.schema.DataFetcher; +import graphql.schema.DataFetchingEnvironment; import graphql.schema.GraphQLFieldDefinition; import static graphql.schema.FieldCoordinates.coordinates; @@ -36,6 +37,7 @@ import org.apache.causeway.applib.services.metamodel.BeanSort; import org.apache.causeway.core.metamodel.facets.object.entity.EntityFacet; import org.apache.causeway.core.metamodel.objectmanager.ObjectManager; 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 lombok.val; @@ -72,10 +74,7 @@ public class GqlvMeta extends GqlvAbstractCustom { context.codeRegistryBuilder.dataFetcher( parent.coordinatesFor(getField()), - (DataFetcher<Object>) environment -> - context.bookmarkService.bookmarkFor(environment.getSource()) - .map(bookmark -> new Fetcher(bookmark, context.bookmarkService, context.objectManager)) - .orElseThrow()); + this::fetchData); context.codeRegistryBuilder.dataFetcher( coordinates(getGqlObjectType(), logicalTypeName), @@ -92,6 +91,18 @@ public class GqlvMeta extends GqlvAbstractCustom { } } + private Fetcher fetchData(DataFetchingEnvironment environment) { + return context.bookmarkService.bookmarkFor(environment.getSource()) + .map(bookmark -> new Fetcher(bookmark, context.bookmarkService, context.objectManager)) + .orElseThrow(); + } + + // TODO: probably equivalent of: +// private Object fetchData(DataFetchingEnvironment dataFetchingEnvironment) { +// return BookmarkedPojo.sourceFrom(dataFetchingEnvironment, context); +// } + + /** * Metadata for every domain object. 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 a990d1fcd1..d62d6439c9 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 @@ -118,11 +118,11 @@ public class GqlvMutationForAction extends GqlvAbstract { public void addDataFetcher(Parent parent) { context.codeRegistryBuilder.dataFetcher( parent.coordinatesFor(getField()), - this::invoke + this::fetchData ); } - private Object invoke(final DataFetchingEnvironment dataFetchingEnvironment) { + private 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 70c487088d..ec148c55e6 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 @@ -86,13 +86,13 @@ public class GqlvMutationForProperty extends GqlvAbstract { case ENTITY: context.codeRegistryBuilder.dataFetcher( parent.coordinatesFor(getField()), - this::set); + this::fetchData); break; } } - private Object set(final DataFetchingEnvironment dataFetchingEnvironment) { + private 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 b35c3f107b..2ae32a0d9b 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,6 +18,7 @@ */ package org.apache.causeway.viewer.graphql.model.domain; +import graphql.schema.DataFetchingEnvironment; import graphql.schema.GraphQLArgument; import graphql.schema.GraphQLFieldDefinition; @@ -27,6 +28,7 @@ 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; @@ -135,7 +137,7 @@ public class GqlvProperty public void addDataFetcher(Parent parent) { context.codeRegistryBuilder.dataFetcher( parent.coordinatesFor(getField()), - new BookmarkedPojoFetcher(context.bookmarkService)); + this::fetchData); hidden.addDataFetcher(this); disabled.addDataFetcher(this); @@ -152,6 +154,10 @@ 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 2b58001609..f40328f20d 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 @@ -81,13 +81,13 @@ public class GqlvPropertyAutoComplete extends GqlvAbstract { case ENTITY: context.codeRegistryBuilder.dataFetcher( parent.coordinatesFor(getField()), - this::autoComplete); + this::fetchData); break; } } - List<Object> autoComplete(final DataFetchingEnvironment dataFetchingEnvironment) { + List<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 741c74e8c2..2e6d34a5f5 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 @@ -77,13 +77,13 @@ public class GqlvPropertyChoices extends GqlvAbstract { case ENTITY: context.codeRegistryBuilder.dataFetcher( parent.coordinatesFor(getField()), - this::choices); + this::fetchData); break; } } - List<Object> choices(final DataFetchingEnvironment dataFetchingEnvironment) { + List<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 0710138aca..a7b0c4b4d5 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 @@ -79,13 +79,13 @@ public class GqlvPropertySet extends GqlvAbstract { case ENTITY: context.codeRegistryBuilder.dataFetcher( parent.coordinatesFor(getField()), - this::set); + this::fetchData); break; } } - Object set(final DataFetchingEnvironment dataFetchingEnvironment) { + 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 91568650a1..acc7059bf2 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 @@ -64,13 +64,13 @@ public class GqlvPropertyValidate extends GqlvAbstract { case ENTITY: context.codeRegistryBuilder.dataFetcher( parent.coordinatesFor(getField()), - this::validate); + this::fetchData); break; } } - Object validate(final DataFetchingEnvironment dataFetchingEnvironment) { + 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 e6191eb27a..9674a5c7ff 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 @@ -67,14 +67,16 @@ public class GqlvScenario public void addDataFetchers(Parent parent) { context.codeRegistryBuilder.dataFetcher( parent.coordinatesFor(getField()), - (DataFetcher<Object>) environment -> { - String scenarioName = environment.getArgument("name"); - environment.getGraphQlContext().put(KEY_SCENARIO_NAME, scenarioName); - return environment; - }); + this::fetchData); scenarioName.addDataFetchers(this); scenarioGiven.addDataFetchers(this); } + private 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 9a3bb732b7..c37dc92e40 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 @@ -60,7 +60,7 @@ public class GqlvScenarioGiven public void addDataFetchers(Parent parent) { context.codeRegistryBuilder.dataFetcher( parent.coordinatesFor(getField()), - (DataFetcher<Object>) environment -> environment); + GqlvScenarioGiven::fetchData); domainServices.forEach(domainService -> { boolean actionsAdded = domainService.hasActions(); @@ -72,5 +72,9 @@ public class GqlvScenarioGiven domainObjects.forEach(domainObject -> domainObject.addDataFetchers(this)); } + private static DataFetchingEnvironment fetchData(DataFetchingEnvironment environment) { + return environment; + } + }
