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 1eab0e230d6269194a90694f7e20557ebe4a20c4 Author: danhaywood <[email protected]> AuthorDate: Fri Feb 23 06:37:13 2024 +0000 CAUSEWAY-3676: simplifies holders (5) --- .../model/domain/rich/query/GqlvActionInvoke.java | 2 +- .../domain/rich/query/GqlvActionInvokeArgs.java | 34 +++++++++++++++------- .../domain/rich/query/GqlvActionInvokeArgsArg.java | 4 +-- .../domain/rich/query/HolderActionInvokeArgs.java | 21 ------------- 4 files changed, 27 insertions(+), 34 deletions(-) diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvoke.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvoke.java index 832501fef3..72f4d58571 100644 --- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvoke.java +++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvoke.java @@ -43,7 +43,7 @@ import lombok.extern.log4j.Log4j2; public class GqlvActionInvoke extends GqlvAbstractCustom implements HolderActionInvokeResult, - HolderActionInvokeArgs { + HolderActionInvoke { private final HolderActionInvoke holder; private final GqlvActionInvokeResult result; diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvokeArgs.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvokeArgs.java index 1fae5576a1..6a014f017e 100644 --- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvokeArgs.java +++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvokeArgs.java @@ -35,6 +35,9 @@ import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstractCustom; import org.apache.causeway.viewer.graphql.model.domain.SchemaType; import org.apache.causeway.viewer.graphql.model.domain.TypeNames; import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo; +import org.apache.causeway.viewer.graphql.model.types.TypeMapper; + +import graphql.schema.GraphQLFieldDefinition; import lombok.Getter; import lombok.val; @@ -43,14 +46,14 @@ import lombok.extern.log4j.Log4j2; @Log4j2 public class GqlvActionInvokeArgs extends GqlvAbstractCustom - implements HolderActionInvokeArgs { + implements HolderActionInvoke { - @Getter private final HolderActionInvokeArgs holder; + @Getter private final HolderActionInvoke holder; private final List<GqlvActionInvokeArgsArg> args = new ArrayList<>(); public GqlvActionInvokeArgs( - final HolderActionInvokeArgs holder, + final HolderActionInvoke holder, final Context context) { super(TypeNames.actionArgsTypeNameFor(holder.getObjectSpecification(), holder.getObjectAction(), holder.getSchemaType()), context); this.holder = holder; @@ -72,6 +75,17 @@ public class GqlvActionInvokeArgs buildObjectTypeAndField("args", "Arguments used to invoke this action"); } + + @Override + protected void addDataFetchersForChildren() { + args.forEach(param -> param.addDataFetcher(this)); + } + + @Override + protected Object fetchData(DataFetchingEnvironment dataFetchingEnvironment) { + return BookmarkedPojo.sourceFrom(dataFetchingEnvironment, context); + } + @Override public ObjectSpecification getObjectSpecification() { return holder.getObjectSpecification(); @@ -88,13 +102,12 @@ public class GqlvActionInvokeArgs } @Override - protected void addDataFetchersForChildren() { - args.forEach(param -> param.addDataFetcher(this)); - } - - @Override - protected Object fetchData(DataFetchingEnvironment dataFetchingEnvironment) { - return BookmarkedPojo.sourceFrom(dataFetchingEnvironment, context); + public void addGqlArguments( + final ObjectAction objectAction, + final GraphQLFieldDefinition.Builder fieldBuilder, + final TypeMapper.InputContext inputContext, + final int parameterCount) { + holder.addGqlArguments(objectAction, fieldBuilder, inputContext, parameterCount); } @Override @@ -107,4 +120,5 @@ public class GqlvActionInvokeArgs return holder.getSchemaType(); } + } diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvokeArgsArg.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvokeArgsArg.java index f8bd8b192c..2252dbfa6e 100644 --- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvokeArgsArg.java +++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvokeArgsArg.java @@ -37,12 +37,12 @@ import lombok.extern.log4j.Log4j2; public class GqlvActionInvokeArgsArg extends GqlvAbstract { - @Getter private final HolderActionInvokeArgs holder; + @Getter private final HolderActionInvoke holder; @Getter private final ObjectActionParameter objectActionParameter; @Getter private final int paramNum; public GqlvActionInvokeArgsArg( - final HolderActionInvokeArgs holder, + final HolderActionInvoke holder, final ObjectActionParameter objectActionParameter, final Context context, final int paramNum) { diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/HolderActionInvokeArgs.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/HolderActionInvokeArgs.java deleted file mode 100644 index 96e46cb749..0000000000 --- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/HolderActionInvokeArgs.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.apache.causeway.viewer.graphql.model.domain.rich.query; - -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.feature.ObjectAction; -import org.apache.causeway.viewer.graphql.model.domain.Environment; -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.mmproviders.SchemaTypeProvider; - -public interface HolderActionInvokeArgs - extends ObjectSpecificationProvider, - ObjectActionProvider, - SchemaTypeProvider { - - Can<ManagedObject> argumentManagedObjectsFor( - Environment dataFetchingEnvironment, - ObjectAction objectAction, - BookmarkService bookmarkService); -}
