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 04cfe5d8d2b54ad509277d19a35b5f854f99a381 Author: danhaywood <[email protected]> AuthorDate: Mon Feb 12 22:59:37 2024 +0000 CAUSEWAY-3676: pushes addDataFetcher up to superclass --- .../viewer/graphql/model/domain/GqlvAbstract.java | 14 +++++++++++++ .../graphql/model/domain/GqlvAbstractCustom.java | 9 --------- .../viewer/graphql/model/domain/GqlvAction.java | 10 +--------- .../graphql/model/domain/GqlvActionInvoke.java | 7 ------- .../graphql/model/domain/GqlvActionParam.java | 9 +-------- .../model/domain/GqlvActionParamAutoComplete.java | 7 ------- .../model/domain/GqlvActionParamChoices.java | 7 ------- .../model/domain/GqlvActionParamDefault.java | 7 ------- .../model/domain/GqlvActionParamDisabled.java | 8 -------- .../model/domain/GqlvActionParamHidden.java | 7 ------- .../model/domain/GqlvActionParamValidate.java | 8 -------- .../graphql/model/domain/GqlvActionParams.java | 13 ++---------- .../graphql/model/domain/GqlvActionValidity.java | 7 ------- .../graphql/model/domain/GqlvAssociationGet.java | 21 -------------------- .../graphql/model/domain/GqlvCollection.java | 10 ++-------- .../graphql/model/domain/GqlvDomainObject.java | 20 +++---------------- .../graphql/model/domain/GqlvDomainService.java | 10 +--------- .../graphql/model/domain/GqlvMemberDisabled.java | 7 ------- .../graphql/model/domain/GqlvMemberHidden.java | 7 ------- .../viewer/graphql/model/domain/GqlvMeta.java | 9 ++------- .../model/domain/GqlvMutationForAction.java | 7 ------- .../model/domain/GqlvMutationForProperty.java | 17 ---------------- .../viewer/graphql/model/domain/GqlvProperty.java | 13 +++--------- .../model/domain/GqlvPropertyAutoComplete.java | 23 ---------------------- .../graphql/model/domain/GqlvPropertyChoices.java | 23 ---------------------- .../graphql/model/domain/GqlvPropertySet.java | 18 ----------------- .../graphql/model/domain/GqlvPropertyValidate.java | 18 ----------------- .../viewer/graphql/model/domain/GqlvScenario.java | 13 +++--------- .../graphql/model/domain/GqlvScenarioGiven.java | 14 +++---------- .../graphql/model/domain/GqlvScenarioName.java | 6 ------ .../graphql/model/toplevel/GqlvTopLevelQuery.java | 8 ++++---- 31 files changed, 39 insertions(+), 318 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 dcbe4c8616..51b98f99a1 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 @@ -47,5 +47,19 @@ public abstract class GqlvAbstract { return getField() != null; } + public final void addDataFetcher(Parent parent) { + if (getField() != null) { + // in some cases there might not be a field, eg GqlvCollectionGet for DomainObjectList#objects + context.codeRegistryBuilder.dataFetcher( + parent.coordinatesFor(getField()), + this::fetchData); + } + + addDataFetchersForChildren(); + } + + protected void addDataFetchersForChildren() { + } + protected abstract Object fetchData(DataFetchingEnvironment environment); } diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAbstractCustom.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAbstractCustom.java index dd55cdea32..6153389225 100644 --- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAbstractCustom.java +++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAbstractCustom.java @@ -40,15 +40,6 @@ public abstract class GqlvAbstractCustom extends GqlvAbstract implements Parent @Getter(AccessLevel.PROTECTED) private GraphQLObjectType gqlObjectType; - protected GqlvAbstractCustom( - final GraphQLObjectType.Builder gqlObjectTypeBuilder, - final Context context) { - super(context); - typeName = null; // TODO - remove this constructor - - this.gqlObjectTypeBuilder = gqlObjectTypeBuilder; - } - protected GqlvAbstractCustom( final String typeName, final Context context) { 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 f9ec43c853..2f31c22090 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 @@ -41,7 +41,6 @@ import org.apache.causeway.core.metamodel.spec.feature.ObjectAction; import org.apache.causeway.core.metamodel.spec.feature.ObjectActionParameter; import org.apache.causeway.core.metamodel.spec.feature.OneToManyActionParameter; import org.apache.causeway.core.metamodel.spec.feature.OneToOneActionParameter; -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; @@ -249,14 +248,7 @@ public class GqlvAction return getObjectMember(); } - public void addDataFetcher(Parent parent) { - context.codeRegistryBuilder.dataFetcher( - parent.coordinatesFor(getField()), - this::fetchData); - - addDataFetchersForChildren(); - } - + @Override protected void addDataFetchersForChildren() { hidden.addDataFetcher(this); disabled.addDataFetcher(this); 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 6343802ac4..2d7391f43f 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 @@ -119,13 +119,6 @@ public class GqlvActionInvoke extends GqlvAbstract { } } - public void addDataFetcher(Parent parent) { - context.codeRegistryBuilder.dataFetcher( - parent.coordinatesFor(getField()), - this::fetchData - ); - } - @Override protected Object fetchData(final DataFetchingEnvironment 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 9402fb38e0..ebf49cde0e 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 @@ -127,14 +127,7 @@ public class GqlvActionParam return holder.getObjectAction(); } - public void addDataFetcher(Parent parent) { - context.codeRegistryBuilder.dataFetcher( - parent.coordinatesFor(getField()), - this::fetchData); - - addDataFetchersForChildren(); - } - + @Override protected void addDataFetchersForChildren() { hidden.addDataFetcher(this); disabled.addDataFetcher(this); 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 3925f18dc1..88aba6c71f 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 @@ -78,13 +78,6 @@ package org.apache.causeway.viewer.graphql.model.domain; } } - public void addDataFetcher(Parent parent) { - context.codeRegistryBuilder.dataFetcher( - parent.coordinatesFor(getField()), - this::fetchData - ); - } - @Override protected List<Object> fetchData(final DataFetchingEnvironment dataFetchingEnvironment) { 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 51caf2a031..1090855793 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 @@ -70,13 +70,6 @@ package org.apache.causeway.viewer.graphql.model.domain; } } - public void addDataFetcher(Parent parent) { - context.codeRegistryBuilder.dataFetcher( - parent.coordinatesFor(getField()), - this::fetchData - ); - } - @Override protected List<Object> fetchData(final DataFetchingEnvironment dataFetchingEnvironment) { 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 3bc0991c9a..1bcb0163bb 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 @@ -64,13 +64,6 @@ public class GqlvActionParamDefault extends GqlvAbstract { } } - 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); 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 7dd596a560..b0a5576cd9 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 @@ -57,14 +57,6 @@ public class GqlvActionParamDisabled extends GqlvAbstract { setField(fieldBuilder.build()); } - - public void addDataFetcher(Parent parent) { - context.codeRegistryBuilder.dataFetcher( - parent.coordinatesFor(getField()), - this::fetchData - ); - } - @Override protected String fetchData(final DataFetchingEnvironment dataFetchingEnvironment) { 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 ee97875849..9aadc16136 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 @@ -57,13 +57,6 @@ public class GqlvActionParamHidden extends GqlvAbstract { } - public void addDataFetcher(Parent parent) { - context.codeRegistryBuilder.dataFetcher( - parent.coordinatesFor(getField()), - this::fetchData - ); - } - @Override protected Object fetchData(final DataFetchingEnvironment 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 f830662f77..6741e39e86 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 @@ -56,14 +56,6 @@ public class GqlvActionParamValidate extends GqlvAbstract { setField(fieldBuilder.build()); } - - public void addDataFetcher(Parent parent) { - context.codeRegistryBuilder.dataFetcher( - parent.coordinatesFor(getField()), - this::fetchData - ); - } - @Override protected String fetchData(final DataFetchingEnvironment 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 8615c91972..120db83c54 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 @@ -35,7 +35,6 @@ 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; import org.apache.causeway.viewer.graphql.model.types.TypeMapper; @@ -94,16 +93,8 @@ public class GqlvActionParams params.put(objectActionParameter.getId(), gqlvActionParam); } - - void addDataFetcher(Parent parent) { - context.codeRegistryBuilder.dataFetcher( - parent.coordinatesFor(getField()), - this::fetchData); - - addDataFetchersForChildren(); - } - - private void addDataFetchersForChildren() { + @Override + protected void addDataFetchersForChildren() { params.forEach((id, param) -> param.addDataFetcher(this)); } 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 90064a0a04..6db35e8154 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 @@ -68,13 +68,6 @@ public class GqlvActionValidity extends GqlvAbstract { } } - public void addDataFetcher(Parent parent) { - context.codeRegistryBuilder.dataFetcher( - parent.coordinatesFor(getField()), - this::fetchData - ); - } - @Override protected Object fetchData(final DataFetchingEnvironment dataFetchingEnvironment) { 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 de73b833ce..2acd561b72 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 @@ -55,27 +55,6 @@ public abstract class GqlvAssociationGet<T extends ObjectAssociation> extends Gq abstract GraphQLOutputType outputTypeFor(Holder<T> holder); - void addDataFetcher(Parent parent) { - - val association = this.holder.getObjectAssociation(); - val fieldObjectSpecification = association.getElementType(); - val beanSort = fieldObjectSpecification.getBeanSort(); - - switch (beanSort) { - - case VALUE: - case VIEW_MODEL: - case ENTITY: - - context.codeRegistryBuilder.dataFetcher( - parent.coordinatesFor(getField()), - this::fetchData); - - break; - - } - } - @Override protected Object fetchData(final DataFetchingEnvironment 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 6a5eb2c607..1b9d20ad9b 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 @@ -62,18 +62,12 @@ public class GqlvCollection return holder.getObjectSpecification(); } + @Override public OneToManyAssociation getOneToManyAssociation() { return getObjectAssociation(); } - public void addDataFetcher(Parent parent) { - context.codeRegistryBuilder.dataFetcher( - parent.coordinatesFor(getField()), - this::fetchData); - - addDataFetchersForChildren(); - } - + @Override protected void addDataFetchersForChildren() { hidden.addDataFetcher(this); disabled.addDataFetcher(this); 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 8c4264deb0..2508aecdf0 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 @@ -18,13 +18,11 @@ */ package org.apache.causeway.viewer.graphql.model.domain; -import java.util.LinkedHashMap; import java.util.Map; import java.util.SortedMap; import java.util.TreeMap; import graphql.Scalars; -import graphql.schema.DataFetcher; import graphql.schema.DataFetchingEnvironment; import graphql.schema.GraphQLArgument; import graphql.schema.GraphQLFieldDefinition; @@ -54,9 +52,6 @@ public class GqlvDomainObject @Getter private final ObjectSpecification objectSpecification; - @Getter - private final GraphQLFieldDefinition lookupField; - private final GqlvMeta meta; private final SortedMap<String, GqlvProperty> properties = new TreeMap<>(); @@ -90,7 +85,7 @@ public class GqlvDomainObject .build()); gqlInputObjectType = inputTypeBuilder.build(); - this.lookupField = buildFieldDefinition(gqlInputObjectType); + setField(buildFieldDefinition(gqlInputObjectType)); addMembers(); @@ -120,7 +115,6 @@ public class GqlvDomainObject } - private void addMembers() { objectSpecification.streamProperties(MixedIn.INCLUDED).forEach(this::addProperty); @@ -156,17 +150,9 @@ public class GqlvDomainObject } - public void addDataFetchers(Parent parent) { - - this.context.codeRegistryBuilder.dataFetcher( - parent.coordinatesFor(getLookupField()), - this::fetchData); - - addDataFetchersForChildren(); - } - + @Override protected void addDataFetchersForChildren() { - meta.addDataFetchers(this); + meta.addDataFetcher(this); properties.forEach((id, property) -> property.addDataFetcher(this)); collections.forEach((id, collection) -> collection.addDataFetcher(this)); actions.forEach((id, action) -> action.addDataFetcher(this)); 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 ba91bbbafe..11d65ec680 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 @@ -21,8 +21,6 @@ package org.apache.causeway.viewer.graphql.model.domain; import java.util.LinkedHashMap; import java.util.Map; -import graphql.schema.DataFetcher; - import org.apache.causeway.core.config.CausewayConfiguration; import org.apache.causeway.core.metamodel.spec.ObjectSpecification; import org.apache.causeway.core.metamodel.spec.feature.MixedIn; @@ -89,13 +87,7 @@ public class GqlvDomainService } - public void addDataFetchers(Parent parent) { - context.codeRegistryBuilder.dataFetcher( - parent.coordinatesFor(getField()), - this::fetchData); - addDataFetchersForChildren(); - } - + @Override protected void addDataFetchersForChildren() { if (hasActions()) { actions.forEach((id, gqlva) -> gqlva.addDataFetcher(this)); 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 115c14b5ae..4f21701b57 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 @@ -52,13 +52,6 @@ public class GqlvMemberDisabled<T extends ObjectMember> extends GqlvAbstract { .build()); } - public void addDataFetcher(Parent parent) { - context.codeRegistryBuilder.dataFetcher( - parent.coordinatesFor(getField()), - this::fetchData - ); - } - @Override protected String fetchData(final DataFetchingEnvironment 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 2928490117..d8b0098df3 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 @@ -52,13 +52,6 @@ public class GqlvMemberHidden<T extends ObjectMember> extends GqlvAbstract { .build()); } - public void addDataFetcher(Parent parent) { - context.codeRegistryBuilder.dataFetcher( - parent.coordinatesFor(getField()), - this::fetchData - ); - } - @Override protected Object fetchData(final DataFetchingEnvironment 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 cedc1250e6..431381b98c 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 @@ -69,13 +69,8 @@ public class GqlvMeta extends GqlvAbstractCustom { buildObjectTypeAndField(fieldName); } - - public void addDataFetchers(Parent parent) { - - context.codeRegistryBuilder.dataFetcher( - parent.coordinatesFor(getField()), - this::fetchData); - + @Override + protected void addDataFetchersForChildren() { context.codeRegistryBuilder.dataFetcher( coordinates(getGqlObjectType(), logicalTypeName), (DataFetcher<Object>) environment -> environment.<Fetcher>getSource().logicalTypeName()); 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 5b01b9ed3e..81274cac1a 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 @@ -115,13 +115,6 @@ public class GqlvMutationForAction extends GqlvAbstract { } } - public void addDataFetcher(Parent parent) { - context.codeRegistryBuilder.dataFetcher( - parent.coordinatesFor(getField()), - this::fetchData - ); - } - @Override protected Object fetchData(final DataFetchingEnvironment dataFetchingEnvironment) { 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 c5088fab9f..4826ee7ce2 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 @@ -75,23 +75,6 @@ public class GqlvMutationForProperty extends GqlvAbstract { return TypeNames.objectTypeNameFor(objectSpecification) + "__" + oneToOneAssociation.getId(); } - - public void addDataFetcher(Parent parent) { - - val beanSort = oneToOneAssociation.getElementType().getBeanSort(); - - switch (beanSort) { - case VALUE: - case VIEW_MODEL: - case ENTITY: - context.codeRegistryBuilder.dataFetcher( - parent.coordinatesFor(getField()), - this::fetchData); - - break; - } - } - @Override protected Object fetchData(final DataFetchingEnvironment dataFetchingEnvironment) { 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 2375a53ea1..0b440c2502 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 @@ -75,7 +75,7 @@ public class GqlvProperty addChildField(this.validate.getField()); val choices = new GqlvPropertyChoices(this, context); - if (choices.hasChoices()) { + if (choices.isFieldDefined()) { addChildField(choices.getField()); this.choices = choices; } else { @@ -83,7 +83,7 @@ public class GqlvProperty } val autoComplete = new GqlvPropertyAutoComplete(this, context); - if (autoComplete.hasAutoComplete()) { + if (autoComplete.isFieldDefined()) { addChildField(autoComplete.getField()); this.autoComplete = autoComplete; } else { @@ -128,14 +128,7 @@ public class GqlvProperty return getObjectAssociation(); } - public void addDataFetcher(Parent parent) { - context.codeRegistryBuilder.dataFetcher( - parent.coordinatesFor(getField()), - this::fetchData); - - addDataFetchersForChildren(); - } - + @Override protected void addDataFetchersForChildren() { hidden.addDataFetcher(this); disabled.addDataFetcher(this); 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 0f1abe5a0a..8be5f08ecb 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 @@ -18,7 +18,6 @@ */ package org.apache.causeway.viewer.graphql.model.domain; -import java.util.List; import java.util.stream.Collectors; import graphql.schema.DataFetchingEnvironment; @@ -65,28 +64,6 @@ public class GqlvPropertyAutoComplete extends GqlvAbstract { } } - boolean hasAutoComplete() { - return this.getField() != null; - } - - void addDataFetcher(Parent parent) { - - val association = this.holder.getOneToOneAssociation(); - val fieldObjectSpecification = association.getElementType(); - val beanSort = fieldObjectSpecification.getBeanSort(); - - switch (beanSort) { - case VALUE: - case VIEW_MODEL: - case ENTITY: - context.codeRegistryBuilder.dataFetcher( - parent.coordinatesFor(getField()), - this::fetchData); - - break; - } - } - @Override protected Object fetchData(final DataFetchingEnvironment 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 a6358d4d8d..85fee1f404 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 @@ -18,7 +18,6 @@ */ package org.apache.causeway.viewer.graphql.model.domain; -import java.util.List; import java.util.stream.Collectors; import graphql.schema.DataFetchingEnvironment; @@ -61,28 +60,6 @@ public class GqlvPropertyChoices extends GqlvAbstract { } } - boolean hasChoices() { - return this.getField() != null; - } - - void addDataFetcher(Parent parent) { - - val association = this.holder.getOneToOneAssociation(); - val fieldObjectSpecification = association.getElementType(); - val beanSort = fieldObjectSpecification.getBeanSort(); - - switch (beanSort) { - case VALUE: - case VIEW_MODEL: - case ENTITY: - context.codeRegistryBuilder.dataFetcher( - parent.coordinatesFor(getField()), - this::fetchData); - - break; - } - } - @Override protected Object fetchData(final DataFetchingEnvironment 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 0d608cff5f..f3fc440738 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 @@ -67,24 +67,6 @@ public class GqlvPropertySet extends GqlvAbstract { return context.typeMapper.outputTypeFor(holder.getObjectSpecification()); // setters return void, so we return the domain object instead } - void addDataFetcher(Parent parent) { - - val association = this.holder.getOneToOneAssociation(); - val fieldObjectSpecification = association.getElementType(); - val beanSort = fieldObjectSpecification.getBeanSort(); - - switch (beanSort) { - case VALUE: - case VIEW_MODEL: - case ENTITY: - context.codeRegistryBuilder.dataFetcher( - parent.coordinatesFor(getField()), - this::fetchData); - - break; - } - } - @Override protected Object fetchData(final DataFetchingEnvironment 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 2a4f98d60f..eaeee3d1db 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 @@ -52,24 +52,6 @@ public class GqlvPropertyValidate extends GqlvAbstract { setField(fieldBuilder.build()); } - void addDataFetcher(Parent parent) { - - val association = this.holder.getOneToOneAssociation(); - val fieldObjectSpecification = association.getElementType(); - val beanSort = fieldObjectSpecification.getBeanSort(); - - switch (beanSort) { - case VALUE: - case VIEW_MODEL: - case ENTITY: - context.codeRegistryBuilder.dataFetcher( - parent.coordinatesFor(getField()), - this::fetchData); - - break; - } - } - @Override protected Object fetchData(final DataFetchingEnvironment 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 0db7d3456c..df8dcc0d18 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 @@ -59,17 +59,10 @@ public class GqlvScenario } - public void addDataFetchers(Parent parent) { - context.codeRegistryBuilder.dataFetcher( - parent.coordinatesFor(getField()), - this::fetchData); - - addDataFetchersForChildren(); - } - + @Override protected void addDataFetchersForChildren() { - scenarioName.addDataFetchers(this); - scenarioGiven.addDataFetchers(this); + scenarioName.addDataFetcher(this); + scenarioGiven.addDataFetcher(this); } @Override 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 8ff9cff420..c5d3cae20b 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 @@ -46,7 +46,7 @@ public class GqlvScenarioGiven // add domain object lookup to top-level query for (GqlvDomainObject domainObject : this.domainObjects) { - addChildField(domainObject.getLookupField()); + addChildField(domainObject.getField()); } @@ -54,23 +54,15 @@ public class GqlvScenarioGiven } - public void addDataFetchers(Parent parent) { - context.codeRegistryBuilder.dataFetcher( - parent.coordinatesFor(getField()), - this::fetchData); - - addDataFetchersForChildren(); - } - protected void addDataFetchersForChildren() { domainServices.forEach(domainService -> { boolean actionsAdded = domainService.hasActions(); if (actionsAdded) { - domainService.addDataFetchers(this); + domainService.addDataFetcher(this); } }); - domainObjects.forEach(domainObject -> domainObject.addDataFetchers(this)); + domainObjects.forEach(domainObject -> domainObject.addDataFetcher(this)); } @Override 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 2d5aaed682..98696d759d 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 @@ -24,12 +24,6 @@ public class GqlvScenarioName extends GqlvAbstract { ); } - public void addDataFetchers(Parent parent) { - context.codeRegistryBuilder.dataFetcher( - parent.coordinatesFor(getField()), - this::fetchData); - } - @Override protected Object fetchData(DataFetchingEnvironment environment) { val graphQlContext = environment.getGraphQlContext(); 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 8696374203..1668709db0 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 @@ -54,7 +54,7 @@ public class GqlvTopLevelQuery // add domain object lookup to top-level query for (GqlvDomainObject domainObject : this.domainObjects) { - addChildField(domainObject.getLookupField()); + addChildField(domainObject.getField()); } scenario = new GqlvScenario(context); @@ -84,13 +84,13 @@ public class GqlvTopLevelQuery domainServices.forEach(domainService -> { boolean actionsAdded = domainService.hasActions(); if (actionsAdded) { - domainService.addDataFetchers(this); + domainService.addDataFetcher(this); } }); - domainObjects.forEach(domainObject -> domainObject.addDataFetchers(this)); + domainObjects.forEach(domainObject -> domainObject.addDataFetcher(this)); - scenario.addDataFetchers(this); + scenario.addDataFetcher(this); } }
