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 dae5d4f44838e0a47aba9f07ad08f46eee4948d8
Author: danhaywood <[email protected]>
AuthorDate: Tue Jan 23 10:19:55 2024 +0000

    wip on action invoke ; getting duplicate type created
---
 .../viewer/graphql/model/domain/GqlvAction.java    |  46 +++++++-
 .../graphql/model/domain/GqlvActionInvoke.java     |   6 +-
 .../graphql/model/domain/GqlvActionSimple.java     |   2 +-
 .../graphql/model/domain/GqlvAssociation.java      |   4 +-
 .../graphql/model/domain/GqlvDomainObject.java     |   9 +-
 .../graphql/model/domain/GqlvDomainService.java    |  20 ++--
 .../viewer/graphql/model/domain/GqlvMember.java    |   8 +-
 .../viewer/graphql/model/domain/GqlvMutations.java |  10 +-
 .../viewer/graphql/model/util/TypeNames.java       |   8 +-
 .../graphql/test/src/test/resources/schema.gql     | 128 +++++----------------
 10 files changed, 104 insertions(+), 137 deletions(-)

diff --git 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAction.java
 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAction.java
index 27340e0264..2f5e99c75d 100644
--- 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAction.java
+++ 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAction.java
@@ -1,18 +1,18 @@
 package org.apache.causeway.viewer.graphql.model.domain;
 
-import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
+import org.apache.causeway.applib.services.bookmark.Bookmark;
+import org.apache.causeway.applib.services.bookmark.BookmarkService;
 import org.apache.causeway.core.metamodel.spec.feature.ObjectAction;
 import org.apache.causeway.viewer.graphql.model.util.TypeNames;
 
+import graphql.schema.DataFetcher;
 import graphql.schema.FieldCoordinates;
 import graphql.schema.GraphQLObjectType;
 
-import lombok.val;
 import lombok.extern.log4j.Log4j2;
 
 import graphql.schema.GraphQLCodeRegistry;
 import graphql.schema.GraphQLFieldDefinition;
-import graphql.schema.GraphQLOutputType;
 
 import static graphql.schema.GraphQLFieldDefinition.newFieldDefinition;
 import static graphql.schema.GraphQLObjectType.newObject;
@@ -23,17 +23,20 @@ public class GqlvAction extends GqlvMember<ObjectAction, 
GqlvActionHolder> imple
     private final GraphQLObjectType.Builder gqlObjectTypeBuilder;
     private final GraphQLObjectType gqlObjectType;
     private final GqlvActionInvoke invoke;
+    private final BookmarkService bookmarkService;
 
     public GqlvAction(
             final GqlvActionHolder holder,
             final ObjectAction objectAction,
-            final GraphQLCodeRegistry.Builder codeRegistryBuilder
+            final GraphQLCodeRegistry.Builder codeRegistryBuilder,
+            final BookmarkService bookmarkService
             ) {
         super(holder, objectAction, codeRegistryBuilder);
 
-        gqlObjectTypeBuilder = 
newObject().name(TypeNames.invokeTypeNameFor(objectAction));
+        gqlObjectTypeBuilder = 
newObject().name(TypeNames.actionTypeNameFor(objectAction));
 
         this.invoke = new GqlvActionInvoke(this, codeRegistryBuilder);
+        this.bookmarkService = bookmarkService;
 
         gqlObjectType = gqlObjectTypeBuilder.build();
 
@@ -44,7 +47,7 @@ public class GqlvAction extends GqlvMember<ObjectAction, 
GqlvActionHolder> imple
 
         holder.addField(field);
 
-        setFieldDefinition(field);
+        setField(field);
     }
 
 
@@ -57,6 +60,37 @@ public class GqlvAction extends GqlvMember<ObjectAction, 
GqlvActionHolder> imple
         gqlObjectTypeBuilder.field(fieldDefinition);
     }
 
