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/01/17 23:41:11 UTC

(causeway) branch CAUSEWAY-3676 updated (40ac65eea3 -> 8d62afc619)

This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a change to branch CAUSEWAY-3676
in repository https://gitbox.apache.org/repos/asf/causeway.git


    from 40ac65eea3 CAUSEWAY-3676: wip, resurrected first end to end test and also dumping the schema
     new cc879d20a6 CAUSEWAY-3676: towards dumping the schema
     new 59b463b1aa CAUSEWAY-3676: deletes GqlSchema_detail_IntegTest
     new 3011e24768 CAUSEWAY-3676: splits up Domain and Schema integ tests, also ...
     new 05258ec3f9 CAUSEWAY-3676: cleans up quite a bit...
     new 8d62afc619 CAUSEWAY-3676: moves test domain into a 'university' namespace

The 5 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 incubator/viewers/graphql/test/pom.xml             |    4 +
 ...ayViewerGraphqlTestModuleIntegTestAbstract.java |    8 +-
 .../viewer/graphql/viewer/test/ScratchPad.java     |    2 +
 .../graphql/viewer/test/domain/Department.java     |   14 +-
 .../{TopLevelMenu.java => DepartmentMenu.java}     |   21 +-
 .../viewer/test/domain/DepartmentRepository.java   |    7 +
 .../graphql/viewer/test/domain/DeptHead.java       |   12 +-
 .../{TopLevelMenu.java => DeptHeadMenu.java}       |   27 +-
 .../viewer/test/domain/DeptHeadRepository.java     |    5 +-
 ...TestDomainModule.java => UniversityModule.java} |    4 +-
 .../graphql/viewer/test/domain/WithName.java       |   25 -
 .../viewer/test/domain/WithNameRepository.java     |   47 -
 .../e2e/Domain_IntegTest.create_department._.gql   |    7 +
 ...omain_IntegTest.create_department.approved.json |    9 +
 ...=> Domain_IntegTest.find_all_departments._.gql} |    2 +-
 ...n_IntegTest.find_all_departments.approved.json} |   10 +-
 ...IntegTest.find_department_and_change_name._.gql |   14 +
 ....find_department_and_change_name.approved.json} |    0
 .../graphql/viewer/test/e2e/Domain_IntegTest.java  |  141 +
 .../EndToEnd_IntegTest.changeName.approved.json    |    1 -
 .../e2e/EndToEnd_IntegTest.changeName.submit.gql   |   14 -
 .../e2e/EndToEnd_IntegTest.createE1.approved.json  |    9 -
 .../e2e/EndToEnd_IntegTest.createE1.submit.gql     |    7 -
 .../viewer/test/e2e/EndToEnd_IntegTest.java        |  199 -
 .../graphql/viewer/test/e2e/Schema_IntegTest.java  |   51 +
 .../Schema_IntegTest.schema._.gql}                 |    0
 .../test/e2e/Schema_IntegTest.schema.approved.json | 7229 ++++++++++++++++++++
 ...ql => Schema_IntegTest.schema_types_name._.gql} |    0
 ...hema_IntegTest.schema_types_name.approved.json} |   34 +-
 .../test/schema/GqlSchema_detail_IntegTest.java    |  178 -
 .../test/schema/GqlSchema_print_IntegTest.java     |   13 +-
 .../WinMergeGqlDiffReporter.java}                  |    7 +-
 .../schema.gql}                                    |   91 +-
 .../viewer/source/GraphQlSourceForCauseway.java    |    5 +
 .../viewer/src/test/resources/testfiles/schema.gql |  802 ---
 35 files changed, 7573 insertions(+), 1426 deletions(-)
 copy incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/{TopLevelMenu.java => DepartmentMenu.java} (76%)
 rename incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/{TopLevelMenu.java => DeptHeadMenu.java} (70%)
 rename incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/{TestDomainModule.java => UniversityModule.java} (93%)
 delete mode 100644 incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/WithName.java
 delete mode 100644 incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/WithNameRepository.java
 create mode 100644 incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.create_department._.gql
 create mode 100644 incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.create_department.approved.json
 rename incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/{EndToEnd_IntegTest.find_all_departments.submit.gql => Domain_IntegTest.find_all_departments._.gql} (79%)
 copy incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/{EndToEnd_IntegTest.find_all_departments.approved.json => Domain_IntegTest.find_all_departments.approved.json} (59%)
 create mode 100644 incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.find_department_and_change_name._.gql
 rename incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/{EndToEnd_IntegTest.find_all_departments.approved.json => Domain_IntegTest.find_department_and_change_name.approved.json} (100%)
 create mode 100644 incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.java
 delete mode 100644 incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.changeName.approved.json
 delete mode 100644 incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.changeName.submit.gql
 delete mode 100644 incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.createE1.approved.json
 delete mode 100644 incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.createE1.submit.gql
 delete mode 100644 incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.java
 create mode 100644 incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Schema_IntegTest.java
 rename incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/{introspectquery/introspection-query-request.gql => e2e/Schema_IntegTest.schema._.gql} (100%)
 create mode 100644 incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Schema_IntegTest.schema.approved.json
 rename incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/{EndToEnd_IntegTest.schema_types_name.submit.gql => Schema_IntegTest.schema_types_name._.gql} (100%)
 rename incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/{EndToEnd_IntegTest.schema_types_name.approved.json => Schema_IntegTest.schema_types_name.approved.json} (93%)
 delete mode 100644 incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/schema/GqlSchema_detail_IntegTest.java
 rename incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/{schema/MyWinMergeDiffReporter.java => utils/WinMergeGqlDiffReporter.java} (79%)
 rename incubator/viewers/graphql/test/src/test/{java/org/apache/causeway/viewer/graphql/viewer/test/schema/GqlSchema_print_IntegTest.schema.approved.gql => resources/schema.gql} (93%)
 delete mode 100644 incubator/viewers/graphql/viewer/src/test/resources/testfiles/schema.gql


(causeway) 01/05: CAUSEWAY-3676: towards dumping the schema

Posted by da...@apache.org.
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 cc879d20a6ddc88229073e1bab204c68c36469d0
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Wed Jan 17 22:37:01 2024 +0000

    CAUSEWAY-3676: towards dumping the schema
---
 incubator/viewers/graphql/test/pom.xml                      |  4 ++++
 .../CausewayViewerGraphqlTestModuleIntegTestAbstract.java   |  4 ++--
 ...ngeName.submit.gql => EndToEnd_IntegTest.changeName.gql} |  0
 ....createE1.submit.gql => EndToEnd_IntegTest.createE1.gql} |  0
 ...bmit.gql => EndToEnd_IntegTest.find_all_departments.gql} |  0
 .../viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.java  | 11 +++++++++++
 .../EndToEnd_IntegTest.schema.gql}                          |  0
 .../viewer/test/schema/GqlSchema_detail_IntegTest.java      |  4 +---
 .../viewer/test/schema/GqlSchema_print_IntegTest.java       | 13 +++++++++----
 9 files changed, 27 insertions(+), 9 deletions(-)

diff --git a/incubator/viewers/graphql/test/pom.xml b/incubator/viewers/graphql/test/pom.xml
index c9a13bf825..2e85f61f34 100644
--- a/incubator/viewers/graphql/test/pom.xml
+++ b/incubator/viewers/graphql/test/pom.xml
@@ -43,6 +43,10 @@
 
     <build>
 		<testResources>
+			<testResource>
+				<directory>src/test/resources</directory>
+				<filtering>true</filtering>
+			</testResource>
 			<testResource>
 				<directory>src/test/java</directory>
 				<filtering>false</filtering>
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/CausewayViewerGraphqlTestModuleIntegTestAbstract.java b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/CausewayViewerGraphqlTestModuleIntegTestAbstract.java
index 028d32d3b5..217dc0417f 100644
--- a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/CausewayViewerGraphqlTestModuleIntegTestAbstract.java
+++ b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/CausewayViewerGraphqlTestModuleIntegTestAbstract.java
@@ -141,7 +141,7 @@ public abstract class CausewayViewerGraphqlTestModuleIntegTestAbstract {
     protected HttpGraphQlTester graphQlTester() {
         WebTestClient client =
                 WebTestClient.bindToServer()
-                        .baseUrl("http://0.0.0.0:" + port + "/graphql")
+                        .baseUrl(String.format("http://0.0.0.0:%d/graphql", port))
                         .build();
         return HttpGraphQlTester.create(client);
     }
@@ -155,7 +155,7 @@ public abstract class CausewayViewerGraphqlTestModuleIntegTestAbstract {
      * @throws Exception if an error occurs during the submission
      */
     protected String submit() throws Exception{
-        val httpRequest = buildRequest(testInfo, ".submit.gql");
+        val httpRequest = buildRequest(testInfo, ".gql");
         return submitRequest(httpRequest);
     }
 
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.changeName.submit.gql b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.changeName.gql
similarity index 100%
rename from incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.changeName.submit.gql
rename to incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.changeName.gql
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.createE1.submit.gql b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.createE1.gql
similarity index 100%
rename from incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.createE1.submit.gql
rename to incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.createE1.gql
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.find_all_departments.submit.gql b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.find_all_departments.gql
similarity index 100%
rename from incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.find_all_departments.submit.gql
rename to incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.find_all_departments.gql
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.java b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.java
index b4bedbfa57..e4b1f40d40 100644
--- a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.java
+++ b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.java
@@ -18,6 +18,7 @@
  */
 package org.apache.causeway.viewer.graphql.viewer.test.e2e;
 
+import java.io.File;
 import java.io.IOException;
 import java.lang.reflect.Method;
 import java.net.URI;
@@ -25,6 +26,9 @@ import java.net.http.HttpClient;
 import java.net.http.HttpRequest;
 import java.net.http.HttpResponse;
 import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -53,6 +57,7 @@ import org.approvaltests.reporters.TextWebReporter;
 import org.approvaltests.reporters.UseReporter;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.TestInfo;
 import org.junit.jupiter.api.condition.DisabledIfSystemProperty;
@@ -93,6 +98,12 @@ public class EndToEnd_IntegTest extends CausewayViewerGraphqlTestModuleIntegTest
         });
     }
 
+    @Test
+    @UseReporter({MyWinMergeDiffReporter.class, DiffReporter.class})
+    void schema() throws Exception {
+        Approvals.verify(submit(), jsonOptions());
+    }
+
     @Test
     @UseReporter({MyWinMergeDiffReporter.class, DiffReporter.class})
     void schema_types_name() throws Exception {
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/introspectquery/introspection-query-request.gql b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.schema.gql
similarity index 100%
rename from incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/introspectquery/introspection-query-request.gql
rename to incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.schema.gql
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/schema/GqlSchema_detail_IntegTest.java b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/schema/GqlSchema_detail_IntegTest.java
index 65f10c4874..bd709b2e19 100644
--- a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/schema/GqlSchema_detail_IntegTest.java
+++ b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/schema/GqlSchema_detail_IntegTest.java
@@ -22,6 +22,7 @@ import java.util.List;
 
 import javax.inject.Inject;
 
+import org.apache.causeway.commons.internal.ioc._IocContainer;
 import org.apache.causeway.viewer.graphql.viewer.test.domain.DeptHead;
 
 import org.junit.jupiter.api.BeforeEach;
@@ -170,9 +171,6 @@ public class GqlSchema_detail_IntegTest extends CausewayViewerGraphqlTestModuleI
         assertTrue(codeRegistry.hasDataFetcher(FieldCoordinates.coordinates("gqltestdomain_E1", "e2")));
         DataFetcher<?> dataFetcher = codeRegistry.getDataFetcher(FieldCoordinates.coordinates("gqltestdomain_E1", "e2"), (GraphQLFieldDefinition) gqltestdomain_e1.getChildren().get(0));
         assertNotNull(dataFetcher);
-
-
     }
 
-
 }
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/schema/GqlSchema_print_IntegTest.java b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/schema/GqlSchema_print_IntegTest.java
index b12cd83ef3..3ceac932e9 100644
--- a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/schema/GqlSchema_print_IntegTest.java
+++ b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/schema/GqlSchema_print_IntegTest.java
@@ -18,6 +18,9 @@
  */
 package org.apache.causeway.viewer.graphql.viewer.test.schema;
 
+import java.io.File;
+import java.nio.file.Files;
+import java.nio.file.Paths;
 import java.util.stream.Collectors;
 
 import javax.inject.Inject;
@@ -60,17 +63,19 @@ public class GqlSchema_print_IntegTest extends CausewayViewerGraphqlTestModuleIn
         assertNotNull(graphQlSourceForCauseway);
     }
 
-    @UseReporter({MyWinMergeDiffReporter.class, DiffReporter.class})
     @Test
