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 b5c5b4ec9ffa9e9258d7b38c24f51961effcce31
Author: danhaywood <[email protected]>
AuthorDate: Sat Jan 20 18:54:38 2024 +0000

    CAUSEWAY-3676: rationalizing mutator actions for domain service vis-a-vis 
domain object
---
 .../graphql/model/domain/GqlvDomainObject.java     | 23 ++++++++++------------
 .../graphql/model/domain/GqlvDomainService.java    |  1 -
 .../viewer/graphql/model/domain/GqlvMutators.java  | 21 ++++++++++----------
 3 files changed, 20 insertions(+), 25 deletions(-)

diff --git 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvDomainObject.java
 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvDomainObject.java
index 5fa061b1bb..0e529038e9 100644
--- 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvDomainObject.java
+++ 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvDomainObject.java
@@ -51,7 +51,7 @@ public class GqlvDomainObject implements GqlvActionHolder, 
GqlvPropertyHolder, G
     @Getter private final GqlvMeta meta;
     @Getter private final GqlvMutators mutators;
 
-    @Getter private final GraphQLObjectType.Builder gqlObjectTypeBuilder;
+    @Getter private final GraphQLObjectType.Builder objectTypeBuilder;
     @Getter private final GraphQLInputObjectType gqlInputObjectType;
 
     String getLogicalTypeName() {
@@ -90,7 +90,7 @@ public class GqlvDomainObject implements GqlvActionHolder, 
GqlvPropertyHolder, G
             final ObjectManager objectManager) {
         this.objectSpecification = objectSpecification;
         this.codeRegistryBuilder = codeRegistryBuilder;
-        this.gqlObjectTypeBuilder = 
newObject().name(getLogicalTypeNameSanitized());
+        this.objectTypeBuilder = 
newObject().name(getLogicalTypeNameSanitized());
 
         meta = new GqlvMeta(this, codeRegistryBuilder, bookmarkService, 
objectManager);
         mutators = new GqlvMutators(this, codeRegistryBuilder);
@@ -106,7 +106,7 @@ public class GqlvDomainObject implements GqlvActionHolder, 
GqlvPropertyHolder, G
         gqlInputObjectType = inputTypeBuilder.build();
 
         // object type's meta field
-        gqlObjectTypeBuilder.field(meta.getMetaField());
+        objectTypeBuilder.field(meta.getMetaField());
 
     }
 
@@ -131,7 +131,7 @@ public class GqlvDomainObject implements GqlvActionHolder, 
GqlvPropertyHolder, G
                 fieldDefinition = newFieldDefinition()
                         .name(otoa.getId())
                         .type(otoa.isOptional() ? fieldTypeRef : 
nonNull(fieldTypeRef)).build();
-                getGqlObjectTypeBuilder().field(
+                getObjectTypeBuilder().field(
                         fieldDefinition
                         );
 
@@ -147,7 +147,7 @@ public class GqlvDomainObject implements GqlvActionHolder, 
GqlvPropertyHolder, G
                                 ? Scalars.GraphQLString
                                 : nonNull(Scalars.GraphQLString));
                 fieldDefinition = valueBuilder.build();
-                getGqlObjectTypeBuilder().field(fieldDefinition);
+                getObjectTypeBuilder().field(fieldDefinition);
 
                 break;
         }
@@ -174,7 +174,7 @@ public class GqlvDomainObject implements GqlvActionHolder, 
GqlvPropertyHolder, G
                 fieldDefinition = newFieldDefinition()
                         .name(otom.getId())
                         .type(GraphQLList.list(typeRef)).build();
-                gqlObjectTypeBuilder.field(fieldDefinition);
+                objectTypeBuilder.field(fieldDefinition);
                 break;
 
             case VALUE:
@@ -182,7 +182,7 @@ public class GqlvDomainObject implements GqlvActionHolder, 
GqlvPropertyHolder, G
                 fieldDefinition = newFieldDefinition()
                         .name(otom.getId())
                         .type(GraphQLList.list(wrappedType)).build();
