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