+    public void addDataFetcher() {
+
+        codeRegistryBuilder.dataFetcher(
+                holder.coordinatesFor(getField()),
+                (DataFetcher<Object>) environment ->
+                        bookmarkService.bookmarkFor(environment.getSource())
+                                .map(bookmark -> new 
GqlvAction.Fetcher(bookmark, bookmarkService))
+                                .orElseThrow());
+
+        invoke.addDataFetcher();
+    }
+
+    static class Fetcher {
+
+        private final Bookmark bookmark;
+        private final BookmarkService bookmarkService;
+
+        public Fetcher(
+                final Bookmark bookmark,
+                final BookmarkService bookmarkService) {
+
+            this.bookmark = bookmark;
+            this.bookmarkService = bookmarkService;
+        }
+
+        public Object getTargetPojo() {
+            return bookmarkService.lookup(bookmark).orElseThrow();
+        }
+    }
+
+
     @Override
     public FieldCoordinates coordinatesFor(GraphQLFieldDefinition 
fieldDefinition) {
         return FieldCoordinates.coordinates(gqlObjectType, fieldDefinition);
diff --git 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionInvoke.java
 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionInvoke.java
index fcb707cac7..9c38a70313 100644
--- 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionInvoke.java
+++ 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionInvoke.java
@@ -57,7 +57,7 @@ public class GqlvActionInvoke {
         GraphQLOutputType type = typeFor(objectAction);
         if (type != null) {
             val fieldBuilder = newFieldDefinition()
-                    .name(objectAction.getId())
+                    .name("invoke")
                     .type(type);
             addGqlArguments(objectAction, fieldBuilder);
             fieldDefinition = fieldBuilder.build();
@@ -156,8 +156,8 @@ public class GqlvActionInvoke {
 
         Object source = dataFetchingEnvironment.getSource();
         Object domainObjectInstance;
-        if (source instanceof GqlvMutations.Fetcher) {
-            GqlvMutations.Fetcher fetcher = (GqlvMutations.Fetcher) source;
+        if (source instanceof GqlvAction.Fetcher) {
+            GqlvAction.Fetcher fetcher = (GqlvAction.Fetcher) source;
             domainObjectInstance = fetcher.getTargetPojo();
         } else {
             domainObjectInstance = source;
diff --git 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionSimple.java
 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionSimple.java
index ee9f846f78..a62856081a 100644
--- 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionSimple.java
+++ 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvActionSimple.java
@@ -121,7 +121,7 @@ public class GqlvActionSimple extends 
GqlvMember<ObjectAction, GqlvActionHolder>
     }
 
     public void addDataFetcher() {
-        GraphQLFieldDefinition fieldDefinition = getFieldDefinition();
+        GraphQLFieldDefinition fieldDefinition = getField();
         codeRegistryBuilder.dataFetcher(
                 getHolder().coordinatesFor(fieldDefinition),
                 this::invoke
diff --git 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAssociation.java
 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAssociation.java
index e52fbcf355..f3bf1fdd29 100644
--- 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAssociation.java
+++ 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAssociation.java
@@ -21,7 +21,7 @@ public abstract class GqlvAssociation<T extends 
ObjectAssociation, H extends Gql
     }
 
     public boolean hasFieldDefinition() {
-        return getFieldDefinition() != null;
+        return getField() != null;
     }
 
     /**
@@ -44,7 +44,7 @@ public abstract class GqlvAssociation<T extends 
ObjectAssociation, H extends Gql
             case ENTITY:
 
                 codeRegistryBuilder.dataFetcher(
-                        getHolder().coordinatesFor(getFieldDefinition()),
+                        getHolder().coordinatesFor(getField()),
                         (DataFetcher<Object>) environment -> {
 
                             Object domainObjectInstance = 
environment.getSource();
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 0168fa7744..7a49edf40e 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
@@ -37,6 +37,7 @@ public class GqlvDomainObject implements GqlvActionHolder, 
GqlvPropertyHolder, G
 
     @Getter private final ObjectSpecification objectSpecification;
     private final GraphQLCodeRegistry.Builder codeRegistryBuilder;
+    private final BookmarkService bookmarkService;
 
     private final GqlvMeta meta;
     private final GqlvMutations mutations;
@@ -59,6 +60,7 @@ public class GqlvDomainObject implements GqlvActionHolder, 
GqlvPropertyHolder, G
             final ObjectManager objectManager) {
         this.objectSpecification = objectSpecification;
         this.codeRegistryBuilder = codeRegistryBuilder;
+        this.bookmarkService = bookmarkService;
 
         this.gqlObjectTypeBuilder = 
newObject().name(TypeNames.objectTypeNameFor(objectSpecification));
 
@@ -109,8 +111,8 @@ public class GqlvDomainObject implements GqlvActionHolder, 
GqlvPropertyHolder, G
 
     private void addAction(final ObjectAction objectAction) {
         if (objectAction.getSemantics().isSafeInNature()) {
-            safeActionSimples.add(new GqlvActionSimple(this, objectAction, 
codeRegistryBuilder));
-            //safeActions.add(new GqlvAction(this, objectAction, 
codeRegistryBuilder));
+//            safeActionSimples.add(new GqlvActionSimple(this, objectAction, 
codeRegistryBuilder));
+            safeActions.add(new GqlvAction(this, objectAction, 
codeRegistryBuilder, bookmarkService));
         } else {
             mutations.addAction(objectAction);
         }
@@ -140,7 +142,8 @@ public class GqlvDomainObject implements GqlvActionHolder, 
GqlvPropertyHolder, G
         meta.addDataFetchers();
         properties.forEach(GqlvAssociation::addDataFetcher);
         collections.forEach(GqlvCollection::addDataFetcher);
-        safeActionSimples.forEach(GqlvActionSimple::addDataFetcher);
+        //safeActionSimples.forEach(GqlvActionSimple::addDataFetcher);
+        safeActions.forEach(GqlvAction::addDataFetcher);
         mutations.addDataFetchers();
     }
 
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 1583919865..bd59a5a1ca 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
@@ -1,7 +1,6 @@
 package org.apache.causeway.viewer.graphql.model.domain;
 
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicBoolean;
 
@@ -33,21 +32,19 @@ public class GqlvDomainService implements GqlvActionHolder, 
GqlvMutationsHolder
     @Getter private final ObjectSpecification objectSpecification;
     @Getter private final Object servicePojo;
     private final GraphQLCodeRegistry.Builder codeRegistryBuilder;
-
-    @Getter private final GqlvMutations mutations;
+    private final BookmarkService bookmarkService;
 
     private final GraphQLObjectType.Builder gqlObjectTypeBuilder;
 
+    @Getter private final GqlvMutations mutations;
+
     String getLogicalTypeName() {
         return objectSpecification.getLogicalTypeName();
     }
 
-    private final List<GqlvActionSimple> safeActions = new ArrayList<>();
-    public List<GqlvActionSimple> getSafeActions() {return 
Collections.unmodifiableList(safeActions);}
+    private final List<GqlvActionSimple> safeActionSimples = new ArrayList<>();
+    private final List<GqlvAction> safeActions = new ArrayList<>();
 
-    /**
-     * Built using {@link #buildGqlObjectType()}
-     */
     private GraphQLObjectType gqlObjectType;
 
     public GqlvDomainService(
@@ -59,6 +56,7 @@ public class GqlvDomainService implements GqlvActionHolder, 
GqlvMutationsHolder
         this.objectSpecification = objectSpecification;
         this.servicePojo = servicePojo;
         this.codeRegistryBuilder = codeRegistryBuilder;
+        this.bookmarkService = bookmarkService;
 
         this.gqlObjectTypeBuilder = 
newObject().name(TypeNames.objectTypeNameFor(objectSpecification));
 
@@ -84,7 +82,8 @@ public class GqlvDomainService implements GqlvActionHolder, 
GqlvMutationsHolder
 
     void addAction(final ObjectAction objectAction) {
         if (objectAction.getSemantics().isSafeInNature()) {
-            safeActions.add(new GqlvActionSimple(this, objectAction, 
codeRegistryBuilder));
+            // safeActionSimples.add(new GqlvActionSimple(this, objectAction, 
codeRegistryBuilder));
+            safeActions.add(new GqlvAction(this, objectAction, 
codeRegistryBuilder, bookmarkService));
         } else {
              mutations.addAction(objectAction);
         }
@@ -105,7 +104,8 @@ public class GqlvDomainService implements GqlvActionHolder, 
GqlvMutationsHolder
     }
 
     public void addDataFetchers() {
-        getSafeActions().forEach(GqlvActionSimple::addDataFetcher);
+        // safeActionSimples.forEach(GqlvActionSimple::addDataFetcher);
+        safeActions.forEach(GqlvAction::addDataFetcher);
         getMutations().addDataFetchers();
     }
 
diff --git 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMember.java
 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMember.java
index 09288d25e9..de9373744d 100644
--- 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMember.java
+++ 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMember.java
@@ -13,10 +13,10 @@ import lombok.Setter;
 
 public abstract class GqlvMember<T extends ObjectMember, H extends 
GqlvMemberHolder> {
 
-    @Getter private final H holder;
+    @Getter final H holder;
     @Getter private final T objectMember;
     @Getter @Setter(AccessLevel.PACKAGE)
-    private GraphQLFieldDefinition fieldDefinition;
+    GraphQLFieldDefinition field;
 
     final GraphQLCodeRegistry.Builder codeRegistryBuilder;
     final SpecificationLoader specificationLoader;
@@ -32,12 +32,12 @@ public abstract class GqlvMember<T extends ObjectMember, H 
extends GqlvMemberHol
     public GqlvMember(
             final H holder,
             final T objectMember,
-            final GraphQLFieldDefinition fieldDefinition,
+            final GraphQLFieldDefinition field,
             final GraphQLCodeRegistry.Builder codeRegistryBuilder
     ) {
         this.holder = holder;
         this.objectMember = objectMember;
-        this.fieldDefinition = fieldDefinition;
+        this.field = field;
         this.codeRegistryBuilder = codeRegistryBuilder;
         this.specificationLoader = objectMember.getSpecificationLoader();
     }
diff --git 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMutations.java
 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMutations.java
index 5f985a8e82..e50a87f164 100644
--- 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMutations.java
+++ 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMutations.java
@@ -64,13 +64,14 @@ public class GqlvMutations implements GqlvActionHolder {
     }
 
     public void addAction(final ObjectAction objectAction) {
-        actionSimples.add(new GqlvActionSimple(this, objectAction, 
codeRegistryBuilder));
-        //actions.add(new GqlvAction(this, objectAction, codeRegistryBuilder));
+//        actionSimples.add(new GqlvActionSimple(this, objectAction, 
codeRegistryBuilder));
+        actions.add(new GqlvAction(this, objectAction, codeRegistryBuilder, 
bookmarkService));
     }
 
 
     boolean hasActions() {
-        return !actionSimples.isEmpty();
+//        return !actionSimples.isEmpty();
+        return !actions.isEmpty();
     }
 
 
@@ -112,7 +113,8 @@ public class GqlvMutations implements GqlvActionHolder {
                             .map(bookmark -> new Fetcher(bookmark, 
bookmarkService))
                             .orElseThrow());
 
-            actionSimples.forEach(GqlvActionSimple::addDataFetcher);
+            //actionSimples.forEach(GqlvActionSimple::addDataFetcher);
+            actions.forEach(GqlvAction::addDataFetcher);
         }
     }
 
diff --git 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/util/TypeNames.java
 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/util/TypeNames.java
index c3989db1d1..52d1c35d83 100644
--- 
a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/util/TypeNames.java
+++ 
b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/util/TypeNames.java
@@ -21,7 +21,6 @@ package org.apache.causeway.viewer.graphql.model.util;
 import lombok.experimental.UtilityClass;
 
 import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
-import org.apache.causeway.core.metamodel.spec.feature.ObjectAction;
 import org.apache.causeway.core.metamodel.spec.feature.ObjectMember;
 
 @UtilityClass
@@ -43,12 +42,13 @@ public final class TypeNames {
         return objectTypeNameFor(objectSpecification) + "__input";
     }
 
-    public static String invokeTypeNameFor(ObjectMember objectMember) {
-        return 
sanitized(objectMember.getFeatureIdentifier().getFullIdentityString()) + 
"__invoke";
+    public static String actionTypeNameFor(ObjectMember objectMember) {
+        String typeName = objectTypeNameFor(objectMember.getDeclaringType()) + 
"__" + objectMember.getId();
+        return typeName;
     }
 
     private static String sanitized(final String name) {
-        return name.replace('.', '_');
+        return name.replace('.', '_').replace("#", "__").replace("()","");
     }
 
 }
diff --git a/incubator/viewers/graphql/test/src/test/resources/schema.gql 
b/incubator/viewers/graphql/test/src/test/resources/schema.gql
index 0291ce42fc..eb1c0a5575 100644
--- a/incubator/viewers/graphql/test/src/test/resources/schema.gql
+++ b/incubator/viewers/graphql/test/src/test/resources/schema.gql
@@ -68,7 +68,6 @@ type causeway_applib_ParameterNode__meta {
 
 type causeway_applib_PropertyNode {
   _gql_meta: causeway_applib_PropertyNode__meta
-  _gql_mutations: causeway_applib_PropertyNode__mutations
   mixedIn: String!
   parentNode: causeway_applib_TypeNode!
   property: String!
@@ -79,10 +78,6 @@ type causeway_applib_PropertyNode__meta {
   logicalTypeName: String!
 }
 
-type causeway_applib_PropertyNode__mutations {
-  streamChildNodes: java_util_stream_Stream
-}
-
 type causeway_applib_RoleMemento {
   _gql_meta: causeway_applib_RoleMemento__meta
   description: String!
@@ -125,12 +120,15 @@ type causeway_applib_UserMemento__meta {
 }
 
 type causeway_applib_UserMenu {
-  me: causeway_applib_UserMemento
+  me: causeway_applib_UserMenu_me
+}
+
+type causeway_applib_UserMenu_me {
+  invoke: causeway_applib_UserMemento
 }
 
 type causeway_applib_node_ActionNode {
   _gql_meta: causeway_applib_node_ActionNode__meta
-  _gql_mutations: causeway_applib_node_ActionNode__mutations
   action: String!
   mixedIn: String!
   parentNode: causeway_applib_TypeNode!
@@ -141,13 +139,8 @@ type causeway_applib_node_ActionNode__meta {
   logicalTypeName: String!
 }
 
-type causeway_applib_node_ActionNode__mutations {
-  streamChildNodes: java_util_stream_Stream
-}
-
 type causeway_applib_node_CollectionNode {
   _gql_meta: causeway_applib_node_CollectionNode__meta
-  _gql_mutations: causeway_applib_node_CollectionNode__mutations
   collection: String!
   mixedIn: String!
   parentNode: causeway_applib_TypeNode!
@@ -158,10 +151,6 @@ type causeway_applib_node_CollectionNode__meta {
   logicalTypeName: String!
 }
 
-type causeway_applib_node_CollectionNode__mutations {
-  streamChildNodes: java_util_stream_Stream
-}
-
 type causeway_applib_node_FacetAttrNode {
   _gql_meta: causeway_applib_node_FacetAttrNode__meta
   facetAttr: String!
@@ -185,7 +174,11 @@ type causeway_applib_node_FacetNode__meta {
 }
 
 type causeway_conf_ConfigurationMenu {
-  configuration: causeway_conf_ConfigurationViewmodel
+  configuration: causeway_conf_ConfigurationMenu_configuration
+}
+
+type causeway_conf_ConfigurationMenu_configuration {
+  invoke: causeway_conf_ConfigurationViewmodel
 }
 
 type causeway_conf_ConfigurationProperty {
@@ -334,7 +327,11 @@ type causeway_security_LoginRedirect__meta {
 }
 
 type causeway_security_LogoutMenu {
-  logout: String
+  logout: causeway_security_LogoutMenu_logout
+}
+
+type causeway_security_LogoutMenu_logout {
+  invoke: String
 }
 
 type causeway_testing_fixtures_FixtureResult {
@@ -423,7 +420,6 @@ type java_util_stream_Stream__meta {
 
 type org_apache_causeway_commons_functional_Either {
   _gql_meta: org_apache_causeway_commons_functional_Either__meta
-  _gql_mutations: org_apache_causeway_commons_functional_Either__mutations
   left: String!
   right: String!
 }
@@ -433,18 +429,8 @@ type org_apache_causeway_commons_functional_Either__meta {
   logicalTypeName: String!
 }
 
-type org_apache_causeway_commons_functional_Either__mutations {
-  accept(leftConsumer: java_util_function_Consumer__input!, rightConsumer: 
java_util_function_Consumer__input!): String
-  left: String
-  map(leftMapper: java_util_function_Function__input!, rightMapper: 
java_util_function_Function__input!): 
org_apache_causeway_commons_functional_Either
-  mapLeft(leftMapper: java_util_function_Function__input!): 
org_apache_causeway_commons_functional_Either
-  mapRight(rightMapper: java_util_function_Function__input!): 
org_apache_causeway_commons_functional_Either
-  right: String
-}
-
 type org_apache_causeway_commons_functional_Railway {
   _gql_meta: org_apache_causeway_commons_functional_Railway__meta
-  _gql_mutations: org_apache_causeway_commons_functional_Railway__mutations
   failure: String!
   success: String!
 }
@@ -454,17 +440,8 @@ type org_apache_causeway_commons_functional_Railway__meta {
   logicalTypeName: String!
 }
 
-type org_apache_causeway_commons_functional_Railway__mutations {
-  chain(chainingFunction: 
org_apache_causeway_commons_functional_ThrowingFunction__input!): 
org_apache_causeway_commons_functional_Railway
-  ifFailure(failureConsumer: 
org_apache_causeway_commons_functional_ThrowingConsumer__input!): 
org_apache_causeway_commons_functional_Railway
-  ifSuccess(successConsumer: 
org_apache_causeway_commons_functional_ThrowingConsumer__input!): 
org_apache_causeway_commons_functional_Railway
-  mapFailure(failureMapper: 
org_apache_causeway_commons_functional_ThrowingFunction__input!): 
org_apache_causeway_commons_functional_Railway
-  mapSuccess(successMapper: 
org_apache_causeway_commons_functional_ThrowingFunction__input!): 
org_apache_causeway_commons_functional_Railway
-}
-
 type org_apache_causeway_commons_functional_ThrowingConsumer {
   _gql_meta: org_apache_causeway_commons_functional_ThrowingConsumer__meta
-  _gql_mutations: 
org_apache_causeway_commons_functional_ThrowingConsumer__mutations
 }
 
 type org_apache_causeway_commons_functional_ThrowingConsumer__meta {
@@ -472,14 +449,8 @@ type 
org_apache_causeway_commons_functional_ThrowingConsumer__meta {
   logicalTypeName: String!
 }
 
-type org_apache_causeway_commons_functional_ThrowingConsumer__mutations {
-  andThen(arg0: java_util_function_Consumer__input!): 
java_util_function_Consumer
-  throwing(exceptionWrapper: java_util_function_BiFunction__input!): 
org_apache_causeway_commons_functional_ThrowingConsumer
-}
-
 type org_apache_causeway_commons_functional_ThrowingFunction {
   _gql_meta: org_apache_causeway_commons_functional_ThrowingFunction__meta
-  _gql_mutations: 
org_apache_causeway_commons_functional_ThrowingFunction__mutations
 }
 
 type org_apache_causeway_commons_functional_ThrowingFunction__meta {
@@ -487,15 +458,8 @@ type 
org_apache_causeway_commons_functional_ThrowingFunction__meta {
   logicalTypeName: String!
 }
 
-type org_apache_causeway_commons_functional_ThrowingFunction__mutations {
-  andThen(arg0: java_util_function_Function__input!): 
java_util_function_Function
-  compose(arg0: java_util_function_Function__input!): 
java_util_function_Function
-  throwing(exceptionWrapper: java_util_function_BiFunction__input!): 
org_apache_causeway_commons_functional_ThrowingFunction
-}
-
 type org_apache_causeway_commons_functional_ThrowingRunnable {
   _gql_meta: org_apache_causeway_commons_functional_ThrowingRunnable__meta
-  _gql_mutations: 
org_apache_causeway_commons_functional_ThrowingRunnable__mutations
 }
 
 type org_apache_causeway_commons_functional_ThrowingRunnable__meta {
@@ -503,17 +467,8 @@ type 
org_apache_causeway_commons_functional_ThrowingRunnable__meta {
   logicalTypeName: String!
 }
 
-type org_apache_causeway_commons_functional_ThrowingRunnable__mutations {
-  callUncatched: String
-  run: String
-  runUncatched: String
-  toCallable: java_util_concurrent_Callable
-  toRunnable: java_lang_Runnable
-}
-
 type org_apache_causeway_commons_functional_Try {
   _gql_meta: org_apache_causeway_commons_functional_Try__meta
-  _gql_mutations: org_apache_causeway_commons_functional_Try__mutations
   failure: String!
   success: String!
 }
@@ -523,29 +478,6 @@ type org_apache_causeway_commons_functional_Try__meta {
   logicalTypeName: String!
 }
 
-type org_apache_causeway_commons_functional_Try__mutations {
-  accept(failureConsumer: 
org_apache_causeway_commons_functional_ThrowingConsumer__input!, 
successConsumer: 
org_apache_causeway_commons_functional_ThrowingConsumer__input!): 
org_apache_causeway_commons_functional_Try
-  flatMapSuccess(successMapper: 
org_apache_causeway_commons_functional_ThrowingFunction__input!): 
org_apache_causeway_commons_functional_Try
-  flatMapSuccessAsNullable(successMapper: 
org_apache_causeway_commons_functional_ThrowingFunction__input!): 
org_apache_causeway_commons_functional_Try
-  flatMapSuccessWhenPresent(successMapper: 
org_apache_causeway_commons_functional_ThrowingFunction__input!): 
org_apache_causeway_commons_functional_Try
-  ifAbsentFail: org_apache_causeway_commons_functional_Try
-  ifFailure(exceptionConsumer: 
org_apache_causeway_commons_functional_ThrowingConsumer__input!): 
org_apache_causeway_commons_functional_Try
-  ifFailureFail: org_apache_causeway_commons_functional_Try
-  ifSuccess(valueConsumer: 
org_apache_causeway_commons_functional_ThrowingConsumer__input!): 
org_apache_causeway_commons_functional_Try
-  ifSuccessAsNullable(valueConsumer: 
org_apache_causeway_commons_functional_ThrowingConsumer__input!): 
org_apache_causeway_commons_functional_Try
-  mapEmptyToFailure: org_apache_causeway_commons_functional_Try
-  mapFailure(failureMapper: 
org_apache_causeway_commons_functional_ThrowingFunction__input!): 
org_apache_causeway_commons_functional_Try
-  mapFailureToSuccess(recoveryMapper: 
org_apache_causeway_commons_functional_ThrowingFunction__input!): 
org_apache_causeway_commons_functional_Try
-  mapSuccess(successMapper: 
org_apache_causeway_commons_functional_ThrowingFunction__input!): 
org_apache_causeway_commons_functional_Try
-  mapSuccessAsNullable(successMapper: 
org_apache_causeway_commons_functional_ThrowingFunction__input!): 
org_apache_causeway_commons_functional_Try
-  mapSuccessWhenPresent(successMapper: 
org_apache_causeway_commons_functional_ThrowingFunction__input!): 
org_apache_causeway_commons_functional_Try
-  mapToEither(failureMapper: 
org_apache_causeway_commons_functional_ThrowingFunction__input!, successMapper: 
org_apache_causeway_commons_functional_ThrowingFunction__input!): 
org_apache_causeway_commons_functional_Either
-  orCall(fallback: java_util_concurrent_Callable__input!): 
org_apache_causeway_commons_functional_Try
-  then(next: java_util_concurrent_Callable__input!): 
org_apache_causeway_commons_functional_Try
-  thenCall(callable: java_util_concurrent_Callable__input!): 
org_apache_causeway_commons_functional_Try
-  thenRun(runnable: 
org_apache_causeway_commons_functional_ThrowingRunnable__input!): 
org_apache_causeway_commons_functional_Try
-}
-
 type org_apache_causeway_core_metamodel_inspect_model_MMNode {
   _gql_meta: org_apache_causeway_core_metamodel_inspect_model_MMNode__meta
 }
@@ -557,7 +489,6 @@ type 
org_apache_causeway_core_metamodel_inspect_model_MMNode__meta {
 
 type org_apache_causeway_core_metamodel_inspect_model_MemberNode {
   _gql_meta: org_apache_causeway_core_metamodel_inspect_model_MemberNode__meta
-  _gql_mutations: 
org_apache_causeway_core_metamodel_inspect_model_MemberNode__mutations
   mixedIn: String!
   parentNode: causeway_applib_TypeNode!
 }
@@ -567,10 +498,6 @@ type 
org_apache_causeway_core_metamodel_inspect_model_MemberNode__meta {
   logicalTypeName: String!
 }
 
-type org_apache_causeway_core_metamodel_inspect_model_MemberNode__mutations {
-  streamChildNodes: java_util_stream_Stream
-}
-
 type org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript {
   _gql_meta: 
org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__meta
   friendlyName: String!
@@ -589,12 +516,11 @@ type university_dept_Department {
 }
 
 type university_dept_DepartmentMenu {
-  _gql_mutations: university_dept_DepartmentMenu__mutations
-  findAllDepartments: [university_dept_Department]
+  findAllDepartments: university_dept_DepartmentMenu_findAllDepartments
 }
 
-type university_dept_DepartmentMenu__mutations {
-  createDepartment(deptHead: university_dept_DeptHead__input, name: String!): 
university_dept_Department
+type university_dept_DepartmentMenu_findAllDepartments {
+  invoke: [university_dept_Department]
 }
 
 type university_dept_Department__meta {
@@ -605,14 +531,21 @@ type university_dept_Department__meta {
 
 type university_dept_DeptHead {
   _gql_meta: university_dept_DeptHead__meta
-  _gql_mutations: university_dept_DeptHead__mutations
   department: university_dept_Department
   name: String
 }
 
 type university_dept_DeptHeadMenu {
-  findAllDeptHeads: [university_dept_DeptHead]
-  findDeptHeadByName(name: String!): university_dept_DeptHead
+  findAllDeptHeads: university_dept_DeptHeadMenu_findAllDeptHeads
+  findDeptHeadByName: university_dept_DeptHeadMenu_findDeptHeadByName
+}
+
+type university_dept_DeptHeadMenu_findAllDeptHeads {
+  invoke: [university_dept_DeptHead]
+}
+
+type university_dept_DeptHeadMenu_findDeptHeadByName {
+  invoke(name: String!): university_dept_DeptHead
 }
 
 type university_dept_DeptHead__meta {
@@ -621,11 +554,6 @@ type university_dept_DeptHead__meta {
   version: String
 }
 
-type university_dept_DeptHead__mutations {
-  changeDepartment(department: university_dept_Department__input!): 
university_dept_DeptHead
-  changeName(newName: String!): university_dept_DeptHead
-}
-
 input causeway_applib_DomainObjectList__input {
   id: ID!
 }

Reply via email to