-                gqlObjectTypeBuilder.field(fieldDefinition);
+                objectTypeBuilder.field(fieldDefinition);
                 break;
         }
 
@@ -196,12 +196,9 @@ public class GqlvDomainObject implements GqlvActionHolder, 
GqlvPropertyHolder, G
     void addAction(final ObjectAction objectAction) {
 
         if (objectAction.getSemantics().isSafeInNature()) {
-            GraphQLObjectType.Builder objectTypeBuilder = 
getGqlObjectTypeBuilder();
-
             safeActions.add(new GqlvAction(this, objectAction, 
objectTypeBuilder, codeRegistryBuilder));
         } else {
-
-            mutators.addActionAsField(objectAction);
+            mutators.addAction(objectAction);
         }
     }
 
@@ -220,7 +217,7 @@ public class GqlvDomainObject implements GqlvActionHolder, 
GqlvPropertyHolder, G
         if (gqlObjectType != null) {
             throw new IllegalArgumentException(String.format("GqlObjectType 
has already been built for %s", getLogicalTypeName()));
         }
-        return gqlObjectType = 
getGqlObjectTypeBuilder().name(getLogicalTypeNameSanitized()).build();
+        return gqlObjectType = 
getObjectTypeBuilder().name(getLogicalTypeNameSanitized()).build();
     }
 
     /**
@@ -261,7 +258,7 @@ public class GqlvDomainObject implements GqlvActionHolder, 
GqlvPropertyHolder, G
                     .name(_Constants.GQL_MUTATIONS_FIELDNAME)
                     .type(mutatorsType)
                     .build();
-            getGqlObjectTypeBuilder().field(gql_mutations);
+            getObjectTypeBuilder().field(gql_mutations);
 
         });
 
diff --git 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvDomainService.java
 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvDomainService.java
index bdfae8f113..9bb7fea2da 100644
--- 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvDomainService.java
+++ 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvDomainService.java
@@ -88,7 +88,6 @@ public class GqlvDomainService implements GqlvActionHolder, 
GqlvMutatorsHolder {
 
 
     public void addAction(final ObjectAction objectAction) {
-
         // TODO: either safe or mutator
         safeActions.add(new GqlvAction(this, objectAction, objectTypeBuilder, 
codeRegistryBuilder));
     }
diff --git 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMutators.java
 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMutators.java
index 912704705c..9c1c273111 100644
--- 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMutators.java
+++ 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMutators.java
@@ -45,17 +45,16 @@ public class GqlvMutators implements GqlvActionHolder {
 
     }
 
-    public void addActionAsField(
-            final ObjectAction objectAction) {
-
-        val fieldName = objectAction.getId();
-        GraphQLFieldDefinition.Builder fieldBuilder = newFieldDefinition()
-                .name(fieldName)
-                .type((GraphQLOutputType) 
TypeMapper.typeForObjectAction(objectAction));
-        addGqlArguments(objectAction, fieldBuilder);
-        GraphQLFieldDefinition fieldDefinition = fieldBuilder.build();
-
-        objectTypeBuilder.field(fieldDefinition);
+    public void addAction(final ObjectAction objectAction) {
+
+//        val fieldName = objectAction.getId();
+//        GraphQLFieldDefinition.Builder fieldBuilder = newFieldDefinition()
+//                .name(fieldName)
+//                .type((GraphQLOutputType) 
TypeMapper.typeForObjectAction(objectAction));
+//        addGqlArguments(objectAction, fieldBuilder);
+//        GraphQLFieldDefinition fieldDefinition = fieldBuilder.build();
+//
+//        objectTypeBuilder.field(fieldDefinition);
         actions.add(new GqlvAction(holder, objectAction, objectTypeBuilder, 
codeRegistryBuilder));
     }
 

Reply via email to