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/23 09:58:47 UTC

(causeway) 01/23: CAUSEWAY-3676: simplifies holders (5)

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 <da...@haywood-associates.co.uk>
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);
-}