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);
-}

Reply via email to