-    void schema() {
+    void schema() throws Exception {
+
         val graphQL = graphQlSourceForCauseway.graphQl();
         val graphQLSchema = graphQL.getGraphQLSchema();
 
         val printer = new SchemaPrinter();
 
-        val schemaDefinition = printer.print(graphQLSchema);
+        val submit = printer.print(graphQLSchema);
+
+        File targetFile1 = new File("src/test/resources/schema.gql");
 
-        Approvals.verify(schemaDefinition, gqlSchemaOptions());
+        Files.write(Paths.get(targetFile1.getPath()), submit.getBytes());
     }
 
     private Options gqlSchemaOptions() {


(causeway) 05/05: CAUSEWAY-3676: moves test domain into a 'university' namespace

Posted by da...@apache.org.
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 8d62afc619693282eddf30d4ba385afb7b38ac4d
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Wed Jan 17 23:39:57 2024 +0000

    CAUSEWAY-3676: moves test domain into a 'university' namespace
---
 ...ayViewerGraphqlTestModuleIntegTestAbstract.java |    4 +-
 .../graphql/viewer/test/domain/Department.java     |   14 +-
 .../{TopLevelMenu.java => DepartmentMenu.java}     |   21 +-
 .../graphql/viewer/test/domain/DeptHead.java       |   10 +-
 .../{WithNameRepository.java => DeptHeadMenu.java} |   36 +-
 ...TestDomainModule.java => UniversityModule.java} |    4 +-
 .../graphql/viewer/test/domain/WithName.java       |   25 -
 .../e2e/Domain_IntegTest.create_department._.gql   |    2 +-
 ...omain_IntegTest.create_department.approved.json |    2 +-
 .../Domain_IntegTest.find_all_departments._.gql    |    2 +-
 ...in_IntegTest.find_all_departments.approved.json |    6 +-
 ...IntegTest.find_department_and_change_name._.gql |    2 +-
 .../graphql/viewer/test/e2e/Domain_IntegTest.java  |    7 +-
 .../graphql/viewer/test/e2e/Schema_IntegTest.java  |   18 -
 .../test/e2e/Schema_IntegTest.schema.approved.json | 1321 +++++++++-----------
 ...chema_IntegTest.schema_types_name.approved.json |   34 +-
 .../graphql/test/src/test/resources/schema.gql     |   91 +-
 17 files changed, 722 insertions(+), 877 deletions(-)

diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/CausewayViewerGraphqlTestModuleIntegTestAbstract.java b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/CausewayViewerGraphqlTestModuleIntegTestAbstract.java
index f0ceb8a16c..6f88728dbf 100644
--- a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/CausewayViewerGraphqlTestModuleIntegTestAbstract.java
+++ b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/CausewayViewerGraphqlTestModuleIntegTestAbstract.java
@@ -65,7 +65,7 @@ import org.apache.causeway.persistence.jpa.eclipselink.CausewayModulePersistence
 import org.apache.causeway.security.bypass.CausewayModuleSecurityBypass;
 import org.apache.causeway.testing.fixtures.applib.CausewayModuleTestingFixturesApplib;
 import org.apache.causeway.viewer.graphql.viewer.CausewayModuleIncViewerGraphqlViewer;
-import org.apache.causeway.viewer.graphql.viewer.test.domain.TestDomainModule;
+import org.apache.causeway.viewer.graphql.viewer.test.domain.UniversityModule;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
@@ -99,7 +99,7 @@ public abstract class CausewayViewerGraphqlTestModuleIntegTestAbstract {
             CausewayModuleTestingFixturesApplib.class,
             CausewayModuleIncViewerGraphqlViewer.class,
 
-            TestDomainModule.class
+            UniversityModule.class
     })
     @PropertySources({
             @PropertySource(CausewayPresets.H2InMemory_withUniqueSchema),
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/Department.java b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/Department.java
index c9779a8921..4e0ca243e3 100644
--- a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/Department.java
+++ b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/Department.java
@@ -33,16 +33,17 @@ import lombok.Getter;
 import lombok.NoArgsConstructor;
 import lombok.Setter;
 
-//@Profile("demo-jpa")
+import java.util.Comparator;
+
 @Entity
 @Table(
         schema = "public",
         name = "Department"
 )
-@javax.inject.Named("gql.test.domain.Department")
+@javax.inject.Named("university.dept.Department")
 @NoArgsConstructor
 @DomainObject(nature = Nature.ENTITY)
-public class Department implements WithName, Comparable {
+public class Department implements Comparable<Department> {
 
     public Department(String name, DeptHead deptHead) {
         this.name = name;
@@ -59,12 +60,11 @@ public class Department implements WithName, Comparable {
     @Getter @Setter
     @Property
     @OneToOne(optional = true)
-    @JoinColumn(name = "employee_id")
+    @JoinColumn(name = "deptHead_id")
     private DeptHead deptHead;
 
     @Override
-    public int compareTo(final Object o) {
-        Department department = (Department) o;
-        return this.getName().compareTo(department.getName());
+    public int compareTo(final Department o) {
+        return Comparator.comparing(Department::getName).compare(this, o);
     }
 }
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/TopLevelMenu.java b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/DepartmentMenu.java
similarity index 76%
rename from incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/TopLevelMenu.java
rename to incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/DepartmentMenu.java
index baab6cca13..b4e2f22d97 100644
--- a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/TopLevelMenu.java
+++ b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/DepartmentMenu.java
@@ -33,16 +33,14 @@ import org.apache.causeway.applib.annotation.SemanticsOf;
 
 import lombok.RequiredArgsConstructor;
 
-@Named("gql.test.domain.TopLevelMenu")
+@Named("university.dept.DepartmentMenu")
 @DomainService(
         nature=NatureOfService.VIEW)
 @javax.annotation.Priority(PriorityPrecedence.EARLY)
 @RequiredArgsConstructor(onConstructor_ = {@Inject})
-public class TopLevelMenu {
+public class DepartmentMenu {
 
     final DepartmentRepository departmentRepository;
-    final DeptHeadRepository deptHeadRepository;
-    final WithNameRepository withNameRepository;
 
     @Action(semantics = SemanticsOf.NON_IDEMPOTENT)
     public Department createDepartment(
@@ -57,20 +55,5 @@ public class TopLevelMenu {
         return departmentRepository.findAll();
     }
 
-    @Action(semantics = SemanticsOf.SAFE)
-    public List<DeptHead> findAllDeptHeads(){
-        return deptHeadRepository.findAll();
-    }
-
-    @Action(semantics = SemanticsOf.SAFE)
-    public List<WithName> findAllEntitiesWithName(){
-        return withNameRepository.findAll();
-    }
-
-    @Action(semantics = SemanticsOf.SAFE)
-    public DeptHead findDeptHeadByName(final String name){
-        return deptHeadRepository.findByName(name);
-    }
-
 
 }
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/DeptHead.java b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/DeptHead.java
index a919bfe645..f42f4812e7 100644
--- a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/DeptHead.java
+++ b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/DeptHead.java
@@ -18,6 +18,7 @@
  */
 package org.apache.causeway.viewer.graphql.viewer.test.domain;
 
+import java.util.Comparator;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -46,9 +47,9 @@ import lombok.Setter;
         schema = "public",
         name = "DeptHead"
 )
-@javax.inject.Named("gql.test.domain.DeptHead")
+@javax.inject.Named("university.dept.DeptHead")
 @DomainObject(nature = Nature.ENTITY, bounding = Bounding.BOUNDED)
-public class DeptHead implements WithName {
+public class DeptHead implements Comparable<DeptHead> {
 
     @Id
     @GeneratedValue
@@ -99,7 +100,12 @@ public class DeptHead implements WithName {
         }
     }
 
+    @Override
+    public int compareTo(final DeptHead o) {
+        return Comparator.comparing(DeptHead::getName).compare(this, o);
+    }
 
     @Inject @Transient DepartmentRepository departmentRepository;
 
+
 }
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/WithNameRepository.java b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/DeptHeadMenu.java
similarity index 50%
rename from incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/WithNameRepository.java
rename to incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/DeptHeadMenu.java
index fe5bf15b0c..a0434e76e4 100644
--- a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/WithNameRepository.java
+++ b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/DeptHeadMenu.java
@@ -18,29 +18,37 @@
  */
 package org.apache.causeway.viewer.graphql.viewer.test.domain;
 
-import java.util.ArrayList;
 import java.util.List;
 
 import javax.inject.Inject;
+import javax.inject.Named;
 
-import org.springframework.stereotype.Repository;
+import org.springframework.lang.Nullable;
 
-@Repository
-public class WithNameRepository {
+import org.apache.causeway.applib.annotation.Action;
+import org.apache.causeway.applib.annotation.DomainService;
+import org.apache.causeway.applib.annotation.NatureOfService;
+import org.apache.causeway.applib.annotation.PriorityPrecedence;
+import org.apache.causeway.applib.annotation.SemanticsOf;
 
-    @Inject private DepartmentRepository departmentRepository;
-    @Inject private DeptHeadRepository deptHeadRepository;
+import lombok.RequiredArgsConstructor;
 
-    public List<WithName> findAll() {
-        final List<WithName> result = new ArrayList<>();
-        result.addAll(departmentRepository.findAll());
-        result.addAll(deptHeadRepository.findAll());
-        return result;
+@Named("university.dept.DeptHeadMenu")
+@DomainService(nature=NatureOfService.VIEW)
+@javax.annotation.Priority(PriorityPrecedence.EARLY)
+@RequiredArgsConstructor(onConstructor_ = {@Inject})
+public class DeptHeadMenu {
+
+    final DeptHeadRepository deptHeadRepository;
+
+    @Action(semantics = SemanticsOf.SAFE)
+    public List<DeptHead> findAllDeptHeads(){
+        return deptHeadRepository.findAll();
     }
 
-    public void removeAll(){
-        departmentRepository.removeAll();
-        deptHeadRepository.removeAll();
+    @Action(semantics = SemanticsOf.SAFE)
+    public DeptHead findDeptHeadByName(final String name){
+        return deptHeadRepository.findByName(name);
     }
 
 
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/TestDomainModule.java b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/UniversityModule.java
similarity index 93%
rename from incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/TestDomainModule.java
rename to incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/UniversityModule.java
index 537ef8fe12..d1e7cf2fb2 100644
--- a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/TestDomainModule.java
+++ b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/UniversityModule.java
@@ -29,8 +29,8 @@ import org.apache.causeway.testing.fixtures.applib.modules.ModuleWithFixtures;
 @Configuration
 @ComponentScan
 @EnableJpaRepositories
-@EntityScan(basePackageClasses = {TestDomainModule.class})
-public class TestDomainModule implements ModuleWithFixtures {
+@EntityScan(basePackageClasses = {UniversityModule.class})
+public class UniversityModule implements ModuleWithFixtures {
 
     @Override
     public FixtureScript getTeardownFixture() {
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/WithName.java b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/WithName.java
deleted file mode 100644
index aeb7dabdec..0000000000
--- a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/WithName.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.causeway.viewer.graphql.viewer.test.domain;
-
-public interface WithName {
-
-    public String getName();
-
-}
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.create_department._.gql b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.create_department._.gql
index ab95101b5c..f9f5a62d19 100644
--- a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.create_department._.gql
+++ b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.create_department._.gql
@@ -1,5 +1,5 @@
 {
-    gql_test_domain_TopLevelMenu {
+    university_dept_DepartmentMenu {
         createDepartment(name: "newbie") {
             name
         }
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.create_department.approved.json b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.create_department.approved.json
index 90328010f5..7625e509e7 100644
--- a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.create_department.approved.json
+++ b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.create_department.approved.json
@@ -1,6 +1,6 @@
 {
   "data" : {
-    "gql_test_domain_TopLevelMenu" : {
+    "university_dept_DepartmentMenu" : {
       "createDepartment" : {
         "name" : "newbie"
       }
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.find_all_departments._.gql b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.find_all_departments._.gql
index c921e5677d..a9024b45f3 100644
--- a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.find_all_departments._.gql
+++ b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.find_all_departments._.gql
@@ -1,5 +1,5 @@
 {
-  gql_test_domain_TopLevelMenu {
+  university_dept_DepartmentMenu {
     findAllDepartments {
       name
       _gql_meta {
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.find_all_departments.approved.json b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.find_all_departments.approved.json
index 56ffa2f775..f3645a3aa0 100644
--- a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.find_all_departments.approved.json
+++ b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.find_all_departments.approved.json
@@ -1,18 +1,18 @@
 {
   "data" : {
-    "gql_test_domain_TopLevelMenu" : {
+    "university_dept_DepartmentMenu" : {
       "findAllDepartments" : [ {
         "name" : "foo",
         "_gql_meta" : {
           "id" : "2",
-          "logicalTypeName" : "gql.test.domain.Department",
+          "logicalTypeName" : "university.dept.Department",
           "version" : null
         }
       }, {
         "name" : "bar",
         "_gql_meta" : {
           "id" : "3",
-          "logicalTypeName" : "gql.test.domain.Department",
+          "logicalTypeName" : "university.dept.Department",
           "version" : null
         }
       } ]
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.find_department_and_change_name._.gql b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.find_department_and_change_name._.gql
index 9d90107009..c9814de893 100644
--- a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.find_department_and_change_name._.gql
+++ b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.find_department_and_change_name._.gql
@@ -1,5 +1,5 @@
 {
-    gql_test_domain_TopLevelMenu {
+    university_dept_DeptHeadMenu {
         findDeptHeadByName(name: "foo") {
             _gql_mutations {
                 changeName(newName: "bar") {
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.java b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.java
index 352f653784..1ce01e458d 100644
--- a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.java
+++ b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.java
@@ -20,19 +20,16 @@ package org.apache.causeway.viewer.graphql.viewer.test.e2e;
 
 import lombok.val;
 
-import java.util.ArrayList;
 import java.util.List;
 
 import javax.inject.Inject;
 
 import org.approvaltests.Approvals;
 import org.approvaltests.reporters.DiffReporter;
-import org.approvaltests.reporters.TextWebReporter;
 import org.approvaltests.reporters.UseReporter;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.condition.DisabledIfSystemProperty;
 
 import static org.assertj.core.api.AssertionsForInterfaceTypes.assertThat;
 
@@ -44,7 +41,7 @@ import org.apache.causeway.viewer.graphql.viewer.test.domain.Department;
 import org.apache.causeway.viewer.graphql.viewer.test.domain.DepartmentRepository;
 import org.apache.causeway.viewer.graphql.viewer.test.domain.DeptHead;
 import org.apache.causeway.viewer.graphql.viewer.test.domain.DeptHeadRepository;
-import org.apache.causeway.viewer.graphql.viewer.test.domain.TopLevelMenu;
+import org.apache.causeway.viewer.graphql.viewer.test.domain.DepartmentMenu;
 
 import static org.apache.causeway.commons.internal.assertions._Assert.assertEquals;
 import static org.apache.causeway.commons.internal.assertions._Assert.assertTrue;
@@ -56,7 +53,7 @@ public class Domain_IntegTest extends CausewayViewerGraphqlTestModuleIntegTestAb
 
     @Inject DepartmentRepository departmentRepository;
     @Inject DeptHeadRepository deptHeadRepository;
-    @Inject TopLevelMenu topLevelMenu;
+    @Inject DepartmentMenu departmentMenu;
 
     @AfterEach
     void afterEach(){
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Schema_IntegTest.java b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Schema_IntegTest.java
index 816f43ae16..cfda766e7a 100644
--- a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Schema_IntegTest.java
+++ b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Schema_IntegTest.java
@@ -18,32 +18,14 @@
  */
 package org.apache.causeway.viewer.graphql.viewer.test.e2e;
 
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.inject.Inject;
-
 import org.apache.causeway.viewer.graphql.viewer.test.CausewayViewerGraphqlTestModuleIntegTestAbstract;
 
-import org.apache.causeway.viewer.graphql.viewer.test.domain.Department;
-
-import org.apache.causeway.viewer.graphql.viewer.test.domain.DeptHead;
-import org.apache.causeway.viewer.graphql.viewer.test.domain.DepartmentRepository;
-
-import org.apache.causeway.viewer.graphql.viewer.test.domain.DeptHeadRepository;
-
 import org.approvaltests.Approvals;
 import org.approvaltests.reporters.DiffReporter;
-import org.approvaltests.reporters.TextWebReporter;
 import org.approvaltests.reporters.UseReporter;
-import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.condition.DisabledIfSystemProperty;
 
 import org.springframework.test.context.ActiveProfiles;
-import org.springframework.transaction.annotation.Propagation;
-
-import org.apache.causeway.viewer.graphql.viewer.test.domain.TopLevelMenu;
 
 import static org.apache.causeway.commons.internal.assertions._Assert.assertEquals;
 import static org.apache.causeway.commons.internal.assertions._Assert.assertNotNull;
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Schema_IntegTest.schema.approved.json b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Schema_IntegTest.schema.approved.json
index cafdedb247..447ff3cb33 100644
--- a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Schema_IntegTest.schema.approved.json
+++ b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Schema_IntegTest.schema.approved.json
@@ -71,12 +71,23 @@
           "isDeprecated" : false,
           "deprecationReason" : null
         }, {
-          "name" : "gql_test_domain_TopLevelMenu",
+          "name" : "university_dept_DepartmentMenu",
           "description" : null,
           "args" : [ ],
           "type" : {
             "kind" : "OBJECT",
-            "name" : "gql_test_domain_TopLevelMenu",
+            "name" : "university_dept_DepartmentMenu",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "university_dept_DeptHeadMenu",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "university_dept_DeptHeadMenu",
             "ofType" : null
           },
           "isDeprecated" : false,
@@ -1450,29 +1461,7 @@
         "possibleTypes" : null
       }, {
         "kind" : "INPUT_OBJECT",
-        "name" : "_gql_input__gql_test_domain_Department",
-        "description" : null,
-        "fields" : null,
-        "inputFields" : [ {
-          "name" : "id",
-          "description" : null,
-          "type" : {
-            "kind" : "NON_NULL",
-            "name" : null,
-            "ofType" : {
-              "kind" : "SCALAR",
-              "name" : "ID",
-              "ofType" : null
-            }
-          },
-          "defaultValue" : null
-        } ],
-        "interfaces" : null,
-        "enumValues" : null,
-        "possibleTypes" : null
-      }, {
-        "kind" : "INPUT_OBJECT",
-        "name" : "_gql_input__gql_test_domain_DeptHead",
+        "name" : "_gql_input__java_lang_Runnable",
         "description" : null,
         "fields" : null,
         "inputFields" : [ {
@@ -1494,7 +1483,7 @@
         "possibleTypes" : null
       }, {
         "kind" : "INPUT_OBJECT",
-        "name" : "_gql_input__java_lang_Runnable",
+        "name" : "_gql_input__java_util_Map",
         "description" : null,
         "fields" : null,
         "inputFields" : [ {
@@ -1516,7 +1505,7 @@
         "possibleTypes" : null
       }, {
         "kind" : "INPUT_OBJECT",
-        "name" : "_gql_input__java_util_Map",
+        "name" : "_gql_input__java_util_SortedMap",
         "description" : null,
         "fields" : null,
         "inputFields" : [ {
@@ -1538,7 +1527,7 @@
         "possibleTypes" : null
       }, {
         "kind" : "INPUT_OBJECT",
-        "name" : "_gql_input__java_util_SortedMap",
+        "name" : "_gql_input__java_util_concurrent_Callable",
         "description" : null,
         "fields" : null,
         "inputFields" : [ {
@@ -1560,7 +1549,7 @@
         "possibleTypes" : null
       }, {
         "kind" : "INPUT_OBJECT",
-        "name" : "_gql_input__java_util_concurrent_Callable",
+        "name" : "_gql_input__java_util_function_BiFunction",
         "description" : null,
         "fields" : null,
         "inputFields" : [ {
@@ -1582,7 +1571,7 @@
         "possibleTypes" : null
       }, {
         "kind" : "INPUT_OBJECT",
-        "name" : "_gql_input__java_util_function_BiFunction",
+        "name" : "_gql_input__java_util_function_Consumer",
         "description" : null,
         "fields" : null,
         "inputFields" : [ {
@@ -1604,7 +1593,7 @@
         "possibleTypes" : null
       }, {
         "kind" : "INPUT_OBJECT",
-        "name" : "_gql_input__java_util_function_Consumer",
+        "name" : "_gql_input__java_util_function_Function",
         "description" : null,
         "fields" : null,
         "inputFields" : [ {
@@ -1626,7 +1615,7 @@
         "possibleTypes" : null
       }, {
         "kind" : "INPUT_OBJECT",
-        "name" : "_gql_input__java_util_function_Function",
+        "name" : "_gql_input__java_util_stream_Stream",
         "description" : null,
         "fields" : null,
         "inputFields" : [ {
@@ -1648,7 +1637,7 @@
         "possibleTypes" : null
       }, {
         "kind" : "INPUT_OBJECT",
-        "name" : "_gql_input__java_util_stream_Stream",
+        "name" : "_gql_input__org_apache_causeway_commons_functional_Either",
         "description" : null,
         "fields" : null,
         "inputFields" : [ {
@@ -1670,7 +1659,7 @@
         "possibleTypes" : null
       }, {
         "kind" : "INPUT_OBJECT",
-        "name" : "_gql_input__org_apache_causeway_commons_functional_Either",
+        "name" : "_gql_input__org_apache_causeway_commons_functional_Railway",
         "description" : null,
         "fields" : null,
         "inputFields" : [ {
@@ -1692,7 +1681,7 @@
         "possibleTypes" : null
       }, {
         "kind" : "INPUT_OBJECT",
-        "name" : "_gql_input__org_apache_causeway_commons_functional_Railway",
+        "name" : "_gql_input__org_apache_causeway_commons_functional_ThrowingConsumer",
         "description" : null,
         "fields" : null,
         "inputFields" : [ {
@@ -1714,7 +1703,7 @@
         "possibleTypes" : null
       }, {
         "kind" : "INPUT_OBJECT",
-        "name" : "_gql_input__org_apache_causeway_commons_functional_ThrowingConsumer",
+        "name" : "_gql_input__org_apache_causeway_commons_functional_ThrowingFunction",
         "description" : null,
         "fields" : null,
         "inputFields" : [ {
@@ -1736,7 +1725,7 @@
         "possibleTypes" : null
       }, {
         "kind" : "INPUT_OBJECT",
-        "name" : "_gql_input__org_apache_causeway_commons_functional_ThrowingFunction",
+        "name" : "_gql_input__org_apache_causeway_commons_functional_ThrowingRunnable",
         "description" : null,
         "fields" : null,
         "inputFields" : [ {
@@ -1758,7 +1747,7 @@
         "possibleTypes" : null
       }, {
         "kind" : "INPUT_OBJECT",
-        "name" : "_gql_input__org_apache_causeway_commons_functional_ThrowingRunnable",
+        "name" : "_gql_input__org_apache_causeway_commons_functional_Try",
         "description" : null,
         "fields" : null,
         "inputFields" : [ {
@@ -1780,7 +1769,7 @@
         "possibleTypes" : null
       }, {
         "kind" : "INPUT_OBJECT",
-        "name" : "_gql_input__org_apache_causeway_commons_functional_Try",
+        "name" : "_gql_input__org_apache_causeway_core_metamodel_inspect_model_MMNode",
         "description" : null,
         "fields" : null,
         "inputFields" : [ {
@@ -1802,7 +1791,7 @@
         "possibleTypes" : null
       }, {
         "kind" : "INPUT_OBJECT",
-        "name" : "_gql_input__org_apache_causeway_core_metamodel_inspect_model_MMNode",
+        "name" : "_gql_input__org_apache_causeway_core_metamodel_inspect_model_MemberNode",
         "description" : null,
         "fields" : null,
         "inputFields" : [ {
@@ -1824,7 +1813,7 @@
         "possibleTypes" : null
       }, {
         "kind" : "INPUT_OBJECT",
-        "name" : "_gql_input__org_apache_causeway_core_metamodel_inspect_model_MemberNode",
+        "name" : "_gql_input__org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript",
         "description" : null,
         "fields" : null,
         "inputFields" : [ {
@@ -1846,7 +1835,7 @@
         "possibleTypes" : null
       }, {
         "kind" : "INPUT_OBJECT",
-        "name" : "_gql_input__org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript",
+        "name" : "_gql_input__university_dept_Department",
         "description" : null,
         "fields" : null,
         "inputFields" : [ {
@@ -1868,7 +1857,7 @@
         "possibleTypes" : null
       }, {
         "kind" : "INPUT_OBJECT",
-        "name" : "_gql_input__org_apache_causeway_viewer_graphql_viewer_test_domain_WithName",
+        "name" : "_gql_input__university_dept_DeptHead",
         "description" : null,
         "fields" : null,
         "inputFields" : [ {
@@ -4604,7 +4593,7 @@
         "possibleTypes" : null
       }, {
         "kind" : "OBJECT",
-        "name" : "gql_test_domain_Department",
+        "name" : "java_lang_Runnable",
         "description" : null,
         "fields" : [ {
           "name" : "_gql_meta",
@@ -4612,24 +4601,37 @@
           "args" : [ ],
           "type" : {
             "kind" : "OBJECT",
-            "name" : "gql_test_domain_Department__DomainObject_meta",
+            "name" : "java_lang_Runnable__DomainObject_meta",
             "ofType" : null
           },
           "isDeprecated" : false,
           "deprecationReason" : null
-        }, {
-          "name" : "deptHead",
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "java_lang_Runnable__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
           "description" : null,
           "args" : [ ],
           "type" : {
-            "kind" : "OBJECT",
-            "name" : "gql_test_domain_DeptHead",
-            "ofType" : null
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
           },
           "isDeprecated" : false,
           "deprecationReason" : null
         }, {
-          "name" : "name",
+          "name" : "logicalTypeName",
           "description" : null,
           "args" : [ ],
           "type" : {
@@ -4650,7 +4652,27 @@
         "possibleTypes" : null
       }, {
         "kind" : "OBJECT",
-        "name" : "gql_test_domain_Department__DomainObject_meta",
+        "name" : "java_util_Map",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "java_util_Map__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "java_util_Map__DomainObject_meta",
         "description" : null,
         "fields" : [ {
           "name" : "id",
@@ -4682,17 +4704,6 @@
           },
           "isDeprecated" : false,
           "deprecationReason" : null
-        }, {
-          "name" : "version",
-          "description" : null,
-          "args" : [ ],
-          "type" : {
-            "kind" : "SCALAR",
-            "name" : "String",
-            "ofType" : null
-          },
-          "isDeprecated" : false,
-          "deprecationReason" : null
         } ],
         "inputFields" : null,
         "interfaces" : [ ],
@@ -4700,7 +4711,7 @@
         "possibleTypes" : null
       }, {
         "kind" : "OBJECT",
-        "name" : "gql_test_domain_DeptHead",
+        "name" : "java_util_SortedMap",
         "description" : null,
         "fields" : [ {
           "name" : "_gql_meta",
@@ -4708,40 +4719,66 @@
           "args" : [ ],
           "type" : {
             "kind" : "OBJECT",
-            "name" : "gql_test_domain_DeptHead__DomainObject_meta",
+            "name" : "java_util_SortedMap__DomainObject_meta",
             "ofType" : null
           },
           "isDeprecated" : false,
           "deprecationReason" : null
-        }, {
-          "name" : "department",
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "java_util_SortedMap__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
           "description" : null,
           "args" : [ ],
           "type" : {
-            "kind" : "OBJECT",
-            "name" : "gql_test_domain_Department",
-            "ofType" : null
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
           },
           "isDeprecated" : false,
           "deprecationReason" : null
         }, {
-          "name" : "name",
+          "name" : "logicalTypeName",
           "description" : null,
           "args" : [ ],
           "type" : {
-            "kind" : "SCALAR",
-            "name" : "String",
-            "ofType" : null
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
           },
           "isDeprecated" : false,
           "deprecationReason" : null
-        }, {
-          "name" : "_gql_mutations",
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "java_util_concurrent_Callable",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
           "description" : null,
           "args" : [ ],
           "type" : {
             "kind" : "OBJECT",
-            "name" : "gql_test_domain_DeptHead__DomainObject_mutators",
+            "name" : "java_util_concurrent_Callable__DomainObject_meta",
             "ofType" : null
           },
           "isDeprecated" : false,
@@ -4753,7 +4790,7 @@
         "possibleTypes" : null
       }, {
         "kind" : "OBJECT",
-        "name" : "gql_test_domain_DeptHead__DomainObject_meta",
+        "name" : "java_util_concurrent_Callable__DomainObject_meta",
         "description" : null,
         "fields" : [ {
           "name" : "id",
@@ -4785,17 +4822,6 @@
           },
           "isDeprecated" : false,
           "deprecationReason" : null
-        }, {
-          "name" : "version",
-          "description" : null,
-          "args" : [ ],
-          "type" : {
-            "kind" : "SCALAR",
-            "name" : "String",
-            "ofType" : null
-          },
-          "isDeprecated" : false,
-          "deprecationReason" : null
         } ],
         "inputFields" : null,
         "interfaces" : [ ],
@@ -4803,52 +4829,15 @@
         "possibleTypes" : null
       }, {
         "kind" : "OBJECT",
-        "name" : "gql_test_domain_DeptHead__DomainObject_mutators",
+        "name" : "java_util_function_BiFunction",
         "description" : null,
         "fields" : [ {
-          "name" : "changeDepartment",
-          "description" : null,
-          "args" : [ {
-            "name" : "department",
-            "description" : null,
-            "type" : {
-              "kind" : "NON_NULL",
-              "name" : null,
-              "ofType" : {
-                "kind" : "INPUT_OBJECT",
-                "name" : "_gql_input__gql_test_domain_Department",
-                "ofType" : null
-              }
-            },
-            "defaultValue" : null
-          } ],
-          "type" : {
-            "kind" : "OBJECT",
-            "name" : "gql_test_domain_DeptHead",
-            "ofType" : null
-          },
-          "isDeprecated" : false,
-          "deprecationReason" : null
-        }, {
-          "name" : "changeName",
+          "name" : "_gql_meta",
           "description" : null,
-          "args" : [ {
-            "name" : "newName",
-            "description" : null,
-            "type" : {
-              "kind" : "NON_NULL",
-              "name" : null,
-              "ofType" : {
-                "kind" : "SCALAR",
-                "name" : "String",
-                "ofType" : null
-              }
-            },
-            "defaultValue" : null
-          } ],
+          "args" : [ ],
           "type" : {
             "kind" : "OBJECT",
-            "name" : "gql_test_domain_DeptHead",
+            "name" : "java_util_function_BiFunction__DomainObject_meta",
             "ofType" : null
           },
           "isDeprecated" : false,
@@ -4860,99 +4849,35 @@
         "possibleTypes" : null
       }, {
         "kind" : "OBJECT",
-        "name" : "gql_test_domain_TopLevelMenu",
+        "name" : "java_util_function_BiFunction__DomainObject_meta",
         "description" : null,
         "fields" : [ {
-          "name" : "createDepartment",
+          "name" : "id",
           "description" : null,
-          "args" : [ {
-            "name" : "name",
-            "description" : null,
-            "type" : {
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
               "kind" : "SCALAR",
               "name" : "String",
               "ofType" : null
-            },
-            "defaultValue" : null
-          }, {
-            "name" : "deptHead",
-            "description" : null,
-            "type" : {
-              "kind" : "INPUT_OBJECT",
-              "name" : "_gql_input__gql_test_domain_DeptHead",
-              "ofType" : null
-            },
-            "defaultValue" : null
-          } ],
-          "type" : {
-            "kind" : "OBJECT",
-            "name" : "gql_test_domain_Department",
-            "ofType" : null
+            }
           },
           "isDeprecated" : false,
           "deprecationReason" : null
         }, {
-          "name" : "findAllDepartments",
+          "name" : "logicalTypeName",
           "description" : null,
           "args" : [ ],
           "type" : {
-            "kind" : "LIST",
+            "kind" : "NON_NULL",
             "name" : null,
             "ofType" : {
-              "kind" : "OBJECT",
-              "name" : "gql_test_domain_Department",
-              "ofType" : null
-            }
-          },
-          "isDeprecated" : false,
-          "deprecationReason" : null
-        }, {
-          "name" : "findAllDeptHeads",
-          "description" : null,
-          "args" : [ ],
-          "type" : {
-            "kind" : "LIST",
-            "name" : null,
-            "ofType" : {
-              "kind" : "OBJECT",
-              "name" : "gql_test_domain_DeptHead",
-              "ofType" : null
-            }
-          },
-          "isDeprecated" : false,
-          "deprecationReason" : null
-        }, {
-          "name" : "findAllEntitiesWithName",
-          "description" : null,
-          "args" : [ ],
-          "type" : {
-            "kind" : "LIST",
-            "name" : null,
-            "ofType" : {
-              "kind" : "OBJECT",
-              "name" : "org_apache_causeway_viewer_graphql_viewer_test_domain_WithName",
-              "ofType" : null
-            }
-          },
-          "isDeprecated" : false,
-          "deprecationReason" : null
-        }, {
-          "name" : "findDeptHeadByName",
-          "description" : null,
-          "args" : [ {
-            "name" : "name",
-            "description" : null,
-            "type" : {
               "kind" : "SCALAR",
               "name" : "String",
               "ofType" : null
-            },
-            "defaultValue" : null
-          } ],
-          "type" : {
-            "kind" : "OBJECT",
-            "name" : "gql_test_domain_DeptHead",
-            "ofType" : null
+            }
           },
           "isDeprecated" : false,
           "deprecationReason" : null
@@ -4963,7 +4888,7 @@
         "possibleTypes" : null
       }, {
         "kind" : "OBJECT",
-        "name" : "java_lang_Runnable",
+        "name" : "java_util_function_Consumer",
         "description" : null,
         "fields" : [ {
           "name" : "_gql_meta",
@@ -4971,7 +4896,7 @@
           "args" : [ ],
           "type" : {
             "kind" : "OBJECT",
-            "name" : "java_lang_Runnable__DomainObject_meta",
+            "name" : "java_util_function_Consumer__DomainObject_meta",
             "ofType" : null
           },
           "isDeprecated" : false,
@@ -4983,7 +4908,7 @@
         "possibleTypes" : null
       }, {
         "kind" : "OBJECT",
-        "name" : "java_lang_Runnable__DomainObject_meta",
+        "name" : "java_util_function_Consumer__DomainObject_meta",
         "description" : null,
         "fields" : [ {
           "name" : "id",
@@ -5022,7 +4947,7 @@
         "possibleTypes" : null
       }, {
         "kind" : "OBJECT",
-        "name" : "java_util_Map",
+        "name" : "java_util_function_Function",
         "description" : null,
         "fields" : [ {
           "name" : "_gql_meta",
@@ -5030,7 +4955,7 @@
           "args" : [ ],
           "type" : {
             "kind" : "OBJECT",
-            "name" : "java_util_Map__DomainObject_meta",
+            "name" : "java_util_function_Function__DomainObject_meta",
             "ofType" : null
           },
           "isDeprecated" : false,
@@ -5042,7 +4967,7 @@
         "possibleTypes" : null
       }, {
         "kind" : "OBJECT",
-        "name" : "java_util_Map__DomainObject_meta",
+        "name" : "java_util_function_Function__DomainObject_meta",
         "description" : null,
         "fields" : [ {
           "name" : "id",
@@ -5081,7 +5006,7 @@
         "possibleTypes" : null
       }, {
         "kind" : "OBJECT",
-        "name" : "java_util_SortedMap",
+        "name" : "java_util_stream_Stream",
         "description" : null,
         "fields" : [ {
           "name" : "_gql_meta",
@@ -5089,7 +5014,7 @@
           "args" : [ ],
           "type" : {
             "kind" : "OBJECT",
-            "name" : "java_util_SortedMap__DomainObject_meta",
+            "name" : "java_util_stream_Stream__DomainObject_meta",
             "ofType" : null
           },
           "isDeprecated" : false,
@@ -5101,7 +5026,7 @@
         "possibleTypes" : null
       }, {
         "kind" : "OBJECT",
-        "name" : "java_util_SortedMap__DomainObject_meta",
+        "name" : "java_util_stream_Stream__DomainObject_meta",
         "description" : null,
         "fields" : [ {
           "name" : "id",
@@ -5140,7 +5065,7 @@
         "possibleTypes" : null
       }, {
         "kind" : "OBJECT",
-        "name" : "java_util_concurrent_Callable",
+        "name" : "org_apache_causeway_commons_functional_Either",
         "description" : null,
         "fields" : [ {
           "name" : "_gql_meta",
@@ -5148,22 +5073,13 @@
           "args" : [ ],
           "type" : {
             "kind" : "OBJECT",
-            "name" : "java_util_concurrent_Callable__DomainObject_meta",
+            "name" : "org_apache_causeway_commons_functional_Either__DomainObject_meta",
             "ofType" : null
           },
           "isDeprecated" : false,
           "deprecationReason" : null
-        } ],
-        "inputFields" : null,
-        "interfaces" : [ ],
-        "enumValues" : null,
-        "possibleTypes" : null
-      }, {
-        "kind" : "OBJECT",
-        "name" : "java_util_concurrent_Callable__DomainObject_meta",
-        "description" : null,
-        "fields" : [ {
-          "name" : "id",
+        }, {
+          "name" : "left",
           "description" : null,
           "args" : [ ],
           "type" : {
@@ -5178,7 +5094,7 @@
           "isDeprecated" : false,
           "deprecationReason" : null
         }, {
-          "name" : "logicalTypeName",
+          "name" : "right",
           "description" : null,
           "args" : [ ],
           "type" : {
@@ -5192,22 +5108,13 @@
           },
           "isDeprecated" : false,
           "deprecationReason" : null
-        } ],
-        "inputFields" : null,
-        "interfaces" : [ ],
-        "enumValues" : null,
-        "possibleTypes" : null
-      }, {
-        "kind" : "OBJECT",
-        "name" : "java_util_function_BiFunction",
-        "description" : null,
-        "fields" : [ {
-          "name" : "_gql_meta",
+        }, {
+          "name" : "_gql_mutations",
           "description" : null,
           "args" : [ ],
           "type" : {
             "kind" : "OBJECT",
-            "name" : "java_util_function_BiFunction__DomainObject_meta",
+            "name" : "org_apache_causeway_commons_functional_Either__DomainObject_mutators",
             "ofType" : null
           },
           "isDeprecated" : false,
@@ -5219,7 +5126,7 @@
         "possibleTypes" : null
       }, {
         "kind" : "OBJECT",
-        "name" : "java_util_function_BiFunction__DomainObject_meta",
+        "name" : "org_apache_causeway_commons_functional_Either__DomainObject_meta",
         "description" : null,
         "fields" : [ {
           "name" : "id",
@@ -5258,15 +5165,148 @@
         "possibleTypes" : null
       }, {
         "kind" : "OBJECT",
-        "name" : "java_util_function_Consumer",
+        "name" : "org_apache_causeway_commons_functional_Either__DomainObject_mutators",
         "description" : null,
         "fields" : [ {
-          "name" : "_gql_meta",
+          "name" : "accept",
+          "description" : null,
+          "args" : [ {
+            "name" : "leftConsumer",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__java_util_function_Consumer",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          }, {
+            "name" : "rightConsumer",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__java_util_function_Consumer",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "left",
           "description" : null,
           "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "map",
+          "description" : null,
+          "args" : [ {
+            "name" : "leftMapper",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__java_util_function_Function",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          }, {
+            "name" : "rightMapper",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__java_util_function_Function",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          } ],
           "type" : {
             "kind" : "OBJECT",
-            "name" : "java_util_function_Consumer__DomainObject_meta",
+            "name" : "org_apache_causeway_commons_functional_Either",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "mapLeft",
+          "description" : null,
+          "args" : [ {
+            "name" : "leftMapper",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__java_util_function_Function",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_Either",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "mapRight",
+          "description" : null,
+          "args" : [ {
+            "name" : "rightMapper",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__java_util_function_Function",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_Either",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "right",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
             "ofType" : null
           },
           "isDeprecated" : false,
@@ -5278,431 +5318,21 @@
         "possibleTypes" : null
       }, {
         "kind" : "OBJECT",
-        "name" : "java_util_function_Consumer__DomainObject_meta",
+        "name" : "org_apache_causeway_commons_functional_Railway",
         "description" : null,
         "fields" : [ {
-          "name" : "id",
+          "name" : "_gql_meta",
           "description" : null,
           "args" : [ ],
           "type" : {
-            "kind" : "NON_NULL",
-            "name" : null,
-            "ofType" : {
-              "kind" : "SCALAR",
-              "name" : "String",
-              "ofType" : null
-            }
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_Railway__DomainObject_meta",
+            "ofType" : null
           },
           "isDeprecated" : false,
           "deprecationReason" : null
         }, {
-          "name" : "logicalTypeName",
-          "description" : null,
-          "args" : [ ],
-          "type" : {
-            "kind" : "NON_NULL",
-            "name" : null,
-            "ofType" : {
-              "kind" : "SCALAR",
-              "name" : "String",
-              "ofType" : null
-            }
-          },
-          "isDeprecated" : false,
-          "deprecationReason" : null
-        } ],
-        "inputFields" : null,
-        "interfaces" : [ ],
-        "enumValues" : null,
-        "possibleTypes" : null
-      }, {
-        "kind" : "OBJECT",
-        "name" : "java_util_function_Function",
-        "description" : null,
-        "fields" : [ {
-          "name" : "_gql_meta",
-          "description" : null,
-          "args" : [ ],
-          "type" : {
-            "kind" : "OBJECT",
-            "name" : "java_util_function_Function__DomainObject_meta",
-            "ofType" : null
-          },
-          "isDeprecated" : false,
-          "deprecationReason" : null
-        } ],
-        "inputFields" : null,
-        "interfaces" : [ ],
-        "enumValues" : null,
-        "possibleTypes" : null
-      }, {
-        "kind" : "OBJECT",
-        "name" : "java_util_function_Function__DomainObject_meta",
-        "description" : null,
-        "fields" : [ {
-          "name" : "id",
-          "description" : null,
-          "args" : [ ],
-          "type" : {
-            "kind" : "NON_NULL",
-            "name" : null,
-            "ofType" : {
-              "kind" : "SCALAR",
-              "name" : "String",
-              "ofType" : null
-            }
-          },
-          "isDeprecated" : false,
-          "deprecationReason" : null
-        }, {
-          "name" : "logicalTypeName",
-          "description" : null,
-          "args" : [ ],
-          "type" : {
-            "kind" : "NON_NULL",
-            "name" : null,
-            "ofType" : {
-              "kind" : "SCALAR",
-              "name" : "String",
-              "ofType" : null
-            }
-          },
-          "isDeprecated" : false,
-          "deprecationReason" : null
-        } ],
-        "inputFields" : null,
-        "interfaces" : [ ],
-        "enumValues" : null,
-        "possibleTypes" : null
-      }, {
-        "kind" : "OBJECT",
-        "name" : "java_util_stream_Stream",
-        "description" : null,
-        "fields" : [ {
-          "name" : "_gql_meta",
-          "description" : null,
-          "args" : [ ],
-          "type" : {
-            "kind" : "OBJECT",
-            "name" : "java_util_stream_Stream__DomainObject_meta",
-            "ofType" : null
-          },
-          "isDeprecated" : false,
-          "deprecationReason" : null
-        } ],
-        "inputFields" : null,
-        "interfaces" : [ ],
-        "enumValues" : null,
-        "possibleTypes" : null
-      }, {
-        "kind" : "OBJECT",
-        "name" : "java_util_stream_Stream__DomainObject_meta",
-        "description" : null,
-        "fields" : [ {
-          "name" : "id",
-          "description" : null,
-          "args" : [ ],
-          "type" : {
-            "kind" : "NON_NULL",
-            "name" : null,
-            "ofType" : {
-              "kind" : "SCALAR",
-              "name" : "String",
-              "ofType" : null
-            }
-          },
-          "isDeprecated" : false,
-          "deprecationReason" : null
-        }, {
-          "name" : "logicalTypeName",
-          "description" : null,
-          "args" : [ ],
-          "type" : {
-            "kind" : "NON_NULL",
-            "name" : null,
-            "ofType" : {
-              "kind" : "SCALAR",
-              "name" : "String",
-              "ofType" : null
-            }
-          },
-          "isDeprecated" : false,
-          "deprecationReason" : null
-        } ],
-        "inputFields" : null,
-        "interfaces" : [ ],
-        "enumValues" : null,
-        "possibleTypes" : null
-      }, {
-        "kind" : "OBJECT",
-        "name" : "org_apache_causeway_commons_functional_Either",
-        "description" : null,
-        "fields" : [ {
-          "name" : "_gql_meta",
-          "description" : null,
-          "args" : [ ],
-          "type" : {
-            "kind" : "OBJECT",
-            "name" : "org_apache_causeway_commons_functional_Either__DomainObject_meta",
-            "ofType" : null
-          },
-          "isDeprecated" : false,
-          "deprecationReason" : null
-        }, {
-          "name" : "left",
-          "description" : null,
-          "args" : [ ],
-          "type" : {
-            "kind" : "NON_NULL",
-            "name" : null,
-            "ofType" : {
-              "kind" : "SCALAR",
-              "name" : "String",
-              "ofType" : null
-            }
-          },
-          "isDeprecated" : false,
-          "deprecationReason" : null
-        }, {
-          "name" : "right",
-          "description" : null,
-          "args" : [ ],
-          "type" : {
-            "kind" : "NON_NULL",
-            "name" : null,
-            "ofType" : {
-              "kind" : "SCALAR",
-              "name" : "String",
-              "ofType" : null
-            }
-          },
-          "isDeprecated" : false,
-          "deprecationReason" : null
-        }, {
-          "name" : "_gql_mutations",
-          "description" : null,
-          "args" : [ ],
-          "type" : {
-            "kind" : "OBJECT",
-            "name" : "org_apache_causeway_commons_functional_Either__DomainObject_mutators",
-            "ofType" : null
-          },
-          "isDeprecated" : false,
-          "deprecationReason" : null
-        } ],
-        "inputFields" : null,
-        "interfaces" : [ ],
-        "enumValues" : null,
-        "possibleTypes" : null
-      }, {
-        "kind" : "OBJECT",
-        "name" : "org_apache_causeway_commons_functional_Either__DomainObject_meta",
-        "description" : null,
-        "fields" : [ {
-          "name" : "id",
-          "description" : null,
-          "args" : [ ],
-          "type" : {
-            "kind" : "NON_NULL",
-            "name" : null,
-            "ofType" : {
-              "kind" : "SCALAR",
-              "name" : "String",
-              "ofType" : null
-            }
-          },
-          "isDeprecated" : false,
-          "deprecationReason" : null
-        }, {
-          "name" : "logicalTypeName",
-          "description" : null,
-          "args" : [ ],
-          "type" : {
-            "kind" : "NON_NULL",
-            "name" : null,
-            "ofType" : {
-              "kind" : "SCALAR",
-              "name" : "String",
-              "ofType" : null
-            }
-          },
-          "isDeprecated" : false,
-          "deprecationReason" : null
-        } ],
-        "inputFields" : null,
-        "interfaces" : [ ],
-        "enumValues" : null,
-        "possibleTypes" : null
-      }, {
-        "kind" : "OBJECT",
-        "name" : "org_apache_causeway_commons_functional_Either__DomainObject_mutators",
-        "description" : null,
-        "fields" : [ {
-          "name" : "accept",
-          "description" : null,
-          "args" : [ {
-            "name" : "leftConsumer",
-            "description" : null,
-            "type" : {
-              "kind" : "NON_NULL",
-              "name" : null,
-              "ofType" : {
-                "kind" : "INPUT_OBJECT",
-                "name" : "_gql_input__java_util_function_Consumer",
-                "ofType" : null
-              }
-            },
-            "defaultValue" : null
-          }, {
-            "name" : "rightConsumer",
-            "description" : null,
-            "type" : {
-              "kind" : "NON_NULL",
-              "name" : null,
-              "ofType" : {
-                "kind" : "INPUT_OBJECT",
-                "name" : "_gql_input__java_util_function_Consumer",
-                "ofType" : null
-              }
-            },
-            "defaultValue" : null
-          } ],
-          "type" : {
-            "kind" : "SCALAR",
-            "name" : "String",
-            "ofType" : null
-          },
-          "isDeprecated" : false,
-          "deprecationReason" : null
-        }, {
-          "name" : "left",
-          "description" : null,
-          "args" : [ ],
-          "type" : {
-            "kind" : "SCALAR",
-            "name" : "String",
-            "ofType" : null
-          },
-          "isDeprecated" : false,
-          "deprecationReason" : null
-        }, {
-          "name" : "map",
-          "description" : null,
-          "args" : [ {
-            "name" : "leftMapper",
-            "description" : null,
-            "type" : {
-              "kind" : "NON_NULL",
-              "name" : null,
-              "ofType" : {
-                "kind" : "INPUT_OBJECT",
-                "name" : "_gql_input__java_util_function_Function",
-                "ofType" : null
-              }
-            },
-            "defaultValue" : null
-          }, {
-            "name" : "rightMapper",
-            "description" : null,
-            "type" : {
-              "kind" : "NON_NULL",
-              "name" : null,
-              "ofType" : {
-                "kind" : "INPUT_OBJECT",
-                "name" : "_gql_input__java_util_function_Function",
-                "ofType" : null
-              }
-            },
-            "defaultValue" : null
-          } ],
-          "type" : {
-            "kind" : "OBJECT",
-            "name" : "org_apache_causeway_commons_functional_Either",
-            "ofType" : null
-          },
-          "isDeprecated" : false,
-          "deprecationReason" : null
-        }, {
-          "name" : "mapLeft",
-          "description" : null,
-          "args" : [ {
-            "name" : "leftMapper",
-            "description" : null,
-            "type" : {
-              "kind" : "NON_NULL",
-              "name" : null,
-              "ofType" : {
-                "kind" : "INPUT_OBJECT",
-                "name" : "_gql_input__java_util_function_Function",
-                "ofType" : null
-              }
-            },
-            "defaultValue" : null
-          } ],
-          "type" : {
-            "kind" : "OBJECT",
-            "name" : "org_apache_causeway_commons_functional_Either",
-            "ofType" : null
-          },
-          "isDeprecated" : false,
-          "deprecationReason" : null
-        }, {
-          "name" : "mapRight",
-          "description" : null,
-          "args" : [ {
-            "name" : "rightMapper",
-            "description" : null,
-            "type" : {
-              "kind" : "NON_NULL",
-              "name" : null,
-              "ofType" : {
-                "kind" : "INPUT_OBJECT",
-                "name" : "_gql_input__java_util_function_Function",
-                "ofType" : null
-              }
-            },
-            "defaultValue" : null
-          } ],
-          "type" : {
-            "kind" : "OBJECT",
-            "name" : "org_apache_causeway_commons_functional_Either",
-            "ofType" : null
-          },
-          "isDeprecated" : false,
-          "deprecationReason" : null
-        }, {
-          "name" : "right",
-          "description" : null,
-          "args" : [ ],
-          "type" : {
-            "kind" : "SCALAR",
-            "name" : "String",
-            "ofType" : null
-          },
-          "isDeprecated" : false,
-          "deprecationReason" : null
-        } ],
-        "inputFields" : null,
-        "interfaces" : [ ],
-        "enumValues" : null,
-        "possibleTypes" : null
-      }, {
-        "kind" : "OBJECT",
-        "name" : "org_apache_causeway_commons_functional_Railway",
-        "description" : null,
-        "fields" : [ {
-          "name" : "_gql_meta",
-          "description" : null,
-          "args" : [ ],
-          "type" : {
-            "kind" : "OBJECT",
-            "name" : "org_apache_causeway_commons_functional_Railway__DomainObject_meta",
-            "ofType" : null
-          },
-          "isDeprecated" : false,
-          "deprecationReason" : null
-        }, {
-          "name" : "failure",
+          "name" : "failure",
           "description" : null,
           "args" : [ ],
           "type" : {
@@ -6913,7 +6543,107 @@
           "args" : [ ],
           "type" : {
             "kind" : "OBJECT",
-            "name" : "org_apache_causeway_core_metamodel_inspect_model_MMNode__DomainObject_meta",
+            "name" : "org_apache_causeway_core_metamodel_inspect_model_MMNode__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "org_apache_causeway_core_metamodel_inspect_model_MMNode__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "org_apache_causeway_core_metamodel_inspect_model_MemberNode",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_core_metamodel_inspect_model_MemberNode__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "parentNode",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "OBJECT",
+              "name" : "causeway_applib_TypeNode",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "mixedIn",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "_gql_mutations",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_core_metamodel_inspect_model_MemberNode__DomainObject_mutators",
             "ofType" : null
           },
           "isDeprecated" : false,
@@ -6925,7 +6655,7 @@
         "possibleTypes" : null
       }, {
         "kind" : "OBJECT",
-        "name" : "org_apache_causeway_core_metamodel_inspect_model_MMNode__DomainObject_meta",
+        "name" : "org_apache_causeway_core_metamodel_inspect_model_MemberNode__DomainObject_meta",
         "description" : null,
         "fields" : [ {
           "name" : "id",
@@ -6964,36 +6694,41 @@
         "possibleTypes" : null
       }, {
         "kind" : "OBJECT",
-        "name" : "org_apache_causeway_core_metamodel_inspect_model_MemberNode",
+        "name" : "org_apache_causeway_core_metamodel_inspect_model_MemberNode__DomainObject_mutators",
         "description" : null,
         "fields" : [ {
-          "name" : "_gql_meta",
+          "name" : "streamChildNodes",
           "description" : null,
           "args" : [ ],
           "type" : {
             "kind" : "OBJECT",
-            "name" : "org_apache_causeway_core_metamodel_inspect_model_MemberNode__DomainObject_meta",
+            "name" : "java_util_stream_Stream",
             "ofType" : null
           },
           "isDeprecated" : false,
           "deprecationReason" : null
-        }, {
-          "name" : "parentNode",
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
           "description" : null,
           "args" : [ ],
           "type" : {
-            "kind" : "NON_NULL",
-            "name" : null,
-            "ofType" : {
-              "kind" : "OBJECT",
-              "name" : "causeway_applib_TypeNode",
-              "ofType" : null
-            }
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__DomainObject_meta",
+            "ofType" : null
           },
           "isDeprecated" : false,
           "deprecationReason" : null
         }, {
-          "name" : "mixedIn",
+          "name" : "friendlyName",
           "description" : null,
           "args" : [ ],
           "type" : {
@@ -7008,13 +6743,17 @@
           "isDeprecated" : false,
           "deprecationReason" : null
         }, {
-          "name" : "_gql_mutations",
+          "name" : "qualifiedName",
           "description" : null,
           "args" : [ ],
           "type" : {
-            "kind" : "OBJECT",
-            "name" : "org_apache_causeway_core_metamodel_inspect_model_MemberNode__DomainObject_mutators",
-            "ofType" : null
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
           },
           "isDeprecated" : false,
           "deprecationReason" : null
@@ -7025,7 +6764,7 @@
         "possibleTypes" : null
       }, {
         "kind" : "OBJECT",
-        "name" : "org_apache_causeway_core_metamodel_inspect_model_MemberNode__DomainObject_meta",
+        "name" : "org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__DomainObject_meta",
         "description" : null,
         "fields" : [ {
           "name" : "id",
@@ -7064,41 +6803,32 @@
         "possibleTypes" : null
       }, {
         "kind" : "OBJECT",
-        "name" : "org_apache_causeway_core_metamodel_inspect_model_MemberNode__DomainObject_mutators",
+        "name" : "university_dept_Department",
         "description" : null,
         "fields" : [ {
-          "name" : "streamChildNodes",
+          "name" : "_gql_meta",
           "description" : null,
           "args" : [ ],
           "type" : {
             "kind" : "OBJECT",
-            "name" : "java_util_stream_Stream",
+            "name" : "university_dept_Department__DomainObject_meta",
             "ofType" : null
           },
           "isDeprecated" : false,
           "deprecationReason" : null
-        } ],
-        "inputFields" : null,
-        "interfaces" : [ ],
-        "enumValues" : null,
-        "possibleTypes" : null
-      }, {
-        "kind" : "OBJECT",
-        "name" : "org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript",
-        "description" : null,
-        "fields" : [ {
-          "name" : "_gql_meta",
+        }, {
+          "name" : "deptHead",
           "description" : null,
           "args" : [ ],
           "type" : {
             "kind" : "OBJECT",
-            "name" : "org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__DomainObject_meta",
+            "name" : "university_dept_DeptHead",
             "ofType" : null
           },
           "isDeprecated" : false,
           "deprecationReason" : null
         }, {
-          "name" : "friendlyName",
+          "name" : "name",
           "description" : null,
           "args" : [ ],
           "type" : {
@@ -7112,16 +6842,54 @@
           },
           "isDeprecated" : false,
           "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "university_dept_DepartmentMenu",
+        "description" : null,
+        "fields" : [ {
+          "name" : "createDepartment",
+          "description" : null,
+          "args" : [ {
+            "name" : "name",
+            "description" : null,
+            "type" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            },
+            "defaultValue" : null
+          }, {
+            "name" : "deptHead",
+            "description" : null,
+            "type" : {
+              "kind" : "INPUT_OBJECT",
+              "name" : "_gql_input__university_dept_DeptHead",
+              "ofType" : null
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "university_dept_Department",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
         }, {
-          "name" : "qualifiedName",
+          "name" : "findAllDepartments",
           "description" : null,
           "args" : [ ],
           "type" : {
-            "kind" : "NON_NULL",
+            "kind" : "LIST",
             "name" : null,
             "ofType" : {
-              "kind" : "SCALAR",
-              "name" : "String",
+              "kind" : "OBJECT",
+              "name" : "university_dept_Department",
               "ofType" : null
             }
           },
@@ -7134,7 +6902,7 @@
         "possibleTypes" : null
       }, {
         "kind" : "OBJECT",
-        "name" : "org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__DomainObject_meta",
+        "name" : "university_dept_Department__DomainObject_meta",
         "description" : null,
         "fields" : [ {
           "name" : "id",
@@ -7166,6 +6934,17 @@
           },
           "isDeprecated" : false,
           "deprecationReason" : null
+        }, {
+          "name" : "version",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
         } ],
         "inputFields" : null,
         "interfaces" : [ ],
@@ -7173,7 +6952,7 @@
         "possibleTypes" : null
       }, {
         "kind" : "OBJECT",
-        "name" : "org_apache_causeway_viewer_graphql_viewer_test_domain_WithName",
+        "name" : "university_dept_DeptHead",
         "description" : null,
         "fields" : [ {
           "name" : "_gql_meta",
@@ -7181,7 +6960,18 @@
           "args" : [ ],
           "type" : {
             "kind" : "OBJECT",
-            "name" : "org_apache_causeway_viewer_graphql_viewer_test_domain_WithName__DomainObject_meta",
+            "name" : "university_dept_DeptHead__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "department",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "university_dept_Department",
             "ofType" : null
           },
           "isDeprecated" : false,
@@ -7191,13 +6981,64 @@
           "description" : null,
           "args" : [ ],
           "type" : {
-            "kind" : "NON_NULL",
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "_gql_mutations",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "university_dept_DeptHead__DomainObject_mutators",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "university_dept_DeptHeadMenu",
+        "description" : null,
+        "fields" : [ {
+          "name" : "findAllDeptHeads",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "LIST",
             "name" : null,
             "ofType" : {
+              "kind" : "OBJECT",
+              "name" : "university_dept_DeptHead",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "findDeptHeadByName",
+          "description" : null,
+          "args" : [ {
+            "name" : "name",
+            "description" : null,
+            "type" : {
               "kind" : "SCALAR",
               "name" : "String",
               "ofType" : null
-            }
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "university_dept_DeptHead",
+            "ofType" : null
           },
           "isDeprecated" : false,
           "deprecationReason" : null
@@ -7208,7 +7049,7 @@
         "possibleTypes" : null
       }, {
         "kind" : "OBJECT",
-        "name" : "org_apache_causeway_viewer_graphql_viewer_test_domain_WithName__DomainObject_meta",
+        "name" : "university_dept_DeptHead__DomainObject_meta",
         "description" : null,
         "fields" : [ {
           "name" : "id",
@@ -7240,6 +7081,74 @@
           },
           "isDeprecated" : false,
           "deprecationReason" : null
+        }, {
+          "name" : "version",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "university_dept_DeptHead__DomainObject_mutators",
+        "description" : null,
+        "fields" : [ {
+          "name" : "changeDepartment",
+          "description" : null,
+          "args" : [ {
+            "name" : "department",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__university_dept_Department",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "university_dept_DeptHead",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "changeName",
+          "description" : null,
+          "args" : [ {
+            "name" : "newName",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "SCALAR",
+                "name" : "String",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "university_dept_DeptHead",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
         } ],
         "inputFields" : null,
         "interfaces" : [ ],
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Schema_IntegTest.schema_types_name.approved.json b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Schema_IntegTest.schema_types_name.approved.json
index fd14945df3..ca37cd5bb3 100644
--- a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Schema_IntegTest.schema_types_name.approved.json
+++ b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Schema_IntegTest.schema_types_name.approved.json
@@ -73,10 +73,6 @@
         "name" : "_gql_input__causeway_security_LoginRedirect"
       }, {
         "name" : "_gql_input__causeway_testing_fixtures_FixtureResult"
-      }, {
-        "name" : "_gql_input__gql_test_domain_Department"
-      }, {
-        "name" : "_gql_input__gql_test_domain_DeptHead"
       }, {
         "name" : "_gql_input__java_lang_Runnable"
       }, {
@@ -112,7 +108,9 @@
       }, {
         "name" : "_gql_input__org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript"
       }, {
-        "name" : "_gql_input__org_apache_causeway_viewer_graphql_viewer_test_domain_WithName"
+        "name" : "_gql_input__university_dept_Department"
+      }, {
+        "name" : "_gql_input__university_dept_DeptHead"
       }, {
         "name" : "causeway_applib_DomainObjectList"
       }, {
@@ -217,18 +215,6 @@
         "name" : "causeway_testing_fixtures_FixtureResult"
       }, {
         "name" : "causeway_testing_fixtures_FixtureResult__DomainObject_meta"
-      }, {
-        "name" : "gql_test_domain_Department"
-      }, {
-        "name" : "gql_test_domain_Department__DomainObject_meta"
-      }, {
-        "name" : "gql_test_domain_DeptHead"
-      }, {
-        "name" : "gql_test_domain_DeptHead__DomainObject_meta"
-      }, {
-        "name" : "gql_test_domain_DeptHead__DomainObject_mutators"
-      }, {
-        "name" : "gql_test_domain_TopLevelMenu"
       }, {
         "name" : "java_lang_Runnable"
       }, {
@@ -312,9 +298,19 @@
       }, {
         "name" : "org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__DomainObject_meta"
       }, {
-        "name" : "org_apache_causeway_viewer_graphql_viewer_test_domain_WithName"
+        "name" : "university_dept_Department"
+      }, {
+        "name" : "university_dept_DepartmentMenu"
+      }, {
+        "name" : "university_dept_Department__DomainObject_meta"
+      }, {
+        "name" : "university_dept_DeptHead"
+      }, {
+        "name" : "university_dept_DeptHeadMenu"
+      }, {
+        "name" : "university_dept_DeptHead__DomainObject_meta"
       }, {
-        "name" : "org_apache_causeway_viewer_graphql_viewer_test_domain_WithName__DomainObject_meta"
+        "name" : "university_dept_DeptHead__DomainObject_mutators"
       } ]
     }
   }
diff --git a/incubator/viewers/graphql/test/src/test/resources/schema.gql b/incubator/viewers/graphql/test/src/test/resources/schema.gql
index 06fd0676ee..3e029c4ddd 100644
--- a/incubator/viewers/graphql/test/src/test/resources/schema.gql
+++ b/incubator/viewers/graphql/test/src/test/resources/schema.gql
@@ -26,8 +26,9 @@ type Query {
   causeway_applib_UserMenu: causeway_applib_UserMenu
   causeway_conf_ConfigurationMenu: causeway_conf_ConfigurationMenu
   causeway_security_LogoutMenu: causeway_security_LogoutMenu
-  gql_test_domain_TopLevelMenu: gql_test_domain_TopLevelMenu
   numServices: Int
+  university_dept_DepartmentMenu: university_dept_DepartmentMenu
+  university_dept_DeptHeadMenu: university_dept_DeptHeadMenu
 }
 
 type causeway_applib_DomainObjectList {
@@ -348,44 +349,6 @@ type causeway_testing_fixtures_FixtureResult__DomainObject_meta {
   logicalTypeName: String!
 }
 
-type gql_test_domain_Department {
-  _gql_meta: gql_test_domain_Department__DomainObject_meta
-  deptHead: gql_test_domain_DeptHead
-  name: String!
-}
-
-type gql_test_domain_Department__DomainObject_meta {
-  id: String!
-  logicalTypeName: String!
-  version: String
-}
-
-type gql_test_domain_DeptHead {
-  _gql_meta: gql_test_domain_DeptHead__DomainObject_meta
-  _gql_mutations: gql_test_domain_DeptHead__DomainObject_mutators
-  department: gql_test_domain_Department
-  name: String
-}
-
-type gql_test_domain_DeptHead__DomainObject_meta {
-  id: String!
-  logicalTypeName: String!
-  version: String
-}
-
-type gql_test_domain_DeptHead__DomainObject_mutators {
-  changeDepartment(department: _gql_input__gql_test_domain_Department!): gql_test_domain_DeptHead
-  changeName(newName: String!): gql_test_domain_DeptHead
-}
-
-type gql_test_domain_TopLevelMenu {
-  createDepartment(deptHead: _gql_input__gql_test_domain_DeptHead, name: String): gql_test_domain_Department
-  findAllDepartments: [gql_test_domain_Department]
-  findAllDeptHeads: [gql_test_domain_DeptHead]
-  findAllEntitiesWithName: [org_apache_causeway_viewer_graphql_viewer_test_domain_WithName]
-  findDeptHeadByName(name: String): gql_test_domain_DeptHead
-}
-
 type java_lang_Runnable {
   _gql_meta: java_lang_Runnable__DomainObject_meta
 }
@@ -619,14 +582,44 @@ type org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__D
   logicalTypeName: String!
 }
 
-type org_apache_causeway_viewer_graphql_viewer_test_domain_WithName {
-  _gql_meta: org_apache_causeway_viewer_graphql_viewer_test_domain_WithName__DomainObject_meta
+type university_dept_Department {
+  _gql_meta: university_dept_Department__DomainObject_meta
+  deptHead: university_dept_DeptHead
   name: String!
 }
 
-type org_apache_causeway_viewer_graphql_viewer_test_domain_WithName__DomainObject_meta {
+type university_dept_DepartmentMenu {
+  createDepartment(deptHead: _gql_input__university_dept_DeptHead, name: String): university_dept_Department
+  findAllDepartments: [university_dept_Department]
+}
+
+type university_dept_Department__DomainObject_meta {
   id: String!
   logicalTypeName: String!
+  version: String
+}
+
+type university_dept_DeptHead {
+  _gql_meta: university_dept_DeptHead__DomainObject_meta
+  _gql_mutations: university_dept_DeptHead__DomainObject_mutators
+  department: university_dept_Department
+  name: String
+}
+
+type university_dept_DeptHeadMenu {
+  findAllDeptHeads: [university_dept_DeptHead]
+  findDeptHeadByName(name: String): university_dept_DeptHead
+}
+
+type university_dept_DeptHead__DomainObject_meta {
+  id: String!
+  logicalTypeName: String!
+  version: String
+}
+
+type university_dept_DeptHead__DomainObject_mutators {
+  changeDepartment(department: _gql_input__university_dept_Department!): university_dept_DeptHead
+  changeName(newName: String!): university_dept_DeptHead
 }
 
 input _gql_input__causeway_applib_DomainObjectList {
@@ -721,14 +714,6 @@ input _gql_input__causeway_testing_fixtures_FixtureResult {
   id: ID!
 }
 
-input _gql_input__gql_test_domain_Department {
-  id: ID!
-}
-
-input _gql_input__gql_test_domain_DeptHead {
-  id: ID!
-}
-
 input _gql_input__java_lang_Runnable {
   id: ID!
 }
@@ -797,6 +782,10 @@ input _gql_input__org_apache_causeway_testing_fixtures_applib_fixturescripts_Fix
   id: ID!
 }
 
-input _gql_input__org_apache_causeway_viewer_graphql_viewer_test_domain_WithName {
+input _gql_input__university_dept_Department {
+  id: ID!
+}
+
+input _gql_input__university_dept_DeptHead {
   id: ID!
 }


(causeway) 04/05: CAUSEWAY-3676: cleans up quite a bit...

Posted by da...@apache.org.
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 05258ec3f9a841ef94c559be7965cdb07f4c7873
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Wed Jan 17 23:27:57 2024 +0000

    CAUSEWAY-3676: cleans up quite a bit...
---
 .../viewer/test/domain/DepartmentRepository.java   |   7 +
 .../graphql/viewer/test/domain/DeptHead.java       |   2 +-
 .../viewer/test/domain/DeptHeadRepository.java     |   5 +-
 .../test/e2e/Domain_IntegTest.changeName._.gql     |  14 -
 .../e2e/Domain_IntegTest.changeName.approved.json  |   1 -
 .../test/e2e/Domain_IntegTest.createE1._.gql       |   7 -
 .../e2e/Domain_IntegTest.createE1.approved.json    |   9 -
 .../e2e/Domain_IntegTest.create_department._.gql   |   7 +
 ...omain_IntegTest.create_department.approved.json |   9 +
 ...in_IntegTest.find_all_departments.approved.json |   4 +-
 ...IntegTest.find_department_and_change_name._.gql |  14 +
 ....find_department_and_change_name.approved.json} |   0
 .../graphql/viewer/test/e2e/Domain_IntegTest.java  | 107 ++-
 .../test/e2e/Schema_IntegTest.schema.approved.json |   2 +-
 .../graphql/test/src/test/resources/schema.gql     |   2 +-
 .../viewer/src/test/resources/testfiles/schema.gql | 802 ---------------------
 16 files changed, 90 insertions(+), 902 deletions(-)

diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/DepartmentRepository.java b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/DepartmentRepository.java
index 3b18e6c5ee..d700795331 100644
--- a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/DepartmentRepository.java
+++ b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/DepartmentRepository.java
@@ -48,4 +48,11 @@ public class DepartmentRepository {
         repositoryService.removeAll(Department.class);
     }
 
+    public Department findByName(final String name){
+        return findAll().stream().
+                filter(dept -> dept.getName().equals(name)).
+                findFirst().
+                orElse(null);
+    }
+
 }
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/DeptHead.java b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/DeptHead.java
index ad82f41393..a919bfe645 100644
--- a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/DeptHead.java
+++ b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/DeptHead.java
@@ -80,7 +80,7 @@ public class DeptHead implements WithName {
 
 
     @Action(semantics = SemanticsOf.IDEMPOTENT)
-    public class changeDeptHead {
+    public class changeDepartment {
 
         public DeptHead act(final Department department){
             setDepartment(department);
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/DeptHeadRepository.java b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/DeptHeadRepository.java
index e96e0110c8..7b315f9574 100644
--- a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/DeptHeadRepository.java
+++ b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/DeptHeadRepository.java
@@ -49,7 +49,10 @@ public class DeptHeadRepository {
     }
 
     public DeptHead findByName(final String name){
-        return findAll().stream().filter(e2->e2.getName().equals(name)).findFirst().orElse(null);
+        return findAll().stream().
+                filter(deptHead -> deptHead.getName().equals(name)).
+                findFirst().
+                orElse(null);
     }
 
 }
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.changeName._.gql b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.changeName._.gql
deleted file mode 100644
index ffc29ff7f8..0000000000
--- a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.changeName._.gql
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-  gqltestdomain_GQLTestDomainMenu {
-    findE2(name:"foo") {
-      name_gql_mutations {
-        changeName(newName:"bar") {
-          name
-          department {
-            name
-          }
-        }
-      }
-    }
-  }
-}
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.changeName.approved.json b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.changeName.approved.json
deleted file mode 100644
index e57317ab99..0000000000
--- a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.changeName.approved.json
+++ /dev/null
@@ -1 +0,0 @@
-{"data":{"gqltestdomain_GQLTestDomainMenu":{"findAllE2":[{"name":"foo","_gql_mutations":null}]}}}
\ No newline at end of file
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.createE1._.gql b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.createE1._.gql
deleted file mode 100644
index da921aa207..0000000000
--- a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.createE1._.gql
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  gqltestdomain_GQLTestDomainMenu {
-    createE1(name:"newbee"){
-      name
-    }
-  }
-}
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.createE1.approved.json b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.createE1.approved.json
deleted file mode 100644
index b382db0f3c..0000000000
--- a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.createE1.approved.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-  "data" : {
-    "gqltestdomain_GQLTestDomainMenu" : {
-      "createE1" : {
-        "name" : "newbee"
-      }
-    }
-  }
-}
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.create_department._.gql b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.create_department._.gql
new file mode 100644
index 0000000000..ab95101b5c
--- /dev/null
+++ b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.create_department._.gql
@@ -0,0 +1,7 @@
+{
+    gql_test_domain_TopLevelMenu {
+        createDepartment(name: "newbie") {
+            name
+        }
+    }
+}
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.create_department.approved.json b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.create_department.approved.json
new file mode 100644
index 0000000000..90328010f5
--- /dev/null
+++ b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.create_department.approved.json
@@ -0,0 +1,9 @@
+{
+  "data" : {
+    "gql_test_domain_TopLevelMenu" : {
+      "createDepartment" : {
+        "name" : "newbie"
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.find_all_departments.approved.json b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.find_all_departments.approved.json
index eace6ed631..56ffa2f775 100644
--- a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.find_all_departments.approved.json
+++ b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.find_all_departments.approved.json
@@ -4,14 +4,14 @@
       "findAllDepartments" : [ {
         "name" : "foo",
         "_gql_meta" : {
-          "id" : "1",
+          "id" : "2",
           "logicalTypeName" : "gql.test.domain.Department",
           "version" : null
         }
       }, {
         "name" : "bar",
         "_gql_meta" : {
-          "id" : "2",
+          "id" : "3",
           "logicalTypeName" : "gql.test.domain.Department",
           "version" : null
         }
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.find_department_and_change_name._.gql b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.find_department_and_change_name._.gql
new file mode 100644
index 0000000000..9d90107009
--- /dev/null
+++ b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.find_department_and_change_name._.gql
@@ -0,0 +1,14 @@
+{
+    gql_test_domain_TopLevelMenu {
+        findDeptHeadByName(name: "foo") {
+            _gql_mutations {
+                changeName(newName: "bar") {
+                    name
+                    department {
+                        name
+                    }
+                }
+            }
+        }
+    }
+}
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.find_all_departments.approved.json b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.find_department_and_change_name.approved.json
similarity index 100%
copy from incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.find_all_departments.approved.json
copy to incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.find_department_and_change_name.approved.json
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.java b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.java
index 0584dcb2f5..352f653784 100644
--- a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.java
+++ b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.java
@@ -18,6 +18,8 @@
  */
 package org.apache.causeway.viewer.graphql.viewer.test.e2e;
 
+import lombok.val;
+
 import java.util.ArrayList;
 import java.util.List;
 
@@ -28,6 +30,7 @@ import org.approvaltests.reporters.DiffReporter;
 import org.approvaltests.reporters.TextWebReporter;
 import org.approvaltests.reporters.UseReporter;
 import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.condition.DisabledIfSystemProperty;
 
@@ -86,78 +89,56 @@ public class Domain_IntegTest extends CausewayViewerGraphqlTestModuleIntegTestAb
         Approvals.verify(submit(), jsonOptions());
     }
 
-    //TODO started to fail on 2022-09-04, with testEntityRepository findAll being empty
-    @Test @DisabledIfSystemProperty(named = "isRunningWithSurefire", matches = "true")
+    @Test
     @UseReporter(DiffReporter.class)
-    void createE1() throws Exception {
-
-        //File targetFile3 = new File("src/test/resources/testfiles/targetFile3.gql");
-
-        String response1 = transactionService.callTransactional(Propagation.REQUIRED, () -> {
+    void create_department() throws Exception {
 
-            String submit = submit();
-            // just to show we need to query in separate tranasction
-            List<DeptHead> list = deptHeadRepository.findAll();
-            assertTrue(list.isEmpty());
-            return submit;
+        // when
+        val response = submit();
 
-        }).ifFailureFail().getValue().get();
+        // then payload
+        Approvals.verify(response, jsonOptions());
 
-        final List<Department> allDepartment = new ArrayList<>();
-        transactionService.runTransactional(Propagation.REQUIRED, () -> {
-
-            List<Department> all = departmentRepository.findAll();
-            allDepartment.addAll(all);
-
-        });
-
-        assertEquals(1, allDepartment.size());
-        assertEquals("newbee", allDepartment.get(0).getName());
-
-        Approvals.verify(response1, jsonOptions());
+        // and also in the database
+        final List<Department> allDepartment =
+                transactionService.callTransactional(
+                        Propagation.REQUIRED,
+                        () -> departmentRepository.findAll()
+                ).valueAsNonNullElseFail();
 
+        assertThat(allDepartment)
+                .hasSize(1)
+                .element(0)
+                .extracting(Department::getName).isEqualTo("newbie");
     }
 
-    //TODO started to fail on 2023-07-25
-    //disabled to rescue CI build
-    @Test @DisabledIfSystemProperty(named = "isRunningWithSurefire", matches = "true")
+    @Test
+    @Disabled // does not yet call 'changeName' action
     @UseReporter(DiffReporter.class)
-    void changeName() throws Exception {
-
-        List<DeptHead> deptHeadList = new ArrayList<>();
-
-        transactionService.runTransactional(Propagation.REQUIRED, () -> {
-
-            deptHeadList.add(deptHeadRepository.create("foo", null));
-
-        });
-
-        DeptHead deptHead = deptHeadList.get(0);
-        assertEquals("foo", deptHead.getName());
-        assertEquals(deptHead.getName(), topLevelMenu.findDeptHeadByName("foo").getName());
-
-        String response = transactionService.callTransactional(Propagation.REQUIRED, () -> {
-
-            return submit();
-
-        }).ifFailureFail().getValue().get();
-
-        deptHeadList.clear();
-        transactionService.runTransactional(Propagation.REQUIRED, () -> {
-
-            List<DeptHead> all = deptHeadRepository.findAll();
-            deptHeadList.addAll(all);
-
-        });
-
-        DeptHead deptHeadModified = deptHeadList.get(0);
-
-        //TODO: implement ...
-//        assertEquals("bar", deptHeadModified.getName());
-//
-//        Approvals.verify(response, new Options());
+    void find_department_and_change_name() throws Exception {
 
+        // given
+        transactionService.callTransactional(
+                Propagation.REQUIRED,
+                () -> deptHeadRepository.create("foo", null)
+        ).valueAsNonNullElseFail();
+
+        // when lookup 'foo' and change it to 'bar'
+        String response = transactionService.callTransactional(
+                Propagation.REQUIRED,
+                this::submit
+        ).valueAsNonNullElseFail();
+
+        // then payload
+        Approvals.verify(response, jsonOptions());
+
+        // and also in the database
+        DeptHead deptHeadAfter = transactionService.callTransactional(
+                Propagation.REQUIRED,
+                () -> deptHeadRepository.findByName("bar")
+        ).valueAsNullableElseFail();
+
+        assertThat(deptHeadAfter).isNotNull();
     }
 
-
 }
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Schema_IntegTest.schema.approved.json b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Schema_IntegTest.schema.approved.json
index fc3d84a3d6..cafdedb247 100644
--- a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Schema_IntegTest.schema.approved.json
+++ b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Schema_IntegTest.schema.approved.json
@@ -4806,7 +4806,7 @@
         "name" : "gql_test_domain_DeptHead__DomainObject_mutators",
         "description" : null,
         "fields" : [ {
-          "name" : "changeDeptHead",
+          "name" : "changeDepartment",
           "description" : null,
           "args" : [ {
             "name" : "department",
diff --git a/incubator/viewers/graphql/test/src/test/resources/schema.gql b/incubator/viewers/graphql/test/src/test/resources/schema.gql
index 128cc4ba23..06fd0676ee 100644
--- a/incubator/viewers/graphql/test/src/test/resources/schema.gql
+++ b/incubator/viewers/graphql/test/src/test/resources/schema.gql
@@ -374,7 +374,7 @@ type gql_test_domain_DeptHead__DomainObject_meta {
 }
 
 type gql_test_domain_DeptHead__DomainObject_mutators {
-  changeDeptHead(department: _gql_input__gql_test_domain_Department!): gql_test_domain_DeptHead
+  changeDepartment(department: _gql_input__gql_test_domain_Department!): gql_test_domain_DeptHead
   changeName(newName: String!): gql_test_domain_DeptHead
 }
 
diff --git a/incubator/viewers/graphql/viewer/src/test/resources/testfiles/schema.gql b/incubator/viewers/graphql/viewer/src/test/resources/testfiles/schema.gql
deleted file mode 100644
index f10e5556b8..0000000000
--- a/incubator/viewers/graphql/viewer/src/test/resources/testfiles/schema.gql
+++ /dev/null
@@ -1,802 +0,0 @@
-"Marks the field, argument, input field or enum value as deprecated"
-directive @deprecated(
-    "The reason for the deprecation"
-    reason: String = "No longer supported"
-) on FIELD_DEFINITION | ARGUMENT_DEFINITION | ENUM_VALUE | INPUT_FIELD_DEFINITION
-
-"Directs the executor to include this field or fragment only when the `if` argument is true"
-directive @include(
-    "Included when true."
-    if: Boolean!
-) on FIELD | FRAGMENT_SPREAD | INLINE_FRAGMENT
-
-"Directs the executor to skip this field or fragment when the `if` argument is true."
-directive @skip(
-    "Skipped when true."
-    if: Boolean!
-) on FIELD | FRAGMENT_SPREAD | INLINE_FRAGMENT
-
-"Exposes a URL that specifies the behaviour of this scalar."
-directive @specifiedBy(
-    "The URL that specifies the behaviour of this scalar."
-    url: String!
-) on SCALAR
-
-type Query {
-    causeway_applib_UserMenu: causeway_applib_UserMenu
-    causeway_conf_ConfigurationMenu: causeway_conf_ConfigurationMenu
-    causeway_security_LogoutMenu: causeway_security_LogoutMenu
-    gql_test_domain_TopLevelMenu: gql_test_domain_TopLevelMenu
-    numServices: Int
-}
-
-type causeway_applib_DomainObjectList {
-    _gql_meta: causeway_applib_DomainObjectList__DomainObject_meta
-    actionArguments: String
-    actionId: String
-    actionOwningFqcn: String
-    elementTypeFqcn: String!
-    title: String!
-}
-
-type causeway_applib_DomainObjectList__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type causeway_applib_FacetGroupNode {
-    _gql_meta: causeway_applib_FacetGroupNode__DomainObject_meta
-    facets: String!
-}
-
-type causeway_applib_FacetGroupNode__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type causeway_applib_ParameterNode {
-    _gql_meta: causeway_applib_ParameterNode__DomainObject_meta
-    parameter: String!
-    parentNode: causeway_applib_node_ActionNode!
-}
-
-type causeway_applib_ParameterNode__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type causeway_applib_PropertyNode {
-    _gql_meta: causeway_applib_PropertyNode__DomainObject_meta
-    _gql_mutations: causeway_applib_PropertyNode__DomainObject_mutators
-    mixedIn: String!
-    parentNode: causeway_applib_TypeNode!
-    property: String!
-}
-
-type causeway_applib_PropertyNode__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type causeway_applib_PropertyNode__DomainObject_mutators {
-    streamChildNodes: java_util_stream_Stream
-}
-
-type causeway_applib_RoleMemento {
-    _gql_meta: causeway_applib_RoleMemento__DomainObject_meta
-    description: String!
-    name: String!
-}
-
-type causeway_applib_RoleMemento__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type causeway_applib_TypeNode {
-    _gql_meta: causeway_applib_TypeNode__DomainObject_meta
-    domainClassDto: causeway_schema_metamodel_v2_DomainClassDto!
-}
-
-type causeway_applib_TypeNode__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type causeway_applib_UserMemento {
-    _gql_meta: causeway_applib_UserMemento__DomainObject_meta
-    authenticationCode: String!
-    authenticationSource: String!
-    avatarUrl: String
-    impersonating: String!
-    languageLocale: String
-    multiTenancyToken: String
-    name: String!
-    numberFormatLocale: String
-    realName: String
-    roles: [causeway_applib_RoleMemento]
-    timeFormatLocale: String
-}
-
-type causeway_applib_UserMemento__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type causeway_applib_UserMenu {
-    me: causeway_applib_UserMemento
-}
-
-type causeway_applib_node_ActionNode {
-    _gql_meta: causeway_applib_node_ActionNode__DomainObject_meta
-    _gql_mutations: causeway_applib_node_ActionNode__DomainObject_mutators
-    action: String!
-    mixedIn: String!
-    parentNode: causeway_applib_TypeNode!
-}
-
-type causeway_applib_node_ActionNode__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type causeway_applib_node_ActionNode__DomainObject_mutators {
-    streamChildNodes: java_util_stream_Stream
-}
-
-type causeway_applib_node_CollectionNode {
-    _gql_meta: causeway_applib_node_CollectionNode__DomainObject_meta
-    _gql_mutations: causeway_applib_node_CollectionNode__DomainObject_mutators
-    collection: String!
-    mixedIn: String!
-    parentNode: causeway_applib_TypeNode!
-}
-
-type causeway_applib_node_CollectionNode__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type causeway_applib_node_CollectionNode__DomainObject_mutators {
-    streamChildNodes: java_util_stream_Stream
-}
-
-type causeway_applib_node_FacetAttrNode {
-    _gql_meta: causeway_applib_node_FacetAttrNode__DomainObject_meta
-    facetAttr: String!
-    parentNode: causeway_applib_node_FacetNode!
-}
-
-type causeway_applib_node_FacetAttrNode__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type causeway_applib_node_FacetNode {
-    _gql_meta: causeway_applib_node_FacetNode__DomainObject_meta
-    facet: String!
-    shadowed: String!
-}
-
-type causeway_applib_node_FacetNode__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type causeway_conf_ConfigurationMenu {
-    configuration: causeway_conf_ConfigurationViewmodel
-}
-
-type causeway_conf_ConfigurationProperty {
-    _gql_meta: causeway_conf_ConfigurationProperty__DomainObject_meta
-    key: String!
-    value: String!
-}
-
-type causeway_conf_ConfigurationProperty__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type causeway_conf_ConfigurationViewmodel {
-    _gql_meta: causeway_conf_ConfigurationViewmodel__DomainObject_meta
-    environment: [causeway_conf_ConfigurationProperty]
-    primary: [causeway_conf_ConfigurationProperty]
-    secondary: [causeway_conf_ConfigurationProperty]
-}
-
-type causeway_conf_ConfigurationViewmodel__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type causeway_feat_ApplicationFeatureViewModel {
-    _gql_meta: causeway_feat_ApplicationFeatureViewModel__DomainObject_meta
-    memberName: String!
-    namespaceName: String!
-    typeSimpleName: String!
-}
-
-type causeway_feat_ApplicationFeatureViewModel__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type causeway_feat_ApplicationNamespace {
-    _gql_meta: causeway_feat_ApplicationNamespace__DomainObject_meta
-    memberName: String!
-    namespaceName: String!
-    typeSimpleName: String!
-}
-
-type causeway_feat_ApplicationNamespace__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type causeway_feat_ApplicationType {
-    _gql_meta: causeway_feat_ApplicationType__DomainObject_meta
-    actions: [causeway_feat_ApplicationTypeAction]
-    collections: [causeway_feat_ApplicationTypeCollection]
-    memberName: String!
-    namespaceName: String!
-    properties: [causeway_feat_ApplicationTypeProperty]
-    typeSimpleName: String!
-}
-
-type causeway_feat_ApplicationTypeAction {
-    _gql_meta: causeway_feat_ApplicationTypeAction__DomainObject_meta
-    actionSemantics: String!
-    memberName: String!
-    namespaceName: String!
-    returnType: String!
-    typeSimpleName: String!
-}
-
-type causeway_feat_ApplicationTypeAction__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type causeway_feat_ApplicationTypeCollection {
-    _gql_meta: causeway_feat_ApplicationTypeCollection__DomainObject_meta
-    derived: String!
-    elementType: String!
-    memberName: String!
-    namespaceName: String!
-    typeSimpleName: String!
-}
-
-type causeway_feat_ApplicationTypeCollection__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type causeway_feat_ApplicationTypeMember {
-    _gql_meta: causeway_feat_ApplicationTypeMember__DomainObject_meta
-    memberName: String!
-    namespaceName: String!
-    typeSimpleName: String!
-}
-
-type causeway_feat_ApplicationTypeMember__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type causeway_feat_ApplicationTypeProperty {
-    _gql_meta: causeway_feat_ApplicationTypeProperty__DomainObject_meta
-    derived: String!
-    maxLength: String
-    memberName: String!
-    namespaceName: String!
-    returnType: String!
-    typeSimpleName: String!
-    typicalLength: String
-}
-
-type causeway_feat_ApplicationTypeProperty__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type causeway_feat_ApplicationType__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type causeway_schema_metamodel_v2_DomainClassDto {
-    _gql_meta: causeway_schema_metamodel_v2_DomainClassDto__DomainObject_meta
-    actions: String!
-    annotations: String!
-    collections: String!
-    facets: String!
-    id: String!
-    majorVersion: String
-    minorVersion: String
-    properties: String!
-    service: String!
-}
-
-type causeway_schema_metamodel_v2_DomainClassDto__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type causeway_security_LoginRedirect {
-    _gql_meta: causeway_security_LoginRedirect__DomainObject_meta
-}
-
-type causeway_security_LoginRedirect__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type causeway_security_LogoutMenu {
-    logout: String
-}
-
-type causeway_testing_fixtures_FixtureResult {
-    _gql_meta: causeway_testing_fixtures_FixtureResult__DomainObject_meta
-    className: String!
-    fixtureScriptClassName: String
-    key: String!
-}
-
-type causeway_testing_fixtures_FixtureResult__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type gql_test_domain_Department {
-    _gql_meta: gql_test_domain_Department__DomainObject_meta
-    deptHead: gql_test_domain_DeptHead
-    name: String!
-}
-
-type gql_test_domain_Department__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-    version: String
-}
-
-type gql_test_domain_DeptHead {
-    _gql_meta: gql_test_domain_DeptHead__DomainObject_meta
-    _gql_mutations: gql_test_domain_DeptHead__DomainObject_mutators
-    department: gql_test_domain_Department
-    name: String
-}
-
-type gql_test_domain_DeptHead__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-    version: String
-}
-
-type gql_test_domain_DeptHead__DomainObject_mutators {
-    changeDeptHead(department: _gql_input__gql_test_domain_Department!): gql_test_domain_DeptHead
-    changeName(newName: String!): gql_test_domain_DeptHead
-}
-
-type gql_test_domain_TopLevelMenu {
-    createDepartment(deptHead: _gql_input__gql_test_domain_DeptHead, name: String): gql_test_domain_Department
-    findAllDepartments: [gql_test_domain_Department]
-    findAllDeptHeads: [gql_test_domain_DeptHead]
-    findAllEntitiesWithName: [org_apache_causeway_viewer_graphql_viewer_test_domain_WithName]
-    findDeptHeadByName(name: String): gql_test_domain_DeptHead
-}
-
-type java_lang_Runnable {
-    _gql_meta: java_lang_Runnable__DomainObject_meta
-}
-
-type java_lang_Runnable__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type java_util_Map {
-    _gql_meta: java_util_Map__DomainObject_meta
-}
-
-type java_util_Map__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type java_util_SortedMap {
-    _gql_meta: java_util_SortedMap__DomainObject_meta
-}
-
-type java_util_SortedMap__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type java_util_concurrent_Callable {
-    _gql_meta: java_util_concurrent_Callable__DomainObject_meta
-}
-
-type java_util_concurrent_Callable__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type java_util_function_BiFunction {
-    _gql_meta: java_util_function_BiFunction__DomainObject_meta
-}
-
-type java_util_function_BiFunction__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type java_util_function_Consumer {
-    _gql_meta: java_util_function_Consumer__DomainObject_meta
-}
-
-type java_util_function_Consumer__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type java_util_function_Function {
-    _gql_meta: java_util_function_Function__DomainObject_meta
-}
-
-type java_util_function_Function__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type java_util_stream_Stream {
-    _gql_meta: java_util_stream_Stream__DomainObject_meta
-}
-
-type java_util_stream_Stream__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type org_apache_causeway_commons_functional_Either {
-    _gql_meta: org_apache_causeway_commons_functional_Either__DomainObject_meta
-    _gql_mutations: org_apache_causeway_commons_functional_Either__DomainObject_mutators
-    left: String!
-    right: String!
-}
-
-type org_apache_causeway_commons_functional_Either__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type org_apache_causeway_commons_functional_Either__DomainObject_mutators {
-    accept(leftConsumer: _gql_input__java_util_function_Consumer!, rightConsumer: _gql_input__java_util_function_Consumer!): String
-    left: String
-    map(leftMapper: _gql_input__java_util_function_Function!, rightMapper: _gql_input__java_util_function_Function!): org_apache_causeway_commons_functional_Either
-    mapLeft(leftMapper: _gql_input__java_util_function_Function!): org_apache_causeway_commons_functional_Either
-    mapRight(rightMapper: _gql_input__java_util_function_Function!): org_apache_causeway_commons_functional_Either
-    right: String
-}
-
-type org_apache_causeway_commons_functional_Railway {
-    _gql_meta: org_apache_causeway_commons_functional_Railway__DomainObject_meta
-    _gql_mutations: org_apache_causeway_commons_functional_Railway__DomainObject_mutators
-    failure: String!
-    success: String!
-}
-
-type org_apache_causeway_commons_functional_Railway__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type org_apache_causeway_commons_functional_Railway__DomainObject_mutators {
-    chain(chainingFunction: _gql_input__org_apache_causeway_commons_functional_ThrowingFunction!): org_apache_causeway_commons_functional_Railway
-    ifFailure(failureConsumer: _gql_input__org_apache_causeway_commons_functional_ThrowingConsumer!): org_apache_causeway_commons_functional_Railway
-    ifSuccess(successConsumer: _gql_input__org_apache_causeway_commons_functional_ThrowingConsumer!): org_apache_causeway_commons_functional_Railway
-    mapFailure(failureMapper: _gql_input__org_apache_causeway_commons_functional_ThrowingFunction!): org_apache_causeway_commons_functional_Railway
-    mapSuccess(successMapper: _gql_input__org_apache_causeway_commons_functional_ThrowingFunction!): org_apache_causeway_commons_functional_Railway
-}
-
-type org_apache_causeway_commons_functional_ThrowingConsumer {
-    _gql_meta: org_apache_causeway_commons_functional_ThrowingConsumer__DomainObject_meta
-    _gql_mutations: org_apache_causeway_commons_functional_ThrowingConsumer__DomainObject_mutators
-}
-
-type org_apache_causeway_commons_functional_ThrowingConsumer__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type org_apache_causeway_commons_functional_ThrowingConsumer__DomainObject_mutators {
-    andThen(arg0: _gql_input__java_util_function_Consumer!): java_util_function_Consumer
-    throwing(exceptionWrapper: _gql_input__java_util_function_BiFunction!): org_apache_causeway_commons_functional_ThrowingConsumer
-}
-
-type org_apache_causeway_commons_functional_ThrowingFunction {
-    _gql_meta: org_apache_causeway_commons_functional_ThrowingFunction__DomainObject_meta
-    _gql_mutations: org_apache_causeway_commons_functional_ThrowingFunction__DomainObject_mutators
-}
-
-type org_apache_causeway_commons_functional_ThrowingFunction__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type org_apache_causeway_commons_functional_ThrowingFunction__DomainObject_mutators {
-    andThen(arg0: _gql_input__java_util_function_Function!): java_util_function_Function
-    compose(arg0: _gql_input__java_util_function_Function!): java_util_function_Function
-    throwing(exceptionWrapper: _gql_input__java_util_function_BiFunction!): org_apache_causeway_commons_functional_ThrowingFunction
-}
-
-type org_apache_causeway_commons_functional_ThrowingRunnable {
-    _gql_meta: org_apache_causeway_commons_functional_ThrowingRunnable__DomainObject_meta
-    _gql_mutations: org_apache_causeway_commons_functional_ThrowingRunnable__DomainObject_mutators
-}
-
-type org_apache_causeway_commons_functional_ThrowingRunnable__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type org_apache_causeway_commons_functional_ThrowingRunnable__DomainObject_mutators {
-    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__DomainObject_meta
-    _gql_mutations: org_apache_causeway_commons_functional_Try__DomainObject_mutators
-    failure: String!
-    success: String!
-}
-
-type org_apache_causeway_commons_functional_Try__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type org_apache_causeway_commons_functional_Try__DomainObject_mutators {
-    accept(failureConsumer: _gql_input__org_apache_causeway_commons_functional_ThrowingConsumer!, successConsumer: _gql_input__org_apache_causeway_commons_functional_ThrowingConsumer!): org_apache_causeway_commons_functional_Try
-    flatMapSuccess(successMapper: _gql_input__org_apache_causeway_commons_functional_ThrowingFunction!): org_apache_causeway_commons_functional_Try
-    flatMapSuccessAsNullable(successMapper: _gql_input__org_apache_causeway_commons_functional_ThrowingFunction!): org_apache_causeway_commons_functional_Try
-    flatMapSuccessWhenPresent(successMapper: _gql_input__org_apache_causeway_commons_functional_ThrowingFunction!): org_apache_causeway_commons_functional_Try
-    ifAbsentFail: org_apache_causeway_commons_functional_Try
-    ifFailure(exceptionConsumer: _gql_input__org_apache_causeway_commons_functional_ThrowingConsumer!): org_apache_causeway_commons_functional_Try
-    ifFailureFail: org_apache_causeway_commons_functional_Try
-    ifSuccess(valueConsumer: _gql_input__org_apache_causeway_commons_functional_ThrowingConsumer!): org_apache_causeway_commons_functional_Try
-    ifSuccessAsNullable(valueConsumer: _gql_input__org_apache_causeway_commons_functional_ThrowingConsumer!): org_apache_causeway_commons_functional_Try
-    mapEmptyToFailure: org_apache_causeway_commons_functional_Try
-    mapFailure(failureMapper: _gql_input__org_apache_causeway_commons_functional_ThrowingFunction!): org_apache_causeway_commons_functional_Try
-    mapFailureToSuccess(recoveryMapper: _gql_input__org_apache_causeway_commons_functional_ThrowingFunction!): org_apache_causeway_commons_functional_Try
-    mapSuccess(successMapper: _gql_input__org_apache_causeway_commons_functional_ThrowingFunction!): org_apache_causeway_commons_functional_Try
-    mapSuccessAsNullable(successMapper: _gql_input__org_apache_causeway_commons_functional_ThrowingFunction!): org_apache_causeway_commons_functional_Try
-    mapSuccessWhenPresent(successMapper: _gql_input__org_apache_causeway_commons_functional_ThrowingFunction!): org_apache_causeway_commons_functional_Try
-    mapToEither(failureMapper: _gql_input__org_apache_causeway_commons_functional_ThrowingFunction!, successMapper: _gql_input__org_apache_causeway_commons_functional_ThrowingFunction!): org_apache_causeway_commons_functional_Either
-    orCall(fallback: _gql_input__java_util_concurrent_Callable!): org_apache_causeway_commons_functional_Try
-    then(next: _gql_input__java_util_concurrent_Callable!): org_apache_causeway_commons_functional_Try
-    thenCall(callable: _gql_input__java_util_concurrent_Callable!): org_apache_causeway_commons_functional_Try
-    thenRun(runnable: _gql_input__org_apache_causeway_commons_functional_ThrowingRunnable!): 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__DomainObject_meta
-}
-
-type org_apache_causeway_core_metamodel_inspect_model_MMNode__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type org_apache_causeway_core_metamodel_inspect_model_MemberNode {
-    _gql_meta: org_apache_causeway_core_metamodel_inspect_model_MemberNode__DomainObject_meta
-    _gql_mutations: org_apache_causeway_core_metamodel_inspect_model_MemberNode__DomainObject_mutators
-    mixedIn: String!
-    parentNode: causeway_applib_TypeNode!
-}
-
-type org_apache_causeway_core_metamodel_inspect_model_MemberNode__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type org_apache_causeway_core_metamodel_inspect_model_MemberNode__DomainObject_mutators {
-    streamChildNodes: java_util_stream_Stream
-}
-
-type org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript {
-    _gql_meta: org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__DomainObject_meta
-    friendlyName: String!
-    qualifiedName: String!
-}
-
-type org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-type org_apache_causeway_viewer_graphql_viewer_test_domain_WithName {
-    _gql_meta: org_apache_causeway_viewer_graphql_viewer_test_domain_WithName__DomainObject_meta
-    name: String!
-}
-
-type org_apache_causeway_viewer_graphql_viewer_test_domain_WithName__DomainObject_meta {
-    id: String!
-    logicalTypeName: String!
-}
-
-input _gql_input__causeway_applib_DomainObjectList {
-    id: ID!
-}
-
-input _gql_input__causeway_applib_FacetGroupNode {
-    id: ID!
-}
-
-input _gql_input__causeway_applib_ParameterNode {
-    id: ID!
-}
-
-input _gql_input__causeway_applib_PropertyNode {
-    id: ID!
-}
-
-input _gql_input__causeway_applib_RoleMemento {
-    id: ID!
-}
-
-input _gql_input__causeway_applib_TypeNode {
-    id: ID!
-}
-
-input _gql_input__causeway_applib_UserMemento {
-    id: ID!
-}
-
-input _gql_input__causeway_applib_node_ActionNode {
-    id: ID!
-}
-
-input _gql_input__causeway_applib_node_CollectionNode {
-    id: ID!
-}
-
-input _gql_input__causeway_applib_node_FacetAttrNode {
-    id: ID!
-}
-
-input _gql_input__causeway_applib_node_FacetNode {
-    id: ID!
-}
-
-input _gql_input__causeway_conf_ConfigurationProperty {
-    id: ID!
-}
-
-input _gql_input__causeway_conf_ConfigurationViewmodel {
-    id: ID!
-}
-
-input _gql_input__causeway_feat_ApplicationFeatureViewModel {
-    id: ID!
-}
-
-input _gql_input__causeway_feat_ApplicationNamespace {
-    id: ID!
-}
-
-input _gql_input__causeway_feat_ApplicationType {
-    id: ID!
-}
-
-input _gql_input__causeway_feat_ApplicationTypeAction {
-    id: ID!
-}
-
-input _gql_input__causeway_feat_ApplicationTypeCollection {
-    id: ID!
-}
-
-input _gql_input__causeway_feat_ApplicationTypeMember {
-    id: ID!
-}
-
-input _gql_input__causeway_feat_ApplicationTypeProperty {
-    id: ID!
-}
-
-input _gql_input__causeway_schema_metamodel_v2_DomainClassDto {
-    id: ID!
-}
-
-input _gql_input__causeway_security_LoginRedirect {
-    id: ID!
-}
-
-input _gql_input__causeway_testing_fixtures_FixtureResult {
-    id: ID!
-}
-
-input _gql_input__gql_test_domain_Department {
-    id: ID!
-}
-
-input _gql_input__gql_test_domain_DeptHead {
-    id: ID!
-}
-
-input _gql_input__java_lang_Runnable {
-    id: ID!
-}
-
-input _gql_input__java_util_Map {
-    id: ID!
-}
-
-input _gql_input__java_util_SortedMap {
-    id: ID!
-}
-
-input _gql_input__java_util_concurrent_Callable {
-    id: ID!
-}
-
-input _gql_input__java_util_function_BiFunction {
-    id: ID!
-}
-
-input _gql_input__java_util_function_Consumer {
-    id: ID!
-}
-
-input _gql_input__java_util_function_Function {
-    id: ID!
-}
-
-input _gql_input__java_util_stream_Stream {
-    id: ID!
-}
-
-input _gql_input__org_apache_causeway_commons_functional_Either {
-    id: ID!
-}
-
-input _gql_input__org_apache_causeway_commons_functional_Railway {
-    id: ID!
-}
-
-input _gql_input__org_apache_causeway_commons_functional_ThrowingConsumer {
-    id: ID!
-}
-
-input _gql_input__org_apache_causeway_commons_functional_ThrowingFunction {
-    id: ID!
-}
-
-input _gql_input__org_apache_causeway_commons_functional_ThrowingRunnable {
-    id: ID!
-}
-
-input _gql_input__org_apache_causeway_commons_functional_Try {
-    id: ID!
-}
-
-input _gql_input__org_apache_causeway_core_metamodel_inspect_model_MMNode {
-    id: ID!
-}
-
-input _gql_input__org_apache_causeway_core_metamodel_inspect_model_MemberNode {
-    id: ID!
-}
-
-input _gql_input__org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript {
-    id: ID!
-}
-
-input _gql_input__org_apache_causeway_viewer_graphql_viewer_test_domain_WithName {
-    id: ID!
-}


(causeway) 03/05: CAUSEWAY-3676: splits up Domain and Schema integ tests, also ...

Posted by da...@apache.org.
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 3011e2476895dc45a55b5701aa67f43595c71ef2
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Wed Jan 17 22:50:56 2024 +0000

    CAUSEWAY-3676: splits up Domain and Schema integ tests, also ...
    
    ... make sure that iterate over the metamodel in well-defined order
---
 ...ayViewerGraphqlTestModuleIntegTestAbstract.java |    2 +-
 .../viewer/graphql/viewer/test/ScratchPad.java     |    2 +
 ...eName.gql => Domain_IntegTest.changeName._.gql} |    0
 ...n => Domain_IntegTest.changeName.approved.json} |    0
 ...reateE1.gql => Domain_IntegTest.createE1._.gql} |    0
 ...son => Domain_IntegTest.createE1.approved.json} |    0
 ...=> Domain_IntegTest.find_all_departments._.gql} |    0
 ...n_IntegTest.find_all_departments.approved.json} |    0
 ...dToEnd_IntegTest.java => Domain_IntegTest.java} |   69 +-
 .../graphql/viewer/test/e2e/Schema_IntegTest.java  |   69 +
 ...st.schema.gql => Schema_IntegTest.schema._.gql} |    0
 .../test/e2e/Schema_IntegTest.schema.approved.json | 7320 ++++++++++++++++++++
 ...ql => Schema_IntegTest.schema_types_name._.gql} |    0
 ...hema_IntegTest.schema_types_name.approved.json} |    2 +-
 .../WinMergeGqlDiffReporter.java}                  |    7 +-
 .../schema.gql}                                    |    0
 .../viewer/source/GraphQlSourceForCauseway.java    |    5 +
 17 files changed, 7412 insertions(+), 64 deletions(-)

diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/CausewayViewerGraphqlTestModuleIntegTestAbstract.java b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/CausewayViewerGraphqlTestModuleIntegTestAbstract.java
index 217dc0417f..f0ceb8a16c 100644
--- a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/CausewayViewerGraphqlTestModuleIntegTestAbstract.java
+++ b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/CausewayViewerGraphqlTestModuleIntegTestAbstract.java
@@ -155,7 +155,7 @@ public abstract class CausewayViewerGraphqlTestModuleIntegTestAbstract {
      * @throws Exception if an error occurs during the submission
      */
     protected String submit() throws Exception{
-        val httpRequest = buildRequest(testInfo, ".gql");
+        val httpRequest = buildRequest(testInfo, "._.gql");
         return submitRequest(httpRequest);
     }
 
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/ScratchPad.java b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/ScratchPad.java
index a0df76afc2..c6bc4489f6 100644
--- a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/ScratchPad.java
+++ b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/ScratchPad.java
@@ -24,6 +24,7 @@ import java.util.List;
 import java.util.Set;
 
 import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 
 import graphql.Scalars;
@@ -48,6 +49,7 @@ class ScratchPad {
     }
 
     @Test
+    @Disabled
     public void xxx(){
 
         // given
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.changeName.gql b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.changeName._.gql
similarity index 100%
rename from incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.changeName.gql
rename to incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.changeName._.gql
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.changeName.approved.json b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.changeName.approved.json
similarity index 100%
rename from incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.changeName.approved.json
rename to incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.changeName.approved.json
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.createE1.gql b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.createE1._.gql
similarity index 100%
rename from incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.createE1.gql
rename to incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.createE1._.gql
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.createE1.approved.json b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.createE1.approved.json
similarity index 100%
rename from incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.createE1.approved.json
rename to incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.createE1.approved.json
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.find_all_departments.gql b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.find_all_departments._.gql
similarity index 100%
rename from incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.find_all_departments.gql
rename to incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.find_all_departments._.gql
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.find_all_departments.approved.json b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.find_all_departments.approved.json
similarity index 100%
rename from incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.find_all_departments.approved.json
rename to incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.find_all_departments.approved.json
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.java b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.java
similarity index 75%
rename from incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.java
rename to incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.java
index e4b1f40d40..0584dcb2f5 100644
--- a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.java
+++ b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Domain_IntegTest.java
@@ -18,73 +18,38 @@
  */
 package org.apache.causeway.viewer.graphql.viewer.test.e2e;
 
-import java.io.File;
-import java.io.IOException;
-import java.lang.reflect.Method;
-import java.net.URI;
-import java.net.http.HttpClient;
-import java.net.http.HttpRequest;
-import java.net.http.HttpResponse;
-import java.nio.charset.StandardCharsets;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
 import java.util.ArrayList;
 import java.util.List;
 
 import javax.inject.Inject;
 
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-import org.apache.causeway.viewer.graphql.viewer.source.GraphQlServiceForCauseway;
-
-import org.apache.causeway.viewer.graphql.viewer.test.CausewayViewerGraphqlTestModuleIntegTestAbstract;
-
-import org.apache.causeway.viewer.graphql.viewer.test.domain.Department;
-
-import org.apache.causeway.viewer.graphql.viewer.test.domain.DeptHead;
-import org.apache.causeway.viewer.graphql.viewer.test.domain.DepartmentRepository;
-
-import org.apache.causeway.viewer.graphql.viewer.test.domain.DeptHeadRepository;
-
-import org.apache.causeway.viewer.graphql.viewer.test.schema.MyWinMergeDiffReporter;
-
 import org.approvaltests.Approvals;
-import org.approvaltests.core.Options;
 import org.approvaltests.reporters.DiffReporter;
 import org.approvaltests.reporters.TextWebReporter;
 import org.approvaltests.reporters.UseReporter;
 import org.junit.jupiter.api.AfterEach;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.TestInfo;
 import org.junit.jupiter.api.condition.DisabledIfSystemProperty;
 
+import static org.assertj.core.api.AssertionsForInterfaceTypes.assertThat;
+
 import org.springframework.test.context.ActiveProfiles;
 import org.springframework.transaction.annotation.Propagation;
 
-import org.apache.causeway.applib.services.xactn.TransactionService;
-import org.apache.causeway.commons.internal.resources._Resources;
-import org.apache.causeway.core.config.environment.CausewaySystemEnvironment;
-import org.apache.causeway.core.metamodel.specloader.SpecificationLoader;
-import org.apache.causeway.viewer.graphql.viewer.source.GraphQlSourceForCauseway;
+import org.apache.causeway.viewer.graphql.viewer.test.CausewayViewerGraphqlTestModuleIntegTestAbstract;
+import org.apache.causeway.viewer.graphql.viewer.test.domain.Department;
+import org.apache.causeway.viewer.graphql.viewer.test.domain.DepartmentRepository;
+import org.apache.causeway.viewer.graphql.viewer.test.domain.DeptHead;
+import org.apache.causeway.viewer.graphql.viewer.test.domain.DeptHeadRepository;
 import org.apache.causeway.viewer.graphql.viewer.test.domain.TopLevelMenu;
 
 import static org.apache.causeway.commons.internal.assertions._Assert.assertEquals;
-import static org.apache.causeway.commons.internal.assertions._Assert.assertNotNull;
 import static org.apache.causeway.commons.internal.assertions._Assert.assertTrue;
 
-import static org.assertj.core.api.AssertionsForInterfaceTypes.assertThat;
-
-import lombok.Value;
-import lombok.val;
-
 
 //NOT USING @Transactional since we are running server within same transaction otherwise
 @ActiveProfiles("test")
-public class EndToEnd_IntegTest extends CausewayViewerGraphqlTestModuleIntegTestAbstract {
+public class Domain_IntegTest extends CausewayViewerGraphqlTestModuleIntegTestAbstract {
 
     @Inject DepartmentRepository departmentRepository;
     @Inject DeptHeadRepository deptHeadRepository;
@@ -98,21 +63,9 @@ public class EndToEnd_IntegTest extends CausewayViewerGraphqlTestModuleIntegTest
         });
     }
 
-    @Test
-    @UseReporter({MyWinMergeDiffReporter.class, DiffReporter.class})
-    void schema() throws Exception {
-        Approvals.verify(submit(), jsonOptions());
-    }
-
-    @Test
-    @UseReporter({MyWinMergeDiffReporter.class, DiffReporter.class})
-    void schema_types_name() throws Exception {
-        Approvals.verify(submit(), jsonOptions());
-    }
-
 
     @Test
-    @UseReporter({MyWinMergeDiffReporter.class, DiffReporter.class})
+    @UseReporter(DiffReporter.class)
     void find_all_departments() throws Exception {
 
         // given
@@ -135,7 +88,7 @@ public class EndToEnd_IntegTest extends CausewayViewerGraphqlTestModuleIntegTest
 
     //TODO started to fail on 2022-09-04, with testEntityRepository findAll being empty
     @Test @DisabledIfSystemProperty(named = "isRunningWithSurefire", matches = "true")
-    @UseReporter(TextWebReporter.class)
+    @UseReporter(DiffReporter.class)
     void createE1() throws Exception {
 
         //File targetFile3 = new File("src/test/resources/testfiles/targetFile3.gql");
@@ -168,7 +121,7 @@ public class EndToEnd_IntegTest extends CausewayViewerGraphqlTestModuleIntegTest
     //TODO started to fail on 2023-07-25
     //disabled to rescue CI build
     @Test @DisabledIfSystemProperty(named = "isRunningWithSurefire", matches = "true")
-    @UseReporter(TextWebReporter.class)
+    @UseReporter(DiffReporter.class)
     void changeName() throws Exception {
 
         List<DeptHead> deptHeadList = new ArrayList<>();
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Schema_IntegTest.java b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Schema_IntegTest.java
new file mode 100644
index 0000000000..816f43ae16
--- /dev/null
+++ b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Schema_IntegTest.java
@@ -0,0 +1,69 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package org.apache.causeway.viewer.graphql.viewer.test.e2e;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.inject.Inject;
+
+import org.apache.causeway.viewer.graphql.viewer.test.CausewayViewerGraphqlTestModuleIntegTestAbstract;
+
+import org.apache.causeway.viewer.graphql.viewer.test.domain.Department;
+
+import org.apache.causeway.viewer.graphql.viewer.test.domain.DeptHead;
+import org.apache.causeway.viewer.graphql.viewer.test.domain.DepartmentRepository;
+
+import org.apache.causeway.viewer.graphql.viewer.test.domain.DeptHeadRepository;
+
+import org.approvaltests.Approvals;
+import org.approvaltests.reporters.DiffReporter;
+import org.approvaltests.reporters.TextWebReporter;
+import org.approvaltests.reporters.UseReporter;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.condition.DisabledIfSystemProperty;
+
+import org.springframework.test.context.ActiveProfiles;
+import org.springframework.transaction.annotation.Propagation;
+
+import org.apache.causeway.viewer.graphql.viewer.test.domain.TopLevelMenu;
+
+import static org.apache.causeway.commons.internal.assertions._Assert.assertEquals;
+import static org.apache.causeway.commons.internal.assertions._Assert.assertNotNull;
+import static org.apache.causeway.commons.internal.assertions._Assert.assertTrue;
+
+import static org.assertj.core.api.AssertionsForInterfaceTypes.assertThat;
+
+
+@ActiveProfiles("test")
+public class Schema_IntegTest extends CausewayViewerGraphqlTestModuleIntegTestAbstract {
+
+    @Test
+    @UseReporter(DiffReporter.class)
+    void schema() throws Exception {
+        Approvals.verify(submit(), jsonOptions());
+    }
+
+    @Test
+    @UseReporter(DiffReporter.class)
+    void schema_types_name() throws Exception {
+        Approvals.verify(submit(), jsonOptions());
+    }
+}
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.schema.gql b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Schema_IntegTest.schema._.gql
similarity index 100%
rename from incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.schema.gql
rename to incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Schema_IntegTest.schema._.gql
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Schema_IntegTest.schema.approved.json b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Schema_IntegTest.schema.approved.json
new file mode 100644
index 0000000000..fc3d84a3d6
--- /dev/null
+++ b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Schema_IntegTest.schema.approved.json
@@ -0,0 +1,7320 @@
+{
+  "data" : {
+    "__schema" : {
+      "queryType" : {
+        "name" : "Query"
+      },
+      "mutationType" : null,
+      "subscriptionType" : null,
+      "types" : [ {
+        "kind" : "SCALAR",
+        "name" : "Boolean",
+        "description" : "Built-in Boolean",
+        "fields" : null,
+        "inputFields" : null,
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "SCALAR",
+        "name" : "ID",
+        "description" : "Built-in ID",
+        "fields" : null,
+        "inputFields" : null,
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "SCALAR",
+        "name" : "Int",
+        "description" : "Built-in Int",
+        "fields" : null,
+        "inputFields" : null,
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "Query",
+        "description" : null,
+        "fields" : [ {
+          "name" : "causeway_applib_UserMenu",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "causeway_applib_UserMenu",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "causeway_conf_ConfigurationMenu",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "causeway_conf_ConfigurationMenu",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "causeway_security_LogoutMenu",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "causeway_security_LogoutMenu",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "gql_test_domain_TopLevelMenu",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "gql_test_domain_TopLevelMenu",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "numServices",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "Int",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "SCALAR",
+        "name" : "String",
+        "description" : "Built-in String",
+        "fields" : null,
+        "inputFields" : null,
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "__Directive",
+        "description" : null,
+        "fields" : [ {
+          "name" : "name",
+          "description" : "The __Directive type represents a Directive that a server supports.",
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "description",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "isRepeatable",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "Boolean",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "locations",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "LIST",
+              "name" : null,
+              "ofType" : {
+                "kind" : "NON_NULL",
+                "name" : null,
+                "ofType" : {
+                  "kind" : "ENUM",
+                  "name" : "__DirectiveLocation",
+                  "ofType" : null
+                }
+              }
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "args",
+          "description" : null,
+          "args" : [ {
+            "name" : "includeDeprecated",
+            "description" : null,
+            "type" : {
+              "kind" : "SCALAR",
+              "name" : "Boolean",
+              "ofType" : null
+            },
+            "defaultValue" : "false"
+          } ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "LIST",
+              "name" : null,
+              "ofType" : {
+                "kind" : "NON_NULL",
+                "name" : null,
+                "ofType" : {
+                  "kind" : "OBJECT",
+                  "name" : "__InputValue",
+                  "ofType" : null
+                }
+              }
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "onOperation",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "Boolean",
+            "ofType" : null
+          },
+          "isDeprecated" : true,
+          "deprecationReason" : "Use `locations`."
+        }, {
+          "name" : "onFragment",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "Boolean",
+            "ofType" : null
+          },
+          "isDeprecated" : true,
+          "deprecationReason" : "Use `locations`."
+        }, {
+          "name" : "onField",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "Boolean",
+            "ofType" : null
+          },
+          "isDeprecated" : true,
+          "deprecationReason" : "Use `locations`."
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "ENUM",
+        "name" : "__DirectiveLocation",
+        "description" : "An enum describing valid locations where a directive can be placed",
+        "fields" : null,
+        "inputFields" : null,
+        "interfaces" : null,
+        "enumValues" : [ {
+          "name" : "QUERY",
+          "description" : "Indicates the directive is valid on queries.",
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "MUTATION",
+          "description" : "Indicates the directive is valid on mutations.",
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "SUBSCRIPTION",
+          "description" : "Indicates the directive is valid on subscriptions.",
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "FIELD",
+          "description" : "Indicates the directive is valid on fields.",
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "FRAGMENT_DEFINITION",
+          "description" : "Indicates the directive is valid on fragment definitions.",
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "FRAGMENT_SPREAD",
+          "description" : "Indicates the directive is valid on fragment spreads.",
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "INLINE_FRAGMENT",
+          "description" : "Indicates the directive is valid on inline fragments.",
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "VARIABLE_DEFINITION",
+          "description" : "Indicates the directive is valid on variable definitions.",
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "SCHEMA",
+          "description" : "Indicates the directive is valid on a schema SDL definition.",
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "SCALAR",
+          "description" : "Indicates the directive is valid on a scalar SDL definition.",
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "OBJECT",
+          "description" : "Indicates the directive is valid on an object SDL definition.",
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "FIELD_DEFINITION",
+          "description" : "Indicates the directive is valid on a field SDL definition.",
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "ARGUMENT_DEFINITION",
+          "description" : "Indicates the directive is valid on a field argument SDL definition.",
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "INTERFACE",
+          "description" : "Indicates the directive is valid on an interface SDL definition.",
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "UNION",
+          "description" : "Indicates the directive is valid on an union SDL definition.",
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "ENUM",
+          "description" : "Indicates the directive is valid on an enum SDL definition.",
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "ENUM_VALUE",
+          "description" : "Indicates the directive is valid on an enum value SDL definition.",
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "INPUT_OBJECT",
+          "description" : "Indicates the directive is valid on an input object SDL definition.",
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "INPUT_FIELD_DEFINITION",
+          "description" : "Indicates the directive is valid on an input object field SDL definition.",
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "__EnumValue",
+        "description" : null,
+        "fields" : [ {
+          "name" : "name",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "description",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "isDeprecated",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "Boolean",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "deprecationReason",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "__Field",
+        "description" : null,
+        "fields" : [ {
+          "name" : "name",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "description",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "args",
+          "description" : null,
+          "args" : [ {
+            "name" : "includeDeprecated",
+            "description" : null,
+            "type" : {
+              "kind" : "SCALAR",
+              "name" : "Boolean",
+              "ofType" : null
+            },
+            "defaultValue" : "false"
+          } ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "LIST",
+              "name" : null,
+              "ofType" : {
+                "kind" : "NON_NULL",
+                "name" : null,
+                "ofType" : {
+                  "kind" : "OBJECT",
+                  "name" : "__InputValue",
+                  "ofType" : null
+                }
+              }
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "type",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "OBJECT",
+              "name" : "__Type",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "isDeprecated",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "Boolean",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "deprecationReason",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "__InputValue",
+        "description" : null,
+        "fields" : [ {
+          "name" : "name",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "description",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "type",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "OBJECT",
+              "name" : "__Type",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "defaultValue",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "isDeprecated",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "Boolean",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "deprecationReason",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "__Schema",
+        "description" : "A GraphQL Introspection defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, the entry points for query, mutation, and subscription operations.",
+        "fields" : [ {
+          "name" : "description",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "types",
+          "description" : "A list of all types supported by this server.",
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "LIST",
+              "name" : null,
+              "ofType" : {
+                "kind" : "NON_NULL",
+                "name" : null,
+                "ofType" : {
+                  "kind" : "OBJECT",
+                  "name" : "__Type",
+                  "ofType" : null
+                }
+              }
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "queryType",
+          "description" : "The type that query operations will be rooted at.",
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "OBJECT",
+              "name" : "__Type",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "mutationType",
+          "description" : "If this server supports mutation, the type that mutation operations will be rooted at.",
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "__Type",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "directives",
+          "description" : "'A list of all directives supported by this server.",
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "LIST",
+              "name" : null,
+              "ofType" : {
+                "kind" : "NON_NULL",
+                "name" : null,
+                "ofType" : {
+                  "kind" : "OBJECT",
+                  "name" : "__Directive",
+                  "ofType" : null
+                }
+              }
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "subscriptionType",
+          "description" : "'If this server support subscription, the type that subscription operations will be rooted at.",
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "__Type",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "__Type",
+        "description" : null,
+        "fields" : [ {
+          "name" : "kind",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "ENUM",
+              "name" : "__TypeKind",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "name",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "description",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "fields",
+          "description" : null,
+          "args" : [ {
+            "name" : "includeDeprecated",
+            "description" : null,
+            "type" : {
+              "kind" : "SCALAR",
+              "name" : "Boolean",
+              "ofType" : null
+            },
+            "defaultValue" : "false"
+          } ],
+          "type" : {
+            "kind" : "LIST",
+            "name" : null,
+            "ofType" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "OBJECT",
+                "name" : "__Field",
+                "ofType" : null
+              }
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "interfaces",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "LIST",
+            "name" : null,
+            "ofType" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "OBJECT",
+                "name" : "__Type",
+                "ofType" : null
+              }
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "possibleTypes",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "LIST",
+            "name" : null,
+            "ofType" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "OBJECT",
+                "name" : "__Type",
+                "ofType" : null
+              }
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "enumValues",
+          "description" : null,
+          "args" : [ {
+            "name" : "includeDeprecated",
+            "description" : null,
+            "type" : {
+              "kind" : "SCALAR",
+              "name" : "Boolean",
+              "ofType" : null
+            },
+            "defaultValue" : "false"
+          } ],
+          "type" : {
+            "kind" : "LIST",
+            "name" : null,
+            "ofType" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "OBJECT",
+                "name" : "__EnumValue",
+                "ofType" : null
+              }
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "inputFields",
+          "description" : null,
+          "args" : [ {
+            "name" : "includeDeprecated",
+            "description" : null,
+            "type" : {
+              "kind" : "SCALAR",
+              "name" : "Boolean",
+              "ofType" : null
+            },
+            "defaultValue" : "false"
+          } ],
+          "type" : {
+            "kind" : "LIST",
+            "name" : null,
+            "ofType" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "OBJECT",
+                "name" : "__InputValue",
+                "ofType" : null
+              }
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "ofType",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "__Type",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "specifiedByUrl",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "ENUM",
+        "name" : "__TypeKind",
+        "description" : "An enum describing what kind of type a given __Type is",
+        "fields" : null,
+        "inputFields" : null,
+        "interfaces" : null,
+        "enumValues" : [ {
+          "name" : "SCALAR",
+          "description" : "Indicates this type is a scalar. 'specifiedByUrl' is a valid field",
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "OBJECT",
+          "description" : "Indicates this type is an object. `fields` and `interfaces` are valid fields.",
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "INTERFACE",
+          "description" : "Indicates this type is an interface. `fields` and `possibleTypes` are valid fields.",
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "UNION",
+          "description" : "Indicates this type is a union. `possibleTypes` is a valid field.",
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "ENUM",
+          "description" : "Indicates this type is an enum. `enumValues` is a valid field.",
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "INPUT_OBJECT",
+          "description" : "Indicates this type is an input object. `inputFields` is a valid field.",
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "LIST",
+          "description" : "Indicates this type is a list. `ofType` is a valid field.",
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "NON_NULL",
+          "description" : "Indicates this type is a non-null. `ofType` is a valid field.",
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__causeway_applib_DomainObjectList",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__causeway_applib_FacetGroupNode",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__causeway_applib_ParameterNode",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__causeway_applib_PropertyNode",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__causeway_applib_RoleMemento",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__causeway_applib_TypeNode",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__causeway_applib_UserMemento",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__causeway_applib_node_ActionNode",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__causeway_applib_node_CollectionNode",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__causeway_applib_node_FacetAttrNode",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__causeway_applib_node_FacetNode",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__causeway_conf_ConfigurationProperty",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__causeway_conf_ConfigurationViewmodel",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__causeway_feat_ApplicationFeatureViewModel",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__causeway_feat_ApplicationNamespace",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__causeway_feat_ApplicationType",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__causeway_feat_ApplicationTypeAction",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__causeway_feat_ApplicationTypeCollection",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__causeway_feat_ApplicationTypeMember",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__causeway_feat_ApplicationTypeProperty",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__causeway_schema_metamodel_v2_DomainClassDto",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__causeway_security_LoginRedirect",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__causeway_testing_fixtures_FixtureResult",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__gql_test_domain_Department",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__gql_test_domain_DeptHead",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__java_lang_Runnable",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__java_util_Map",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__java_util_SortedMap",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__java_util_concurrent_Callable",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__java_util_function_BiFunction",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__java_util_function_Consumer",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__java_util_function_Function",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__java_util_stream_Stream",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__org_apache_causeway_commons_functional_Either",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__org_apache_causeway_commons_functional_Railway",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__org_apache_causeway_commons_functional_ThrowingConsumer",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__org_apache_causeway_commons_functional_ThrowingFunction",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__org_apache_causeway_commons_functional_ThrowingRunnable",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__org_apache_causeway_commons_functional_Try",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__org_apache_causeway_core_metamodel_inspect_model_MMNode",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__org_apache_causeway_core_metamodel_inspect_model_MemberNode",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "INPUT_OBJECT",
+        "name" : "_gql_input__org_apache_causeway_viewer_graphql_viewer_test_domain_WithName",
+        "description" : null,
+        "fields" : null,
+        "inputFields" : [ {
+          "name" : "id",
+          "description" : null,
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "ID",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ],
+        "interfaces" : null,
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_applib_DomainObjectList",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "causeway_applib_DomainObjectList__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "actionArguments",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "actionId",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "actionOwningFqcn",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "elementTypeFqcn",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "title",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_applib_DomainObjectList__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_applib_FacetGroupNode",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "causeway_applib_FacetGroupNode__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "facets",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_applib_FacetGroupNode__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_applib_ParameterNode",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "causeway_applib_ParameterNode__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "parameter",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "parentNode",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "OBJECT",
+              "name" : "causeway_applib_node_ActionNode",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_applib_ParameterNode__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_applib_PropertyNode",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "causeway_applib_PropertyNode__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "parentNode",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "OBJECT",
+              "name" : "causeway_applib_TypeNode",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "property",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "mixedIn",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "_gql_mutations",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "causeway_applib_PropertyNode__DomainObject_mutators",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_applib_PropertyNode__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_applib_PropertyNode__DomainObject_mutators",
+        "description" : null,
+        "fields" : [ {
+          "name" : "streamChildNodes",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "java_util_stream_Stream",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_applib_RoleMemento",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "causeway_applib_RoleMemento__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "description",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "name",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_applib_RoleMemento__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_applib_TypeNode",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "causeway_applib_TypeNode__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "domainClassDto",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "OBJECT",
+              "name" : "causeway_schema_metamodel_v2_DomainClassDto",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_applib_TypeNode__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_applib_UserMemento",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "causeway_applib_UserMemento__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "authenticationCode",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "realName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "avatarUrl",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "name",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "languageLocale",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "numberFormatLocale",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "timeFormatLocale",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "authenticationSource",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "multiTenancyToken",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "impersonating",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "roles",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "LIST",
+            "name" : null,
+            "ofType" : {
+              "kind" : "OBJECT",
+              "name" : "causeway_applib_RoleMemento",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_applib_UserMemento__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_applib_UserMenu",
+        "description" : null,
+        "fields" : [ {
+          "name" : "me",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "causeway_applib_UserMemento",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_applib_node_ActionNode",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "causeway_applib_node_ActionNode__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "action",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "parentNode",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "OBJECT",
+              "name" : "causeway_applib_TypeNode",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "mixedIn",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "_gql_mutations",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "causeway_applib_node_ActionNode__DomainObject_mutators",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_applib_node_ActionNode__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_applib_node_ActionNode__DomainObject_mutators",
+        "description" : null,
+        "fields" : [ {
+          "name" : "streamChildNodes",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "java_util_stream_Stream",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_applib_node_CollectionNode",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "causeway_applib_node_CollectionNode__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "collection",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "parentNode",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "OBJECT",
+              "name" : "causeway_applib_TypeNode",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "mixedIn",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "_gql_mutations",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "causeway_applib_node_CollectionNode__DomainObject_mutators",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_applib_node_CollectionNode__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_applib_node_CollectionNode__DomainObject_mutators",
+        "description" : null,
+        "fields" : [ {
+          "name" : "streamChildNodes",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "java_util_stream_Stream",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_applib_node_FacetAttrNode",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "causeway_applib_node_FacetAttrNode__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "facetAttr",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "parentNode",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "OBJECT",
+              "name" : "causeway_applib_node_FacetNode",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_applib_node_FacetAttrNode__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_applib_node_FacetNode",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "causeway_applib_node_FacetNode__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "facet",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "shadowed",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_applib_node_FacetNode__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_conf_ConfigurationMenu",
+        "description" : null,
+        "fields" : [ {
+          "name" : "configuration",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "causeway_conf_ConfigurationViewmodel",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_conf_ConfigurationProperty",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "causeway_conf_ConfigurationProperty__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "key",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "value",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_conf_ConfigurationProperty__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_conf_ConfigurationViewmodel",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "causeway_conf_ConfigurationViewmodel__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "environment",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "LIST",
+            "name" : null,
+            "ofType" : {
+              "kind" : "OBJECT",
+              "name" : "causeway_conf_ConfigurationProperty",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "primary",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "LIST",
+            "name" : null,
+            "ofType" : {
+              "kind" : "OBJECT",
+              "name" : "causeway_conf_ConfigurationProperty",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "secondary",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "LIST",
+            "name" : null,
+            "ofType" : {
+              "kind" : "OBJECT",
+              "name" : "causeway_conf_ConfigurationProperty",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_conf_ConfigurationViewmodel__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_feat_ApplicationFeatureViewModel",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "causeway_feat_ApplicationFeatureViewModel__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "namespaceName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "typeSimpleName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "memberName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_feat_ApplicationFeatureViewModel__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_feat_ApplicationNamespace",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "causeway_feat_ApplicationNamespace__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "namespaceName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "typeSimpleName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "memberName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_feat_ApplicationNamespace__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_feat_ApplicationType",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "causeway_feat_ApplicationType__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "namespaceName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "typeSimpleName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "memberName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "actions",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "LIST",
+            "name" : null,
+            "ofType" : {
+              "kind" : "OBJECT",
+              "name" : "causeway_feat_ApplicationTypeAction",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "properties",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "LIST",
+            "name" : null,
+            "ofType" : {
+              "kind" : "OBJECT",
+              "name" : "causeway_feat_ApplicationTypeProperty",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "collections",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "LIST",
+            "name" : null,
+            "ofType" : {
+              "kind" : "OBJECT",
+              "name" : "causeway_feat_ApplicationTypeCollection",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_feat_ApplicationTypeAction",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "causeway_feat_ApplicationTypeAction__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "returnType",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "actionSemantics",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "namespaceName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "typeSimpleName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "memberName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_feat_ApplicationTypeAction__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_feat_ApplicationTypeCollection",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "causeway_feat_ApplicationTypeCollection__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "elementType",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "derived",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "namespaceName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "typeSimpleName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "memberName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_feat_ApplicationTypeCollection__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_feat_ApplicationTypeMember",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "causeway_feat_ApplicationTypeMember__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "namespaceName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "typeSimpleName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "memberName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_feat_ApplicationTypeMember__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_feat_ApplicationTypeProperty",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "causeway_feat_ApplicationTypeProperty__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "returnType",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "derived",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "maxLength",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "typicalLength",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "namespaceName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "typeSimpleName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "memberName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_feat_ApplicationTypeProperty__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_feat_ApplicationType__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_schema_metamodel_v2_DomainClassDto",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "causeway_schema_metamodel_v2_DomainClassDto__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "actions",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "annotations",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "collections",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "facets",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "majorVersion",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "minorVersion",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "properties",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "service",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_schema_metamodel_v2_DomainClassDto__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_security_LoginRedirect",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "causeway_security_LoginRedirect__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_security_LoginRedirect__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_security_LogoutMenu",
+        "description" : null,
+        "fields" : [ {
+          "name" : "logout",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_testing_fixtures_FixtureResult",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "causeway_testing_fixtures_FixtureResult__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "fixtureScriptClassName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "className",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "key",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "causeway_testing_fixtures_FixtureResult__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "gql_test_domain_Department",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "gql_test_domain_Department__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "deptHead",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "gql_test_domain_DeptHead",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "name",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "gql_test_domain_Department__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "version",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "gql_test_domain_DeptHead",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "gql_test_domain_DeptHead__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "department",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "gql_test_domain_Department",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "name",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "_gql_mutations",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "gql_test_domain_DeptHead__DomainObject_mutators",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "gql_test_domain_DeptHead__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "version",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "gql_test_domain_DeptHead__DomainObject_mutators",
+        "description" : null,
+        "fields" : [ {
+          "name" : "changeDeptHead",
+          "description" : null,
+          "args" : [ {
+            "name" : "department",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__gql_test_domain_Department",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "gql_test_domain_DeptHead",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "changeName",
+          "description" : null,
+          "args" : [ {
+            "name" : "newName",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "SCALAR",
+                "name" : "String",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "gql_test_domain_DeptHead",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "gql_test_domain_TopLevelMenu",
+        "description" : null,
+        "fields" : [ {
+          "name" : "createDepartment",
+          "description" : null,
+          "args" : [ {
+            "name" : "name",
+            "description" : null,
+            "type" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            },
+            "defaultValue" : null
+          }, {
+            "name" : "deptHead",
+            "description" : null,
+            "type" : {
+              "kind" : "INPUT_OBJECT",
+              "name" : "_gql_input__gql_test_domain_DeptHead",
+              "ofType" : null
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "gql_test_domain_Department",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "findAllDepartments",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "LIST",
+            "name" : null,
+            "ofType" : {
+              "kind" : "OBJECT",
+              "name" : "gql_test_domain_Department",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "findAllDeptHeads",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "LIST",
+            "name" : null,
+            "ofType" : {
+              "kind" : "OBJECT",
+              "name" : "gql_test_domain_DeptHead",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "findAllEntitiesWithName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "LIST",
+            "name" : null,
+            "ofType" : {
+              "kind" : "OBJECT",
+              "name" : "org_apache_causeway_viewer_graphql_viewer_test_domain_WithName",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "findDeptHeadByName",
+          "description" : null,
+          "args" : [ {
+            "name" : "name",
+            "description" : null,
+            "type" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "gql_test_domain_DeptHead",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "java_lang_Runnable",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "java_lang_Runnable__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "java_lang_Runnable__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "java_util_Map",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "java_util_Map__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "java_util_Map__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "java_util_SortedMap",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "java_util_SortedMap__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "java_util_SortedMap__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "java_util_concurrent_Callable",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "java_util_concurrent_Callable__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "java_util_concurrent_Callable__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "java_util_function_BiFunction",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "java_util_function_BiFunction__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "java_util_function_BiFunction__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "java_util_function_Consumer",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "java_util_function_Consumer__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "java_util_function_Consumer__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "java_util_function_Function",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "java_util_function_Function__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "java_util_function_Function__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "java_util_stream_Stream",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "java_util_stream_Stream__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "java_util_stream_Stream__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "org_apache_causeway_commons_functional_Either",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_Either__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "left",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "right",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "_gql_mutations",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_Either__DomainObject_mutators",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "org_apache_causeway_commons_functional_Either__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "org_apache_causeway_commons_functional_Either__DomainObject_mutators",
+        "description" : null,
+        "fields" : [ {
+          "name" : "accept",
+          "description" : null,
+          "args" : [ {
+            "name" : "leftConsumer",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__java_util_function_Consumer",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          }, {
+            "name" : "rightConsumer",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__java_util_function_Consumer",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "left",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "map",
+          "description" : null,
+          "args" : [ {
+            "name" : "leftMapper",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__java_util_function_Function",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          }, {
+            "name" : "rightMapper",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__java_util_function_Function",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_Either",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "mapLeft",
+          "description" : null,
+          "args" : [ {
+            "name" : "leftMapper",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__java_util_function_Function",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_Either",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "mapRight",
+          "description" : null,
+          "args" : [ {
+            "name" : "rightMapper",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__java_util_function_Function",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_Either",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "right",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "org_apache_causeway_commons_functional_Railway",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_Railway__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "failure",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "success",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "_gql_mutations",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_Railway__DomainObject_mutators",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "org_apache_causeway_commons_functional_Railway__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "org_apache_causeway_commons_functional_Railway__DomainObject_mutators",
+        "description" : null,
+        "fields" : [ {
+          "name" : "chain",
+          "description" : null,
+          "args" : [ {
+            "name" : "chainingFunction",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__org_apache_causeway_commons_functional_ThrowingFunction",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_Railway",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "ifFailure",
+          "description" : null,
+          "args" : [ {
+            "name" : "failureConsumer",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__org_apache_causeway_commons_functional_ThrowingConsumer",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_Railway",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "ifSuccess",
+          "description" : null,
+          "args" : [ {
+            "name" : "successConsumer",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__org_apache_causeway_commons_functional_ThrowingConsumer",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_Railway",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "mapFailure",
+          "description" : null,
+          "args" : [ {
+            "name" : "failureMapper",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__org_apache_causeway_commons_functional_ThrowingFunction",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_Railway",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "mapSuccess",
+          "description" : null,
+          "args" : [ {
+            "name" : "successMapper",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__org_apache_causeway_commons_functional_ThrowingFunction",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_Railway",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "org_apache_causeway_commons_functional_ThrowingConsumer",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_ThrowingConsumer__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "_gql_mutations",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_ThrowingConsumer__DomainObject_mutators",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "org_apache_causeway_commons_functional_ThrowingConsumer__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "org_apache_causeway_commons_functional_ThrowingConsumer__DomainObject_mutators",
+        "description" : null,
+        "fields" : [ {
+          "name" : "andThen",
+          "description" : null,
+          "args" : [ {
+            "name" : "arg0",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__java_util_function_Consumer",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "java_util_function_Consumer",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "throwing",
+          "description" : null,
+          "args" : [ {
+            "name" : "exceptionWrapper",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__java_util_function_BiFunction",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_ThrowingConsumer",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "org_apache_causeway_commons_functional_ThrowingFunction",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_ThrowingFunction__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "_gql_mutations",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_ThrowingFunction__DomainObject_mutators",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "org_apache_causeway_commons_functional_ThrowingFunction__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "org_apache_causeway_commons_functional_ThrowingFunction__DomainObject_mutators",
+        "description" : null,
+        "fields" : [ {
+          "name" : "andThen",
+          "description" : null,
+          "args" : [ {
+            "name" : "arg0",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__java_util_function_Function",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "java_util_function_Function",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "compose",
+          "description" : null,
+          "args" : [ {
+            "name" : "arg0",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__java_util_function_Function",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "java_util_function_Function",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "throwing",
+          "description" : null,
+          "args" : [ {
+            "name" : "exceptionWrapper",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__java_util_function_BiFunction",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_ThrowingFunction",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "org_apache_causeway_commons_functional_ThrowingRunnable",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_ThrowingRunnable__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "_gql_mutations",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_ThrowingRunnable__DomainObject_mutators",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "org_apache_causeway_commons_functional_ThrowingRunnable__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "org_apache_causeway_commons_functional_ThrowingRunnable__DomainObject_mutators",
+        "description" : null,
+        "fields" : [ {
+          "name" : "callUncatched",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "run",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "runUncatched",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "toCallable",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "java_util_concurrent_Callable",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "toRunnable",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "java_lang_Runnable",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "org_apache_causeway_commons_functional_Try",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_Try__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "failure",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "success",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "_gql_mutations",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_Try__DomainObject_mutators",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "org_apache_causeway_commons_functional_Try__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "org_apache_causeway_commons_functional_Try__DomainObject_mutators",
+        "description" : null,
+        "fields" : [ {
+          "name" : "accept",
+          "description" : null,
+          "args" : [ {
+            "name" : "failureConsumer",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__org_apache_causeway_commons_functional_ThrowingConsumer",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          }, {
+            "name" : "successConsumer",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__org_apache_causeway_commons_functional_ThrowingConsumer",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_Try",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "flatMapSuccess",
+          "description" : null,
+          "args" : [ {
+            "name" : "successMapper",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__org_apache_causeway_commons_functional_ThrowingFunction",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_Try",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "flatMapSuccessAsNullable",
+          "description" : null,
+          "args" : [ {
+            "name" : "successMapper",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__org_apache_causeway_commons_functional_ThrowingFunction",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_Try",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "flatMapSuccessWhenPresent",
+          "description" : null,
+          "args" : [ {
+            "name" : "successMapper",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__org_apache_causeway_commons_functional_ThrowingFunction",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_Try",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "ifAbsentFail",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_Try",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "ifFailure",
+          "description" : null,
+          "args" : [ {
+            "name" : "exceptionConsumer",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__org_apache_causeway_commons_functional_ThrowingConsumer",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_Try",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "ifFailureFail",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_Try",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "ifSuccess",
+          "description" : null,
+          "args" : [ {
+            "name" : "valueConsumer",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__org_apache_causeway_commons_functional_ThrowingConsumer",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_Try",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "ifSuccessAsNullable",
+          "description" : null,
+          "args" : [ {
+            "name" : "valueConsumer",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__org_apache_causeway_commons_functional_ThrowingConsumer",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_Try",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "mapEmptyToFailure",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_Try",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "mapFailure",
+          "description" : null,
+          "args" : [ {
+            "name" : "failureMapper",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__org_apache_causeway_commons_functional_ThrowingFunction",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_Try",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "mapFailureToSuccess",
+          "description" : null,
+          "args" : [ {
+            "name" : "recoveryMapper",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__org_apache_causeway_commons_functional_ThrowingFunction",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_Try",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "mapSuccess",
+          "description" : null,
+          "args" : [ {
+            "name" : "successMapper",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__org_apache_causeway_commons_functional_ThrowingFunction",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_Try",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "mapSuccessAsNullable",
+          "description" : null,
+          "args" : [ {
+            "name" : "successMapper",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__org_apache_causeway_commons_functional_ThrowingFunction",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_Try",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "mapSuccessWhenPresent",
+          "description" : null,
+          "args" : [ {
+            "name" : "successMapper",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__org_apache_causeway_commons_functional_ThrowingFunction",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_Try",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "mapToEither",
+          "description" : null,
+          "args" : [ {
+            "name" : "failureMapper",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__org_apache_causeway_commons_functional_ThrowingFunction",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          }, {
+            "name" : "successMapper",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__org_apache_causeway_commons_functional_ThrowingFunction",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_Either",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "orCall",
+          "description" : null,
+          "args" : [ {
+            "name" : "fallback",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__java_util_concurrent_Callable",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_Try",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "then",
+          "description" : null,
+          "args" : [ {
+            "name" : "next",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__java_util_concurrent_Callable",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_Try",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "thenCall",
+          "description" : null,
+          "args" : [ {
+            "name" : "callable",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__java_util_concurrent_Callable",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_Try",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "thenRun",
+          "description" : null,
+          "args" : [ {
+            "name" : "runnable",
+            "description" : null,
+            "type" : {
+              "kind" : "NON_NULL",
+              "name" : null,
+              "ofType" : {
+                "kind" : "INPUT_OBJECT",
+                "name" : "_gql_input__org_apache_causeway_commons_functional_ThrowingRunnable",
+                "ofType" : null
+              }
+            },
+            "defaultValue" : null
+          } ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_commons_functional_Try",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "org_apache_causeway_core_metamodel_inspect_model_MMNode",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_core_metamodel_inspect_model_MMNode__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "org_apache_causeway_core_metamodel_inspect_model_MMNode__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "org_apache_causeway_core_metamodel_inspect_model_MemberNode",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_core_metamodel_inspect_model_MemberNode__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "parentNode",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "OBJECT",
+              "name" : "causeway_applib_TypeNode",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "mixedIn",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "_gql_mutations",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_core_metamodel_inspect_model_MemberNode__DomainObject_mutators",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "org_apache_causeway_core_metamodel_inspect_model_MemberNode__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "org_apache_causeway_core_metamodel_inspect_model_MemberNode__DomainObject_mutators",
+        "description" : null,
+        "fields" : [ {
+          "name" : "streamChildNodes",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "java_util_stream_Stream",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "friendlyName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "qualifiedName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "org_apache_causeway_viewer_graphql_viewer_test_domain_WithName",
+        "description" : null,
+        "fields" : [ {
+          "name" : "_gql_meta",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "OBJECT",
+            "name" : "org_apache_causeway_viewer_graphql_viewer_test_domain_WithName__DomainObject_meta",
+            "ofType" : null
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "name",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      }, {
+        "kind" : "OBJECT",
+        "name" : "org_apache_causeway_viewer_graphql_viewer_test_domain_WithName__DomainObject_meta",
+        "description" : null,
+        "fields" : [ {
+          "name" : "id",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        }, {
+          "name" : "logicalTypeName",
+          "description" : null,
+          "args" : [ ],
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "isDeprecated" : false,
+          "deprecationReason" : null
+        } ],
+        "inputFields" : null,
+        "interfaces" : [ ],
+        "enumValues" : null,
+        "possibleTypes" : null
+      } ],
+      "directives" : [ {
+        "name" : "include",
+        "description" : "Directs the executor to include this field or fragment only when the `if` argument is true",
+        "locations" : [ "FIELD", "FRAGMENT_SPREAD", "INLINE_FRAGMENT" ],
+        "args" : [ {
+          "name" : "if",
+          "description" : "Included when true.",
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "Boolean",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ]
+      }, {
+        "name" : "skip",
+        "description" : "Directs the executor to skip this field or fragment when the `if` argument is true.",
+        "locations" : [ "FIELD", "FRAGMENT_SPREAD", "INLINE_FRAGMENT" ],
+        "args" : [ {
+          "name" : "if",
+          "description" : "Skipped when true.",
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "Boolean",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ]
+      }, {
+        "name" : "deprecated",
+        "description" : "Marks the field, argument, input field or enum value as deprecated",
+        "locations" : [ "FIELD_DEFINITION", "ARGUMENT_DEFINITION", "ENUM_VALUE", "INPUT_FIELD_DEFINITION" ],
+        "args" : [ {
+          "name" : "reason",
+          "description" : "The reason for the deprecation",
+          "type" : {
+            "kind" : "SCALAR",
+            "name" : "String",
+            "ofType" : null
+          },
+          "defaultValue" : "\"No longer supported\""
+        } ]
+      }, {
+        "name" : "specifiedBy",
+        "description" : "Exposes a URL that specifies the behaviour of this scalar.",
+        "locations" : [ "SCALAR" ],
+        "args" : [ {
+          "name" : "url",
+          "description" : "The URL that specifies the behaviour of this scalar.",
+          "type" : {
+            "kind" : "NON_NULL",
+            "name" : null,
+            "ofType" : {
+              "kind" : "SCALAR",
+              "name" : "String",
+              "ofType" : null
+            }
+          },
+          "defaultValue" : null
+        } ]
+      } ]
+    }
+  }
+}
\ No newline at end of file
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.schema_types_name.submit.gql b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Schema_IntegTest.schema_types_name._.gql
similarity index 100%
rename from incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.schema_types_name.submit.gql
rename to incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Schema_IntegTest.schema_types_name._.gql
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.schema_types_name.approved.json b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Schema_IntegTest.schema_types_name.approved.json
similarity index 99%
rename from incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.schema_types_name.approved.json
rename to incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Schema_IntegTest.schema_types_name.approved.json
index 57aa17d2bb..fd14945df3 100644
--- a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/EndToEnd_IntegTest.schema_types_name.approved.json
+++ b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Schema_IntegTest.schema_types_name.approved.json
@@ -228,7 +228,7 @@
       }, {
         "name" : "gql_test_domain_DeptHead__DomainObject_mutators"
       }, {
-        "name" : "gqltestdomain_GQLTestDomainMenu"
+        "name" : "gql_test_domain_TopLevelMenu"
       }, {
         "name" : "java_lang_Runnable"
       }, {
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/schema/MyWinMergeDiffReporter.java b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/utils/WinMergeGqlDiffReporter.java
similarity index 79%
rename from incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/schema/MyWinMergeDiffReporter.java
rename to incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/utils/WinMergeGqlDiffReporter.java
index 0816357034..732fa8d119 100644
--- a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/schema/MyWinMergeDiffReporter.java
+++ b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/utils/WinMergeGqlDiffReporter.java
@@ -1,6 +1,5 @@
-package org.apache.causeway.viewer.graphql.viewer.test.schema;
+package org.apache.causeway.viewer.graphql.viewer.test.utils;
 
-import java.util.Arrays;
 import java.util.List;
 
 import org.approvaltests.reporters.DiffInfo;
@@ -9,7 +8,7 @@ import org.approvaltests.reporters.GenericDiffReporter;
 
 import com.spun.util.ArrayUtils;
 
-public class MyWinMergeDiffReporter extends GenericDiffReporter {
+public class WinMergeGqlDiffReporter extends GenericDiffReporter {
 
     private static DiffInfo WIN_MERGE_REPORTER =
             new DiffInfo(DiffPrograms.Windows.WIN_MERGE_REPORTER.diffProgram,
@@ -21,7 +20,7 @@ public class MyWinMergeDiffReporter extends GenericDiffReporter {
                             )
                     );
 
-    public MyWinMergeDiffReporter() {
+    public WinMergeGqlDiffReporter() {
         super(WIN_MERGE_REPORTER);
     }
 
diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/schema/GqlSchema_print_IntegTest.schema.approved.gql b/incubator/viewers/graphql/test/src/test/resources/schema.gql
similarity index 100%
rename from incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/schema/GqlSchema_print_IntegTest.schema.approved.gql
rename to incubator/viewers/graphql/test/src/test/resources/schema.gql
diff --git a/incubator/viewers/graphql/viewer/src/main/java/org/apache/causeway/viewer/graphql/viewer/source/GraphQlSourceForCauseway.java b/incubator/viewers/graphql/viewer/src/main/java/org/apache/causeway/viewer/graphql/viewer/source/GraphQlSourceForCauseway.java
index 5d76c596d6..47a717d99a 100644
--- a/incubator/viewers/graphql/viewer/src/main/java/org/apache/causeway/viewer/graphql/viewer/source/GraphQlSourceForCauseway.java
+++ b/incubator/viewers/graphql/viewer/src/main/java/org/apache/causeway/viewer/graphql/viewer/source/GraphQlSourceForCauseway.java
@@ -22,12 +22,16 @@ import static graphql.schema.FieldCoordinates.coordinates;
 import static graphql.schema.GraphQLFieldDefinition.newFieldDefinition;
 import static graphql.schema.GraphQLObjectType.newObject;
 
+import java.util.Comparator;
 import java.util.HashSet;
 import java.util.Set;
 
 import javax.annotation.PostConstruct;
 import javax.inject.Inject;
 
+import org.apache.causeway.applib.id.HasLogicalType;
+import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
+
 import org.springframework.graphql.execution.GraphQlSource;
 import org.springframework.stereotype.Service;
 
@@ -90,6 +94,7 @@ public class GraphQlSourceForCauseway implements GraphQlSource {
 
         specificationLoader.snapshotSpecifications()
         .distinct((a, b) -> a.getLogicalTypeName().equals(b.getLogicalTypeName()))
+        .sorted(Comparator.comparing(HasLogicalType::getLogicalTypeName))
         .forEach(objectSpecification -> {
 
             val logicalTypeName = objectSpecification.getLogicalTypeName();


(causeway) 02/05: CAUSEWAY-3676: deletes GqlSchema_detail_IntegTest

Posted by da...@apache.org.
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 59b463b1aa4c8e62a0f1855555705081253a6936
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Wed Jan 17 22:37:30 2024 +0000

    CAUSEWAY-3676: deletes GqlSchema_detail_IntegTest
    
    ... too verbose
---
 .../test/schema/GqlSchema_detail_IntegTest.java    | 176 ---------------------
 1 file changed, 176 deletions(-)

diff --git a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/schema/GqlSchema_detail_IntegTest.java b/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/schema/GqlSchema_detail_IntegTest.java
deleted file mode 100644
index bd709b2e19..0000000000
--- a/incubator/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/schema/GqlSchema_detail_IntegTest.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.causeway.viewer.graphql.viewer.test.schema;
-
-import java.util.List;
-
-import javax.inject.Inject;
-
-import org.apache.causeway.commons.internal.ioc._IocContainer;
-import org.apache.causeway.viewer.graphql.viewer.test.domain.DeptHead;
-
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Disabled;
-import org.junit.jupiter.api.Test;
-
-import org.springframework.transaction.annotation.Transactional;
-
-import org.apache.causeway.core.config.environment.CausewaySystemEnvironment;
-import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
-import org.apache.causeway.core.metamodel.specloader.SpecificationLoader;
-import org.apache.causeway.viewer.graphql.viewer.source.GraphQlSourceForCauseway;
-import org.apache.causeway.viewer.graphql.viewer.test.CausewayViewerGraphqlTestModuleIntegTestAbstract;
-import org.apache.causeway.viewer.graphql.viewer.test.domain.Department;
-import org.apache.causeway.viewer.graphql.viewer.test.domain.TopLevelMenu;
-
-import static org.apache.causeway.commons.internal.assertions._Assert.assertEquals;
-import static org.apache.causeway.commons.internal.assertions._Assert.assertNotNull;
-import static org.apache.causeway.commons.internal.assertions._Assert.assertTrue;
-
-import graphql.GraphQL;
-import graphql.Scalars;
-import graphql.schema.DataFetcher;
-import graphql.schema.FieldCoordinates;
-import graphql.schema.GraphQLArgument;
-import graphql.schema.GraphQLCodeRegistry;
-import graphql.schema.GraphQLFieldDefinition;
-import graphql.schema.GraphQLList;
-import graphql.schema.GraphQLObjectType;
-import graphql.schema.GraphQLOutputType;
-import graphql.schema.GraphQLScalarType;
-import graphql.schema.GraphQLSchema;
-import graphql.schema.GraphQLSchemaElement;
-import graphql.schema.GraphQLType;
-import graphql.schema.GraphQLTypeReference;
-
-@Transactional
-public class GqlSchema_detail_IntegTest extends CausewayViewerGraphqlTestModuleIntegTestAbstract {
-
-    @Inject private CausewaySystemEnvironment causewaySystemEnvironment;
-    @Inject private SpecificationLoader specificationLoader;
-    @Inject private GraphQlSourceForCauseway graphQlSourceForCauseway;
-
-    @BeforeEach
-    void beforeEach() {
-        assertNotNull(causewaySystemEnvironment);
-        assertNotNull(specificationLoader);
-        assertNotNull(graphQlSourceForCauseway);
-    }
-
-
-    @Test
-    @Disabled
-    void detail() {
-
-        GraphQLSchema x;
-
-//        _IocContainer iocContainer = causewaySystemEnvironment.getIocContainer();
-//        iocContainer.streamAllBeans().forEach(b->{
-//            System.out.println(b.getId());
-//        });
-
-        System.out.println(port);
-
-        ObjectSpecification objectSpecification1 = specificationLoader.specForType(Department.class).get();
-        assertNotNull(objectSpecification1);
-
-        ObjectSpecification objectSpecification2 = specificationLoader.specForType(DeptHead.class).get();
-        assertNotNull(objectSpecification2);
-
-        ObjectSpecification objectSpecification3 = specificationLoader.specForType(TopLevelMenu.class).get();
-        assertNotNull(objectSpecification3);
-
-        GraphQL graphQL = graphQlSourceForCauseway.graphQl();
-        GraphQLSchema graphQLSchema = graphQL.getGraphQLSchema();
-
-
-//        List<GraphQLNamedType> allTypesAsList = graphQLSchema.getAllTypesAsList();
-//        allTypesAsList.forEach(t->{
-//            System.out.println(t.getName());
-//        });
-
-        assertTrue(graphQLSchema.containsType("gqltestdomain_E1"));
-        assertTrue(graphQLSchema.containsType("gqltestdomain_E2"));
-        assertTrue(graphQLSchema.containsType("gqltestdomain_GQLTestDomainMenu"));
-        assertTrue(graphQLSchema.containsType("_gql_input__gqltestdomain_E1"));
-        assertTrue(graphQLSchema.containsType("_gql_input__gqltestdomain_E2"));
-
-        GraphQLType gqltestdomain_e1 = graphQLSchema.getType("gqltestdomain_E1");
-        List<GraphQLSchemaElement> children = gqltestdomain_e1.getChildren();
-        assertEquals(3, children.size());
-
-        GraphQLObjectType gqltestdomain_e2 = (GraphQLObjectType) graphQLSchema.getType("gqltestdomain_E2");
-        List<GraphQLFieldDefinition> fields = gqltestdomain_e2.getFields();
-        assertEquals(10, fields.size());
-
-        GraphQLFieldDefinition f6 = fields.get(5);
-        assertEquals("otherE2List", f6.getName());
-        Class<? extends GraphQLOutputType> f6TypeClass = f6.getType().getClass();
-        assertEquals(GraphQLList.class, f6TypeClass);
-        GraphQLList list = (GraphQLList) f6.getType();
-        GraphQLTypeReference originalWrappedType = (GraphQLTypeReference) list.getOriginalWrappedType();
-        assertEquals(originalWrappedType.getName(), gqltestdomain_e2.getName());
-
-        GraphQLFieldDefinition f7 = fields.get(6);
-        assertEquals("stringList", f7.getName());
-        Class<? extends GraphQLOutputType> f7TypeClass = f7.getType().getClass();
-        assertEquals(GraphQLList.class, f7TypeClass);
-        GraphQLList list2 = (GraphQLList) f7.getType();
-        GraphQLScalarType originalWrappedType2 = (GraphQLScalarType) list2.getOriginalWrappedType();
-        assertEquals(Scalars.GraphQLString, originalWrappedType2);
-
-        GraphQLFieldDefinition f8 = fields.get(7);
-        assertEquals("zintList", f8.getName());
-        Class<? extends GraphQLOutputType> f8TypeClass = f8.getType().getClass();
-        assertEquals(GraphQLList.class, f8TypeClass);
-        GraphQLList list3 = (GraphQLList) f8.getType();
-        GraphQLScalarType originalWrappedType3 = (GraphQLScalarType) list3.getOriginalWrappedType();
-        assertEquals(Scalars.GraphQLInt, originalWrappedType3);
-
-        GraphQLFieldDefinition f9 = fields.get(8);
-        assertEquals("otherEntities", f9.getName());
-        Class<? extends GraphQLOutputType> f9TypeClass = f9.getType().getClass();
-        assertEquals(GraphQLList.class, f9TypeClass);
-        GraphQLList list4 = (GraphQLList) f9.getType();
-        GraphQLTypeReference originalWrappedType4 = (GraphQLTypeReference) list4.getOriginalWrappedType();
-        assertEquals("org_apache_causeway_viewer_graphql_viewer_source_gqltestdomain_TestEntity", originalWrappedType4.getName());
-
-        GraphQLFieldDefinition f10 = fields.get(9);
-        assertEquals("_gql_mutations", f10.getName());
-        GraphQLObjectType mutationType = (GraphQLObjectType) f10.getType();
-        assertEquals("gqltestdomain_E2__DomainObject_mutators", mutationType.getName());
-        assertEquals(1, mutationType.getFields().size());
-        GraphQLFieldDefinition graphQLFieldDefinition = mutationType.getFields().get(0);
-        assertEquals("changeDeptHead",graphQLFieldDefinition.getName());
-        GraphQLArgument mutatorArgument = graphQLFieldDefinition.getArgument("e1");
-
-        GraphQLType gqltestdomain_e1__domainObject_meta = graphQLSchema.getType("gqltestdomain_E1__DomainObject_meta");
-        List<GraphQLSchemaElement> children1 = gqltestdomain_e1__domainObject_meta.getChildren();
-        assertEquals(3, children1.size());
-
-        GraphQLCodeRegistry codeRegistry = graphQLSchema.getCodeRegistry();
-        assertNotNull(codeRegistry);
-
-        // example of data fetches registered
-        assertTrue(codeRegistry.hasDataFetcher(FieldCoordinates.coordinates("gqltestdomain_E1", "e2")));
-        DataFetcher<?> dataFetcher = codeRegistry.getDataFetcher(FieldCoordinates.coordinates("gqltestdomain_E1", "e2"), (GraphQLFieldDefinition) gqltestdomain_e1.getChildren().get(0));
-        assertNotNull(dataFetcher);
-    }
-
-}