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


The following commit(s) were added to refs/heads/CAUSEWAY-3676 by this push:
     new 954f7538d8 CAUSEWAY-3676: adds support for title etc
954f7538d8 is described below

commit 954f7538d89f652a306b1e2eadcdef3d646339fd
Author: danhaywood <[email protected]>
AuthorDate: Tue Feb 13 18:17:55 2024 +0000

    CAUSEWAY-3676: adds support for title etc
---
 core/metamodel/src/main/java/module-info.java      |   2 +
 .../object/support/ObjectSupportFacetFactory.java  |   4 +-
 .../viewer/graphql/model/domain/GqlvMeta.java      |  96 +++++++++--
 .../graphql/model/domain/GqlvMetaCssClass.java     |  42 +++++
 .../viewer/graphql/model/domain/GqlvMetaGrid.java  |  42 +++++
 .../graphql/model/domain/GqlvMetaIconName.java     |  42 +++++
 .../graphql/model/domain/GqlvMetaLayout.java       |  42 +++++
 .../viewer/graphql/model/domain/GqlvMetaTitle.java |  42 +++++
 ...eate_staff_member_with_department.approved.json |  20 ---
 ...dmin_IntegTest.action_with_disabled_param._.gql |   0
 ...egTest.action_with_disabled_param.approved.json |   0
 .../Admin_IntegTest.action_with_hidden_param._.gql |   0
 ...ntegTest.action_with_hidden_param.approved.json |   0
 .../Admin_IntegTest.admin_action._.gql             |   0
 .../Admin_IntegTest.admin_action.approved.json     |   0
 .../Admin_IntegTest.java                           |   2 +-
 .../Admin_IntegTest.other_admin_action._.gql       |   0
 ...dmin_IntegTest.other_admin_action.approved.json |   0
 .../Calculator_IntegTest.add_big_decimals._.gql    |   0
 ...ulator_IntegTest.add_big_decimals.approved.json |   0
 .../Calculator_IntegTest.add_big_integers._.gql    |   0
 ...ulator_IntegTest.add_big_integers.approved.json |   0
 .../Calculator_IntegTest.add_double_wrappers._.gql |   0
 ...tor_IntegTest.add_double_wrappers.approved.json |   0
 .../Calculator_IntegTest.add_doubles._.gql         |   0
 .../Calculator_IntegTest.add_doubles.approved.json |   0
 .../Calculator_IntegTest.add_float_wrappers._.gql  |   0
 ...ator_IntegTest.add_float_wrappers.approved.json |   0
 .../Calculator_IntegTest.add_floats._.gql          |   0
 .../Calculator_IntegTest.add_floats.approved.json  |   0
 ...Calculator_IntegTest.add_integer_wrappers._.gql |   0
 ...or_IntegTest.add_integer_wrappers.approved.json |   0
 .../Calculator_IntegTest.add_integers._.gql        |   0
 ...Calculator_IntegTest.add_integers.approved.json |   0
 .../Calculator_IntegTest.boolean_and_1._.gql       |   0
 ...alculator_IntegTest.boolean_and_1.approved.json |   0
 .../Calculator_IntegTest.boolean_and_2._.gql       |   0
 ...alculator_IntegTest.boolean_and_2.approved.json |   0
 .../Calculator_IntegTest.boolean_not._.gql         |   0
 .../Calculator_IntegTest.boolean_not.approved.json |   0
 .../Calculator_IntegTest.boolean_or_1._.gql        |   0
 ...Calculator_IntegTest.boolean_or_1.approved.json |   0
 .../Calculator_IntegTest.boolean_or_2._.gql        |   0
 ...Calculator_IntegTest.boolean_or_2.approved.json |   0
 .../Calculator_IntegTest.concat._.gql              |   0
 .../Calculator_IntegTest.concat.approved.json      |   0
 .../Calculator_IntegTest.java                      |   2 +-
 .../Calculator_IntegTest.next_month._.gql          |   0
 .../Calculator_IntegTest.next_month.approved.json  |   0
 .../Calculator_IntegTest.plus_days._.gql           |   0
 .../Calculator_IntegTest.plus_days.approved.json   |   0
 .../Calculator_IntegTest.plus_joda_days._.gql      |   0
 ...lculator_IntegTest.plus_joda_days.approved.json |   0
 ...tegTest.change_department_name_visibility._.gql |   0
 ...change_department_name_visibility.approved.json |   0
 .../DepartmentMutating_IntegTest.java              |   2 +-
 .../Department_IntegTest.create_department._.gql   |   0
 ...tment_IntegTest.create_department.approved.json |   0
 ...est.create_department_name_param_disabled._.gql |   0
 ...te_department_name_param_disabled.approved.json |   0
 ...Department_IntegTest.find_all_departments._.gql |   0
 ...nt_IntegTest.find_all_departments.approved.json |   0
 ..._department_and_add_staff_members._.choices.gql |   0
 ...d_department_and_add_staff_members._.invoke.gql |   0
 ..._department_and_add_staff_members.approved.json |   0
 ...d_department_and_change_head_autocomplete._.gql |   0
 ...ment_and_change_head_autocomplete.approved.json |   0
 ...t.find_department_and_change_head_default._.gql |   0
 ...epartment_and_change_head_default.approved.json |   0
 ...t.find_department_and_change_name_invalid._.gql |   0
 ...epartment_and_change_name_invalid.approved.json |   0
 ...ind_department_and_edit_head_autocomplete._.gql |   0
 ...rtment_and_edit_head_autocomplete.approved.json |   0
 ..._and_edit_head_autocomplete_none_matching._.gql |   0
 ...t_head_autocomplete_none_matching.approved.json |   0
 ...epartment_and_remove_staff_member_choices._.gql |   0
 ...t_and_remove_staff_member_choices.approved.json |   0
 ...artment_IntegTest.find_department_by_name._.gql |   0
 ...IntegTest.find_department_by_name.approved.json |   0
 .../Department_IntegTest.java                      |   3 +-
 ...Mutating_IntegTest.change_department_name._.gql |   0
 ..._IntegTest.change_department_name.approved.json |   0
 ...tHeadMutating_IntegTest.create_department._.gql |   0
 ...ating_IntegTest.create_department.approved.json |   0
 .../DeptHeadMutating_IntegTest.java                |   2 +-
 ...d_IntegTest.find_depthead_and_change_name._.gql |   0
 ...est.find_depthead_and_change_name.approved.json |   0
 ...est.find_depthead_and_change_name_invalid._.gql |   0
 ..._depthead_and_change_name_invalid.approved.json |   0
 ...d_depthead_and_change_name_invoke_invalid._.gql |   0
 ...ad_and_change_name_invoke_invalid.approved.json |   0
 .../DeptHead_IntegTest.find_depthead_by_name._.gql |   0
 ...d_IntegTest.find_depthead_by_name.approved.json |   0
 .../DeptHead_IntegTest.java                        |   3 +-
 .../StaffMutating_IntegTest.java                   |   2 +-
 ...Mutating_IntegTest.staff_member_edit_name._.gql |   0
 ..._IntegTest.staff_member_edit_name.approved.json |   0
 ...gTest.create_staff_member_with_department._.gql |   8 +
 ...eate_staff_member_with_department.approved.json |  28 ++++
 ...egTest.find_staff_member_by_name_and_edit._.gql |   0
 ...ind_staff_member_by_name_and_edit.approved.json |   0
 ...aff_member_by_name_and_edit_grade_choices._.gql |   0
 ...er_by_name_and_edit_grade_choices.approved.json |   0
 .../Staff_IntegTest.java                           |   3 +-
 .../Staff_IntegTest.list_all_staff_members._.gql   |   0
 ..._IntegTest.list_all_staff_members.approved.json |   0
 ..._IntegTest.staff_member_name_edit_invalid._.gql |   0
 ...st.staff_member_name_edit_invalid.approved.json |   0
 ...taff_IntegTest.staff_member_name_validate._.gql |   0
 ...egTest.staff_member_name_validate.approved.json |   0
 viewers/graphql/test/src/test/resources/schema.gql | 185 +++++++++++++++++++++
 111 files changed, 529 insertions(+), 43 deletions(-)

diff --git a/core/metamodel/src/main/java/module-info.java 
b/core/metamodel/src/main/java/module-info.java
index 53e1ee6924..e3f8907630 100644
--- a/core/metamodel/src/main/java/module-info.java
+++ b/core/metamodel/src/main/java/module-info.java
@@ -143,6 +143,8 @@ open module org.apache.causeway.core.metamodel {
     exports org.apache.causeway.core.metamodel.valuetypes;
     exports org.apache.causeway.core.metamodel.facets.object.tabledec to 
org.apache.causeway.viewer.wicket.ui;
     exports org.apache.causeway.core.metamodel.services.grid.spi;
+    exports org.apache.causeway.core.metamodel.facets.object.layout;
+    exports org.apache.causeway.core.metamodel.facets.all.hide;
 
     requires jakarta.activation;
     requires java.annotation;
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/support/ObjectSupportFacetFactory.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/support/ObjectSupportFacetFactory.java
index 89ba4a34bc..5c564c8e45 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/support/ObjectSupportFacetFactory.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/support/ObjectSupportFacetFactory.java
@@ -129,7 +129,7 @@ extends MethodPrefixBasedFacetFactoryAbstract {
     private void processObjectSupport(
             final ProcessClassContext processClassContext,
             final ObjectSupportMethod objectSupportMethodEnum,
-            final BiFunction<ResolvedMethod, FacetHolder, Optional<? extends 
Facet>> ojectSupportFacetConstructor) {
+            final BiFunction<ResolvedMethod, FacetHolder, Optional<? extends 
Facet>> objectSupportFacetConstructor) {
 
         MethodFinder
         .objectSupport(
@@ -140,7 +140,7 @@ extends MethodPrefixBasedFacetFactoryAbstract {
         .streamMethodsMatchingSignature(NO_ARG)
         .peek(processClassContext::removeMethod)
         .forEach(method->{
-            addFacetIfPresent(ojectSupportFacetConstructor
+            addFacetIfPresent(objectSupportFacetConstructor
                     .apply(method, processClassContext.getFacetHolder()));
         });
     }
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMeta.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMeta.java
index e914eb18c5..7b140d9a12 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMeta.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMeta.java
@@ -24,7 +24,12 @@ import java.util.Optional;
 import org.apache.causeway.applib.services.bookmark.Bookmark;
 import org.apache.causeway.applib.services.bookmark.BookmarkService;
 import org.apache.causeway.applib.services.metamodel.BeanSort;
+import org.apache.causeway.commons.io.JaxbUtils;
+import 
org.apache.causeway.core.metamodel.facets.members.cssclass.CssClassFacet;
 import org.apache.causeway.core.metamodel.facets.object.entity.EntityFacet;
+import org.apache.causeway.core.metamodel.facets.object.grid.GridFacet;
+import org.apache.causeway.core.metamodel.facets.object.layout.LayoutFacet;
+import org.apache.causeway.core.metamodel.object.ManagedObject;
 import org.apache.causeway.core.metamodel.objectmanager.ObjectManager;
 import org.apache.causeway.viewer.graphql.model.context.Context;
 import 
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationProvider;
@@ -38,6 +43,11 @@ public class GqlvMeta extends GqlvAbstractCustom {
     private final GqlvMetaId metaId;
     private final GqlvMetaLogicalTypeName metaLogicalTypeName;
     private final GqlvMetaVersion metaVersion;
+    private final GqlvMetaTitle metaTitle;
+    private final GqlvMetaIconName metaIconName;
+    private final GqlvMetaCssClass metaCssClass;
+    private final GqlvMetaLayout metaLayout;
+    private final GqlvMetaGrid metaGrid;
     private final GqlvMetaSaveAs metaSaveAs;
 
     public GqlvMeta(
@@ -60,6 +70,21 @@ public class GqlvMeta extends GqlvAbstractCustom {
             metaVersion = null;
         }
 
+        metaTitle = new GqlvMetaTitle(context);
+        addChildField(metaTitle.getField());
+
+        metaIconName = new GqlvMetaIconName(context);
+        addChildField(metaIconName.getField());
+
+        metaCssClass = new GqlvMetaCssClass(context);
+        addChildField(metaCssClass.getField());
+
+        metaLayout = new GqlvMetaLayout(context);
+        addChildField(metaLayout.getField());
+
+        metaGrid = new GqlvMetaGrid(context);
+        addChildField(metaGrid.getField());
+
         metaSaveAs = new GqlvMetaSaveAs(context);
         addChildField(metaSaveAs.getField());
 
@@ -74,6 +99,11 @@ public class GqlvMeta extends GqlvAbstractCustom {
         if (holder.getObjectSpecification().getBeanSort() == BeanSort.ENTITY) {
             metaVersion.addDataFetcher(this);
         }
+        metaTitle.addDataFetcher(this);
+        metaIconName.addDataFetcher(this);
+        metaCssClass.addDataFetcher(this);
+        metaLayout.addDataFetcher(this);
+        metaGrid.addDataFetcher(this);
         metaSaveAs.addDataFetcher(this);
     }
 
@@ -112,22 +142,68 @@ public class GqlvMeta extends GqlvAbstractCustom {
         }
 
         public String version(){
-            Object domainObject = 
bookmarkService.lookup(bookmark).orElse(null);
-            if (domainObject == null) {
-                return null;
-            }
-            EntityFacet entityFacet = 
objectManager.adapt(domainObject).getSpecification().getFacet(EntityFacet.class);
-            return Optional.ofNullable(entityFacet)
-                    .map(x -> x.versionOf(domainObject))
-                    .filter(Objects::nonNull)
-                    .map(Object::toString)
-                    .orElse(null);
+            return managedObject()
+                    .map(managedObject -> {
+                        val domainPojo = managedObject.getPojo();
+                        val entityFacet = 
managedObject.getSpecification().getFacet(EntityFacet.class);
+                        if (entityFacet != null) {
+                            val object = entityFacet.versionOf(domainPojo);
+                            return object != null ? object.toString() : null;
+                        } else {
+                            return null;
+                        }
+                    }).orElse(null);
         }
 
         public Bookmark bookmark() {
             return bookmark;
         }
 
+        public String title() {
+            return managedObject()
+                    .map(ManagedObject::getTitle)
+                    .orElse(null);
+        }
+
+        public String iconName() {
+            return managedObject()
+                    .map(ManagedObject::getIconName)
+                    .orElse(null);
+        }
+
+        public String cssClass() {
+            return managedObject()
+                    .map(managedObject -> {
+                        val facet = 
managedObject.getSpecification().getFacet(CssClassFacet.class);
+                        return facet != null ? facet.cssClass(managedObject) : 
null;
+                    })
+                    .orElse(null);
+        }
+
+        public String layout() {
+            return managedObject()
+                    .map(managedObject -> {
+                        val facet = 
managedObject.getSpecification().getFacet(LayoutFacet.class);
+                        return facet != null ? facet.layout(managedObject) : 
null;
+                    })
+                    .orElse(null);
+        }
+
+        public String grid() {
+            return managedObject()
+                    .map(managedObject -> {
+                        val facet = 
managedObject.getSpecification().getFacet(GridFacet.class);
+                        return facet != null ? facet.getGrid(managedObject) : 
null;
+                    })
+                    .filter(Objects::nonNull)
+                    .map(JaxbUtils::toStringUtf8)
+                    .orElse(null);
+        }
+
+        private Optional<ManagedObject> managedObject() {
+            return bookmarkService.lookup(bookmark)
+                    .map(objectManager::adapt);
+        }
     }
 
     public interface Holder
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMetaCssClass.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMetaCssClass.java
new file mode 100644
index 0000000000..9d0c788a8d
--- /dev/null
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMetaCssClass.java
@@ -0,0 +1,42 @@
+/*
+ *  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.model.domain;
+
+import graphql.Scalars;
+import graphql.schema.DataFetchingEnvironment;
+
+import static graphql.schema.GraphQLFieldDefinition.newFieldDefinition;
+import static graphql.schema.GraphQLNonNull.nonNull;
+
+import org.apache.causeway.viewer.graphql.model.context.Context;
+
+public class GqlvMetaCssClass extends GqlvAbstract {
+
+    public GqlvMetaCssClass(final Context context) {
+        super(context);
+
+        
setField(newFieldDefinition().name("cssClass").type(Scalars.GraphQLString).build());
+    }
+
+    @Override
+    protected String fetchData(DataFetchingEnvironment environment) {
+        return environment.<GqlvMeta.Fetcher>getSource().cssClass();
+    }
+
+}
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMetaGrid.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMetaGrid.java
new file mode 100644
index 0000000000..555d80a8c7
--- /dev/null
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMetaGrid.java
@@ -0,0 +1,42 @@
+/*
+ *  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.model.domain;
+
+import graphql.Scalars;
+import graphql.schema.DataFetchingEnvironment;
+
+import static graphql.schema.GraphQLFieldDefinition.newFieldDefinition;
+import static graphql.schema.GraphQLNonNull.nonNull;
+
+import org.apache.causeway.viewer.graphql.model.context.Context;
+
+public class GqlvMetaGrid extends GqlvAbstract {
+
+    public GqlvMetaGrid(final Context context) {
+        super(context);
+
+        
setField(newFieldDefinition().name("grid").type(Scalars.GraphQLString).build());
+    }
+
+    @Override
+    protected String fetchData(DataFetchingEnvironment environment) {
+        return environment.<GqlvMeta.Fetcher>getSource().grid();
+    }
+
+}
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMetaIconName.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMetaIconName.java
new file mode 100644
index 0000000000..b95cace913
--- /dev/null
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMetaIconName.java
@@ -0,0 +1,42 @@
+/*
+ *  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.model.domain;
+
+import graphql.Scalars;
+import graphql.schema.DataFetchingEnvironment;
+
+import static graphql.schema.GraphQLFieldDefinition.newFieldDefinition;
+import static graphql.schema.GraphQLNonNull.nonNull;
+
+import org.apache.causeway.viewer.graphql.model.context.Context;
+
+public class GqlvMetaIconName extends GqlvAbstract {
+
+    public GqlvMetaIconName(final Context context) {
+        super(context);
+
+        
setField(newFieldDefinition().name("iconName").type(Scalars.GraphQLString).build());
+    }
+
+    @Override
+    protected String fetchData(DataFetchingEnvironment environment) {
+        return environment.<GqlvMeta.Fetcher>getSource().iconName();
+    }
+
+}
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMetaLayout.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMetaLayout.java
new file mode 100644
index 0000000000..472ccf887f
--- /dev/null
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMetaLayout.java
@@ -0,0 +1,42 @@
+/*
+ *  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.model.domain;
+
+import graphql.Scalars;
+import graphql.schema.DataFetchingEnvironment;
+
+import static graphql.schema.GraphQLFieldDefinition.newFieldDefinition;
+import static graphql.schema.GraphQLNonNull.nonNull;
+
+import org.apache.causeway.viewer.graphql.model.context.Context;
+
+public class GqlvMetaLayout extends GqlvAbstract {
+
+    public GqlvMetaLayout(final Context context) {
+        super(context);
+
+        
setField(newFieldDefinition().name("layout").type(Scalars.GraphQLString).build());
+    }
+
+    @Override
+    protected String fetchData(DataFetchingEnvironment environment) {
+        return environment.<GqlvMeta.Fetcher>getSource().layout();
+    }
+
+}
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMetaTitle.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMetaTitle.java
new file mode 100644
index 0000000000..7072e16929
--- /dev/null
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMetaTitle.java
@@ -0,0 +1,42 @@
+/*
+ *  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.model.domain;
+
+import graphql.Scalars;
+import graphql.schema.DataFetchingEnvironment;
+
+import static graphql.schema.GraphQLFieldDefinition.newFieldDefinition;
+import static graphql.schema.GraphQLNonNull.nonNull;
+
+import org.apache.causeway.viewer.graphql.model.context.Context;
+
+public class GqlvMetaTitle extends GqlvAbstract {
+
+    public GqlvMetaTitle(final Context context) {
+        super(context);
+
+        
setField(newFieldDefinition().name("title").type(nonNull(Scalars.GraphQLString)).build());
+    }
+
+    @Override
+    protected String fetchData(DataFetchingEnvironment environment) {
+        return environment.<GqlvMeta.Fetcher>getSource().title();
+    }
+
+}
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Staff_IntegTest.create_staff_member_with_department.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Staff_IntegTest.create_staff_member_with_department.approved.json
deleted file mode 100644
index 1b1ab53dad..0000000000
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Staff_IntegTest.create_staff_member_with_department.approved.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-  "data" : {
-    "university_dept_Staff" : {
-      "createStaffMember" : {
-        "invokeNonIdempotent" : {
-          "name" : {
-            "get" : "Dr. Georgina McGovern"
-          },
-          "department" : {
-            "get" : {
-              "name" : {
-                "get" : "Classics"
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-}
\ No newline at end of file
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Admin_IntegTest.action_with_disabled_param._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Admin_IntegTest.action_with_disabled_param._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Admin_IntegTest.action_with_disabled_param._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Admin_IntegTest.action_with_disabled_param._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Admin_IntegTest.action_with_disabled_param.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Admin_IntegTest.action_with_disabled_param.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Admin_IntegTest.action_with_disabled_param.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Admin_IntegTest.action_with_disabled_param.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Admin_IntegTest.action_with_hidden_param._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Admin_IntegTest.action_with_hidden_param._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Admin_IntegTest.action_with_hidden_param._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Admin_IntegTest.action_with_hidden_param._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Admin_IntegTest.action_with_hidden_param.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Admin_IntegTest.action_with_hidden_param.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Admin_IntegTest.action_with_hidden_param.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Admin_IntegTest.action_with_hidden_param.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Admin_IntegTest.admin_action._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Admin_IntegTest.admin_action._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Admin_IntegTest.admin_action._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Admin_IntegTest.admin_action._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Admin_IntegTest.admin_action.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Admin_IntegTest.admin_action.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Admin_IntegTest.admin_action.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Admin_IntegTest.admin_action.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Admin_IntegTest.java
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Admin_IntegTest.java
similarity index 99%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Admin_IntegTest.java
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Admin_IntegTest.java
index 776df361a9..995970585f 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Admin_IntegTest.java
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Admin_IntegTest.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.viewer.test.e2e.query;
+package org.apache.causeway.viewer.graphql.viewer.test.e2e.queryandmutations;
 
 import org.apache.causeway.viewer.graphql.viewer.test.e2e.Abstract_IntegTest;
 
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Admin_IntegTest.other_admin_action._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Admin_IntegTest.other_admin_action._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Admin_IntegTest.other_admin_action._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Admin_IntegTest.other_admin_action._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Admin_IntegTest.other_admin_action.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Admin_IntegTest.other_admin_action.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Admin_IntegTest.other_admin_action.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Admin_IntegTest.other_admin_action.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.add_big_decimals._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.add_big_decimals._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.add_big_decimals._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.add_big_decimals._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.add_big_decimals.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.add_big_decimals.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.add_big_decimals.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.add_big_decimals.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.add_big_integers._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.add_big_integers._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.add_big_integers._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.add_big_integers._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.add_big_integers.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.add_big_integers.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.add_big_integers.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.add_big_integers.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.add_double_wrappers._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.add_double_wrappers._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.add_double_wrappers._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.add_double_wrappers._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.add_double_wrappers.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.add_double_wrappers.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.add_double_wrappers.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.add_double_wrappers.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.add_doubles._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.add_doubles._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.add_doubles._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.add_doubles._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.add_doubles.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.add_doubles.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.add_doubles.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.add_doubles.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.add_float_wrappers._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.add_float_wrappers._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.add_float_wrappers._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.add_float_wrappers._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.add_float_wrappers.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.add_float_wrappers.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.add_float_wrappers.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.add_float_wrappers.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.add_floats._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.add_floats._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.add_floats._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.add_floats._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.add_floats.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.add_floats.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.add_floats.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.add_floats.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.add_integer_wrappers._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.add_integer_wrappers._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.add_integer_wrappers._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.add_integer_wrappers._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.add_integer_wrappers.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.add_integer_wrappers.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.add_integer_wrappers.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.add_integer_wrappers.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.add_integers._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.add_integers._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.add_integers._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.add_integers._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.add_integers.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.add_integers.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.add_integers.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.add_integers.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.boolean_and_1._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.boolean_and_1._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.boolean_and_1._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.boolean_and_1._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.boolean_and_1.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.boolean_and_1.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.boolean_and_1.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.boolean_and_1.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.boolean_and_2._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.boolean_and_2._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.boolean_and_2._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.boolean_and_2._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.boolean_and_2.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.boolean_and_2.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.boolean_and_2.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.boolean_and_2.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.boolean_not._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.boolean_not._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.boolean_not._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.boolean_not._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.boolean_not.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.boolean_not.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.boolean_not.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.boolean_not.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.boolean_or_1._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.boolean_or_1._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.boolean_or_1._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.boolean_or_1._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.boolean_or_1.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.boolean_or_1.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.boolean_or_1.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.boolean_or_1.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.boolean_or_2._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.boolean_or_2._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.boolean_or_2._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.boolean_or_2._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.boolean_or_2.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.boolean_or_2.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.boolean_or_2.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.boolean_or_2.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.concat._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.concat._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.concat._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.concat._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.concat.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.concat.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.concat.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.concat.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.java
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.java
similarity index 99%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.java
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.java
index bdfc29a56d..91ec5c659d 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.java
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.viewer.test.e2e.query;
+package org.apache.causeway.viewer.graphql.viewer.test.e2e.queryandmutations;
 
 import org.apache.causeway.viewer.graphql.viewer.test.e2e.Abstract_IntegTest;
 
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.next_month._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.next_month._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.next_month._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.next_month._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.next_month.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.next_month.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.next_month.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.next_month.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.plus_days._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.plus_days._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.plus_days._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.plus_days._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.plus_days.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.plus_days.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.plus_days.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.plus_days.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.plus_joda_days._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.plus_joda_days._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.plus_joda_days._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.plus_joda_days._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.plus_joda_days.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.plus_joda_days.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Calculator_IntegTest.plus_joda_days.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Calculator_IntegTest.plus_joda_days.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/DepartmentMutating_IntegTest.change_department_name_visibility._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/DepartmentMutating_IntegTest.change_department_name_visibility._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/DepartmentMutating_IntegTest.change_department_name_visibility._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/DepartmentMutating_IntegTest.change_department_name_visibility._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/DepartmentMutating_IntegTest.change_department_name_visibility.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/DepartmentMutating_IntegTest.change_department_name_visibility.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/DepartmentMutating_IntegTest.change_department_name_visibility.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/DepartmentMutating_IntegTest.change_department_name_visibility.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/DepartmentMutating_IntegTest.java
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/DepartmentMutating_IntegTest.java
similarity index 99%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/DepartmentMutating_IntegTest.java
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/DepartmentMutating_IntegTest.java
index 75f2b8a779..01cb0a8c6e 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/DepartmentMutating_IntegTest.java
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/DepartmentMutating_IntegTest.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.viewer.test.e2e.query_and_mutations;
+package org.apache.causeway.viewer.graphql.viewer.test.e2e.queryandmutations;
 
 import java.util.Optional;
 
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.create_department._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.create_department._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.create_department._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.create_department._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.create_department.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.create_department.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.create_department.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.create_department.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.create_department_name_param_disabled._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.create_department_name_param_disabled._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.create_department_name_param_disabled._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.create_department_name_param_disabled._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.create_department_name_param_disabled.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.create_department_name_param_disabled.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.create_department_name_param_disabled.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.create_department_name_param_disabled.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.find_all_departments._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.find_all_departments._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.find_all_departments._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.find_all_departments._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.find_all_departments.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.find_all_departments.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.find_all_departments.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.find_all_departments.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.find_department_and_add_staff_members._.choices.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.find_department_and_add_staff_members._.choices.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.find_department_and_add_staff_members._.choices.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.find_department_and_add_staff_members._.choices.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.find_department_and_add_staff_members._.invoke.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.find_department_and_add_staff_members._.invoke.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.find_department_and_add_staff_members._.invoke.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.find_department_and_add_staff_members._.invoke.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.find_department_and_add_staff_members.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.find_department_and_add_staff_members.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.find_department_and_add_staff_members.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.find_department_and_add_staff_members.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.find_department_and_change_head_autocomplete._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.find_department_and_change_head_autocomplete._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.find_department_and_change_head_autocomplete._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.find_department_and_change_head_autocomplete._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.find_department_and_change_head_autocomplete.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.find_department_and_change_head_autocomplete.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.find_department_and_change_head_autocomplete.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.find_department_and_change_head_autocomplete.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.find_department_and_change_head_default._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.find_department_and_change_head_default._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.find_department_and_change_head_default._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.find_department_and_change_head_default._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.find_department_and_change_head_default.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.find_department_and_change_head_default.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.find_department_and_change_head_default.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.find_department_and_change_head_default.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.find_department_and_change_name_invalid._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.find_department_and_change_name_invalid._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.find_department_and_change_name_invalid._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.find_department_and_change_name_invalid._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.find_department_and_change_name_invalid.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.find_department_and_change_name_invalid.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.find_department_and_change_name_invalid.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.find_department_and_change_name_invalid.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.find_department_and_edit_head_autocomplete._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.find_department_and_edit_head_autocomplete._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.find_department_and_edit_head_autocomplete._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.find_department_and_edit_head_autocomplete._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.find_department_and_edit_head_autocomplete.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.find_department_and_edit_head_autocomplete.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.find_department_and_edit_head_autocomplete.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.find_department_and_edit_head_autocomplete.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.find_department_and_edit_head_autocomplete_none_matching._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.find_department_and_edit_head_autocomplete_none_matching._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.find_department_and_edit_head_autocomplete_none_matching._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.find_department_and_edit_head_autocomplete_none_matching._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.find_department_and_edit_head_autocomplete_none_matching.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.find_department_and_edit_head_autocomplete_none_matching.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.find_department_and_edit_head_autocomplete_none_matching.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.find_department_and_edit_head_autocomplete_none_matching.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.find_department_and_remove_staff_member_choices._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.find_department_and_remove_staff_member_choices._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.find_department_and_remove_staff_member_choices._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.find_department_and_remove_staff_member_choices._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.find_department_and_remove_staff_member_choices.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.find_department_and_remove_staff_member_choices.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.find_department_and_remove_staff_member_choices.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.find_department_and_remove_staff_member_choices.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.find_department_by_name._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.find_department_by_name._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.find_department_by_name._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.find_department_by_name._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.find_department_by_name.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.find_department_by_name.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.find_department_by_name.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.find_department_by_name.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.java
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.java
similarity index 99%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.java
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.java
index 34945e9656..cb97f92191 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Department_IntegTest.java
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Department_IntegTest.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.viewer.test.e2e.query;
+package org.apache.causeway.viewer.graphql.viewer.test.e2e.queryandmutations;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -35,7 +35,6 @@ import org.junit.jupiter.api.Test;
 
 import static org.assertj.core.api.AssertionsForInterfaceTypes.assertThat;
 
-import org.springframework.test.annotation.DirtiesContext;
 import org.springframework.test.context.ActiveProfiles;
 import org.springframework.transaction.annotation.Propagation;
 
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/DeptHeadMutating_IntegTest.change_department_name._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/DeptHeadMutating_IntegTest.change_department_name._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/DeptHeadMutating_IntegTest.change_department_name._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/DeptHeadMutating_IntegTest.change_department_name._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/DeptHeadMutating_IntegTest.change_department_name.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/DeptHeadMutating_IntegTest.change_department_name.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/DeptHeadMutating_IntegTest.change_department_name.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/DeptHeadMutating_IntegTest.change_department_name.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/DeptHeadMutating_IntegTest.create_department._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/DeptHeadMutating_IntegTest.create_department._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/DeptHeadMutating_IntegTest.create_department._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/DeptHeadMutating_IntegTest.create_department._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/DeptHeadMutating_IntegTest.create_department.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/DeptHeadMutating_IntegTest.create_department.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/DeptHeadMutating_IntegTest.create_department.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/DeptHeadMutating_IntegTest.create_department.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/DeptHeadMutating_IntegTest.java
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/DeptHeadMutating_IntegTest.java
similarity index 99%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/DeptHeadMutating_IntegTest.java
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/DeptHeadMutating_IntegTest.java
index 8af700f5b5..974adda8bd 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/DeptHeadMutating_IntegTest.java
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/DeptHeadMutating_IntegTest.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.viewer.test.e2e.query_and_mutations;
+package org.apache.causeway.viewer.graphql.viewer.test.e2e.queryandmutations;
 
 import java.util.Optional;
 
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/DeptHead_IntegTest.find_depthead_and_change_name._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/DeptHead_IntegTest.find_depthead_and_change_name._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/DeptHead_IntegTest.find_depthead_and_change_name._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/DeptHead_IntegTest.find_depthead_and_change_name._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/DeptHead_IntegTest.find_depthead_and_change_name.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/DeptHead_IntegTest.find_depthead_and_change_name.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/DeptHead_IntegTest.find_depthead_and_change_name.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/DeptHead_IntegTest.find_depthead_and_change_name.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/DeptHead_IntegTest.find_depthead_and_change_name_invalid._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/DeptHead_IntegTest.find_depthead_and_change_name_invalid._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/DeptHead_IntegTest.find_depthead_and_change_name_invalid._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/DeptHead_IntegTest.find_depthead_and_change_name_invalid._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/DeptHead_IntegTest.find_depthead_and_change_name_invalid.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/DeptHead_IntegTest.find_depthead_and_change_name_invalid.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/DeptHead_IntegTest.find_depthead_and_change_name_invalid.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/DeptHead_IntegTest.find_depthead_and_change_name_invalid.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/DeptHead_IntegTest.find_depthead_and_change_name_invoke_invalid._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/DeptHead_IntegTest.find_depthead_and_change_name_invoke_invalid._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/DeptHead_IntegTest.find_depthead_and_change_name_invoke_invalid._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/DeptHead_IntegTest.find_depthead_and_change_name_invoke_invalid._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/DeptHead_IntegTest.find_depthead_and_change_name_invoke_invalid.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/DeptHead_IntegTest.find_depthead_and_change_name_invoke_invalid.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/DeptHead_IntegTest.find_depthead_and_change_name_invoke_invalid.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/DeptHead_IntegTest.find_depthead_and_change_name_invoke_invalid.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/DeptHead_IntegTest.find_depthead_by_name._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/DeptHead_IntegTest.find_depthead_by_name._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/DeptHead_IntegTest.find_depthead_by_name._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/DeptHead_IntegTest.find_depthead_by_name._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/DeptHead_IntegTest.find_depthead_by_name.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/DeptHead_IntegTest.find_depthead_by_name.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/DeptHead_IntegTest.find_depthead_by_name.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/DeptHead_IntegTest.find_depthead_by_name.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/DeptHead_IntegTest.java
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/DeptHead_IntegTest.java
similarity index 97%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/DeptHead_IntegTest.java
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/DeptHead_IntegTest.java
index a1f90571ec..360e35f179 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/DeptHead_IntegTest.java
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/DeptHead_IntegTest.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.viewer.test.e2e.query;
+package org.apache.causeway.viewer.graphql.viewer.test.e2e.queryandmutations;
 
 import org.apache.causeway.viewer.graphql.viewer.test.e2e.Abstract_IntegTest;
 
@@ -28,7 +28,6 @@ import org.junit.jupiter.api.Test;
 
 import static org.assertj.core.api.AssertionsForInterfaceTypes.assertThat;
 
-import org.springframework.test.annotation.DirtiesContext;
 import org.springframework.test.context.ActiveProfiles;
 import org.springframework.transaction.annotation.Propagation;
 
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/StaffMutating_IntegTest.java
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/StaffMutating_IntegTest.java
similarity index 99%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/StaffMutating_IntegTest.java
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/StaffMutating_IntegTest.java
index 97b1485079..13799be1c7 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/StaffMutating_IntegTest.java
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/StaffMutating_IntegTest.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.viewer.test.e2e.query_and_mutations;
+package org.apache.causeway.viewer.graphql.viewer.test.e2e.queryandmutations;
 
 import org.approvaltests.Approvals;
 import org.approvaltests.reporters.DiffReporter;
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/StaffMutating_IntegTest.staff_member_edit_name._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/StaffMutating_IntegTest.staff_member_edit_name._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/StaffMutating_IntegTest.staff_member_edit_name._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/StaffMutating_IntegTest.staff_member_edit_name._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/StaffMutating_IntegTest.staff_member_edit_name.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/StaffMutating_IntegTest.staff_member_edit_name.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/StaffMutating_IntegTest.staff_member_edit_name.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/StaffMutating_IntegTest.staff_member_edit_name.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Staff_IntegTest.create_staff_member_with_department._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Staff_IntegTest.create_staff_member_with_department._.gql
similarity index 68%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Staff_IntegTest.create_staff_member_with_department._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Staff_IntegTest.create_staff_member_with_department._.gql
index fc14f7ac4a..b9a967239a 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Staff_IntegTest.create_staff_member_with_department._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Staff_IntegTest.create_staff_member_with_department._.gql
@@ -12,6 +12,14 @@
             }
           }
         }
+        _gqlv_meta {
+          title
+          logicalTypeName
+          version
+          cssClass
+          iconName
+          grid
+        }
       }
     }
   }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Staff_IntegTest.create_staff_member_with_department.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Staff_IntegTest.create_staff_member_with_department.approved.json
new file mode 100644
index 0000000000..40da6db68b
--- /dev/null
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Staff_IntegTest.create_staff_member_with_department.approved.json
@@ -0,0 +1,28 @@
+{
+  "data" : {
+    "university_dept_Staff" : {
+      "createStaffMember" : {
+        "invokeNonIdempotent" : {
+          "name" : {
+            "get" : "Dr. Georgina McGovern"
+          },
+          "department" : {
+            "get" : {
+              "name" : {
+                "get" : "Classics"
+              }
+            }
+          },
+          "_gqlv_meta" : {
+            "title" : "Untitled Staff Member",
+            "logicalTypeName" : "university.dept.StaffMember",
+            "version" : null,
+            "cssClass" : null,
+            "iconName" : null,
+            "grid" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?><bs:grid 
xmlns:bs=\"https://causeway.apache.org/applib/layout/grid/bootstrap3\"; 
xmlns:lnk=\"https://causeway.apache.org/applib/layout/links\"; 
xmlns:cpt=\"https://causeway.apache.org/applib/layout/component\";>\r\n    
<bs:row>\r\n        <bs:col span=\"12\" unreferencedActions=\"true\">\r\n       
     <cpt:domainObject bookmarking=\"AS_ROOT\"/>\r\n        </bs:col>\r\n    
</bs:row>\r\n    <bs:row>\r\n        <bs:col span=\"4\" [...]
+          }
+        }
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Staff_IntegTest.find_staff_member_by_name_and_edit._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Staff_IntegTest.find_staff_member_by_name_and_edit._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Staff_IntegTest.find_staff_member_by_name_and_edit._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Staff_IntegTest.find_staff_member_by_name_and_edit._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Staff_IntegTest.find_staff_member_by_name_and_edit.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Staff_IntegTest.find_staff_member_by_name_and_edit.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Staff_IntegTest.find_staff_member_by_name_and_edit.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Staff_IntegTest.find_staff_member_by_name_and_edit.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Staff_IntegTest.find_staff_member_by_name_and_edit_grade_choices._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Staff_IntegTest.find_staff_member_by_name_and_edit_grade_choices._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Staff_IntegTest.find_staff_member_by_name_and_edit_grade_choices._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Staff_IntegTest.find_staff_member_by_name_and_edit_grade_choices._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Staff_IntegTest.find_staff_member_by_name_and_edit_grade_choices.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Staff_IntegTest.find_staff_member_by_name_and_edit_grade_choices.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Staff_IntegTest.find_staff_member_by_name_and_edit_grade_choices.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Staff_IntegTest.find_staff_member_by_name_and_edit_grade_choices.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Staff_IntegTest.java
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Staff_IntegTest.java
similarity index 98%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Staff_IntegTest.java
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Staff_IntegTest.java
index 26e247b706..eb8f36e955 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Staff_IntegTest.java
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Staff_IntegTest.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.viewer.graphql.viewer.test.e2e.query;
+package org.apache.causeway.viewer.graphql.viewer.test.e2e.queryandmutations;
 
 import java.util.Optional;
 
@@ -31,7 +31,6 @@ import org.junit.jupiter.api.Test;
 import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
 import static org.assertj.core.api.AssertionsForInterfaceTypes.assertThat;
 
-import org.springframework.test.annotation.DirtiesContext;
 import org.springframework.test.context.ActiveProfiles;
 import org.springframework.transaction.annotation.Propagation;
 
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Staff_IntegTest.list_all_staff_members._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Staff_IntegTest.list_all_staff_members._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Staff_IntegTest.list_all_staff_members._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Staff_IntegTest.list_all_staff_members._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Staff_IntegTest.list_all_staff_members.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Staff_IntegTest.list_all_staff_members.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Staff_IntegTest.list_all_staff_members.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Staff_IntegTest.list_all_staff_members.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Staff_IntegTest.staff_member_name_edit_invalid._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Staff_IntegTest.staff_member_name_edit_invalid._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Staff_IntegTest.staff_member_name_edit_invalid._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Staff_IntegTest.staff_member_name_edit_invalid._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Staff_IntegTest.staff_member_name_edit_invalid.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Staff_IntegTest.staff_member_name_edit_invalid.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Staff_IntegTest.staff_member_name_edit_invalid.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Staff_IntegTest.staff_member_name_edit_invalid.approved.json
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Staff_IntegTest.staff_member_name_validate._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Staff_IntegTest.staff_member_name_validate._.gql
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Staff_IntegTest.staff_member_name_validate._.gql
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Staff_IntegTest.staff_member_name_validate._.gql
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Staff_IntegTest.staff_member_name_validate.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Staff_IntegTest.staff_member_name_validate.approved.json
similarity index 100%
rename from 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query/Staff_IntegTest.staff_member_name_validate.approved.json
rename to 
viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/queryandmutations/Staff_IntegTest.staff_member_name_validate.approved.json
diff --git a/viewers/graphql/test/src/test/resources/schema.gql 
b/viewers/graphql/test/src/test/resources/schema.gql
index e01f63e586..5bf7ac6e74 100644
--- a/viewers/graphql/test/src/test/resources/schema.gql
+++ b/viewers/graphql/test/src/test/resources/schema.gql
@@ -213,9 +213,14 @@ type 
causeway_applib_DomainObjectList__elementTypeFqcn__gqlv_property {
 }
 
 type causeway_applib_DomainObjectList__gqlv_meta {
+  cssClass: String!
+  grid: String!
+  iconName: String!
   id: String!
+  layout: String!
   logicalTypeName: String!
   saveAs(ref: String): String
+  title: String!
 }
 
 type causeway_applib_DomainObjectList__objects__gqlv_collection {
@@ -252,9 +257,14 @@ type causeway_applib_FacetGroupNode__facets__gqlv_property 
{
 }
 
 type causeway_applib_FacetGroupNode__gqlv_meta {
+  cssClass: String!
+  grid: String!
+  iconName: String!
   id: String!
+  layout: String!
   logicalTypeName: String!
   saveAs(ref: String): String
+  title: String!
 }
 
 type causeway_applib_FacetGroupNode__parentNode__gqlv_property {
@@ -277,9 +287,14 @@ type 
causeway_applib_ParameterNode__childNodes__gqlv_collection {
 }
 
 type causeway_applib_ParameterNode__gqlv_meta {
+  cssClass: String!
+  grid: String!
+  iconName: String!
   id: String!
+  layout: String!
   logicalTypeName: String!
   saveAs(ref: String): String
+  title: String!
 }
 
 type causeway_applib_ParameterNode__parameter__gqlv_property {
@@ -312,9 +327,14 @@ type 
causeway_applib_PropertyNode__childNodes__gqlv_collection {
 }
 
 type causeway_applib_PropertyNode__gqlv_meta {
+  cssClass: String!
+  grid: String!
+  iconName: String!
   id: String!
+  layout: String!
   logicalTypeName: String!
   saveAs(ref: String): String
+  title: String!
 }
 
 type causeway_applib_PropertyNode__mixedIn__gqlv_property {
@@ -356,9 +376,14 @@ type 
causeway_applib_RoleMemento__description__gqlv_property {
 }
 
 type causeway_applib_RoleMemento__gqlv_meta {
+  cssClass: String!
+  grid: String!
+  iconName: String!
   id: String!
+  layout: String!
   logicalTypeName: String!
   saveAs(ref: String): String
+  title: String!
 }
 
 type causeway_applib_RoleMemento__name__gqlv_property {
@@ -390,9 +415,14 @@ type 
causeway_applib_TypeNode__domainClassDto__gqlv_property {
 }
 
 type causeway_applib_TypeNode__gqlv_meta {
+  cssClass: String!
+  grid: String!
+  iconName: String!
   id: String!
+  layout: String!
   logicalTypeName: String!
   saveAs(ref: String): String
+  title: String!
 }
 
 type causeway_applib_TypeNode__parentNode__gqlv_property {
@@ -443,9 +473,14 @@ type causeway_applib_UserMemento__avatarUrl__gqlv_property 
{
 }
 
 type causeway_applib_UserMemento__gqlv_meta {
+  cssClass: String!
+  grid: String!
+  iconName: String!
   id: String!
+  layout: String!
   logicalTypeName: String!
   saveAs(ref: String): String
+  title: String!
 }
 
 type causeway_applib_UserMemento__impersonating__gqlv_property {
@@ -544,9 +579,14 @@ type 
causeway_applib_node_ActionNode__childNodes__gqlv_collection {
 }
 
 type causeway_applib_node_ActionNode__gqlv_meta {
+  cssClass: String!
+  grid: String!
+  iconName: String!
   id: String!
+  layout: String!
   logicalTypeName: String!
   saveAs(ref: String): String
+  title: String!
 }
 
 type causeway_applib_node_ActionNode__mixedIn__gqlv_property {
@@ -587,9 +627,14 @@ type 
causeway_applib_node_CollectionNode__collection__gqlv_property {
 }
 
 type causeway_applib_node_CollectionNode__gqlv_meta {
+  cssClass: String!
+  grid: String!
+  iconName: String!
   id: String!
+  layout: String!
   logicalTypeName: String!
   saveAs(ref: String): String
+  title: String!
 }
 
 type causeway_applib_node_CollectionNode__mixedIn__gqlv_property {
@@ -629,9 +674,14 @@ type 
causeway_applib_node_FacetAttrNode__facetAttr__gqlv_property {
 }
 
 type causeway_applib_node_FacetAttrNode__gqlv_meta {
+  cssClass: String!
+  grid: String!
+  iconName: String!
   id: String!
+  layout: String!
   logicalTypeName: String!
   saveAs(ref: String): String
+  title: String!
 }
 
 type causeway_applib_node_FacetAttrNode__parentNode__gqlv_property {
@@ -664,9 +714,14 @@ type causeway_applib_node_FacetNode__facet__gqlv_property {
 }
 
 type causeway_applib_node_FacetNode__gqlv_meta {
+  cssClass: String!
+  grid: String!
+  iconName: String!
   id: String!
+  layout: String!
   logicalTypeName: String!
   saveAs(ref: String): String
+  title: String!
 }
 
 type causeway_applib_node_FacetNode__parentNode__gqlv_property {
@@ -702,9 +757,14 @@ type causeway_conf_ConfigurationProperty {
 }
 
 type causeway_conf_ConfigurationProperty__gqlv_meta {
+  cssClass: String!
+  grid: String!
+  iconName: String!
   id: String!
+  layout: String!
   logicalTypeName: String!
   saveAs(ref: String): String
+  title: String!
 }
 
 type causeway_conf_ConfigurationProperty__key__gqlv_property {
@@ -737,9 +797,14 @@ type 
causeway_conf_ConfigurationViewmodel__environment__gqlv_collection {
 }
 
 type causeway_conf_ConfigurationViewmodel__gqlv_meta {
+  cssClass: String!
+  grid: String!
+  iconName: String!
   id: String!
+  layout: String!
   logicalTypeName: String!
   saveAs(ref: String): String
+  title: String!
 }
 
 type causeway_conf_ConfigurationViewmodel__primary__gqlv_collection {
@@ -763,9 +828,14 @@ type causeway_feat_ApplicationFeatureViewModel {
 }
 
 type causeway_feat_ApplicationFeatureViewModel__gqlv_meta {
+  cssClass: String!
+  grid: String!
+  iconName: String!
   id: String!
+  layout: String!
   logicalTypeName: String!
   saveAs(ref: String): String
+  title: String!
 }
 
 type causeway_feat_ApplicationFeatureViewModel__memberName__gqlv_property {
@@ -814,9 +884,14 @@ type 
causeway_feat_ApplicationNamespace__contents__gqlv_collection {
 }
 
 type causeway_feat_ApplicationNamespace__gqlv_meta {
+  cssClass: String!
+  grid: String!
+  iconName: String!
   id: String!
+  layout: String!
   logicalTypeName: String!
   saveAs(ref: String): String
+  title: String!
 }
 
 type causeway_feat_ApplicationNamespace__memberName__gqlv_property {
@@ -881,9 +956,14 @@ type 
causeway_feat_ApplicationTypeAction__actionSemantics__gqlv_property {
 }
 
 type causeway_feat_ApplicationTypeAction__gqlv_meta {
+  cssClass: String!
+  grid: String!
+  iconName: String!
   id: String!
+  layout: String!
   logicalTypeName: String!
   saveAs(ref: String): String
+  title: String!
 }
 
 type causeway_feat_ApplicationTypeAction__memberName__gqlv_property {
@@ -952,9 +1032,14 @@ type 
causeway_feat_ApplicationTypeCollection__elementType__gqlv_property {
 }
 
 type causeway_feat_ApplicationTypeCollection__gqlv_meta {
+  cssClass: String!
+  grid: String!
+  iconName: String!
   id: String!
+  layout: String!
   logicalTypeName: String!
   saveAs(ref: String): String
+  title: String!
 }
 
 type causeway_feat_ApplicationTypeCollection__memberName__gqlv_property {
@@ -997,9 +1082,14 @@ type causeway_feat_ApplicationTypeMember {
 }
 
 type causeway_feat_ApplicationTypeMember__gqlv_meta {
+  cssClass: String!
+  grid: String!
+  iconName: String!
   id: String!
+  layout: String!
   logicalTypeName: String!
   saveAs(ref: String): String
+  title: String!
 }
 
 type causeway_feat_ApplicationTypeMember__memberName__gqlv_property {
@@ -1054,9 +1144,14 @@ type 
causeway_feat_ApplicationTypeProperty__derived__gqlv_property {
 }
 
 type causeway_feat_ApplicationTypeProperty__gqlv_meta {
+  cssClass: String!
+  grid: String!
+  iconName: String!
   id: String!
+  layout: String!
   logicalTypeName: String!
   saveAs(ref: String): String
+  title: String!
 }
 
 type causeway_feat_ApplicationTypeProperty__maxLength__gqlv_property {
@@ -1127,9 +1222,14 @@ type 
causeway_feat_ApplicationType__collections__gqlv_collection {
 }
 
 type causeway_feat_ApplicationType__gqlv_meta {
+  cssClass: String!
+  grid: String!
+  iconName: String!
   id: String!
+  layout: String!
   logicalTypeName: String!
   saveAs(ref: String): String
+  title: String!
 }
 
 type causeway_feat_ApplicationType__memberName__gqlv_property {
@@ -1215,9 +1315,14 @@ type 
causeway_schema_metamodel_v2_DomainClassDto__facets__gqlv_property {
 }
 
 type causeway_schema_metamodel_v2_DomainClassDto__gqlv_meta {
+  cssClass: String!
+  grid: String!
+  iconName: String!
   id: String!
+  layout: String!
   logicalTypeName: String!
   saveAs(ref: String): String
+  title: String!
 }
 
 type causeway_schema_metamodel_v2_DomainClassDto__id__gqlv_property {
@@ -1265,9 +1370,14 @@ type causeway_security_LoginRedirect {
 }
 
 type causeway_security_LoginRedirect__gqlv_meta {
+  cssClass: String!
+  grid: String!
+  iconName: String!
   id: String!
+  layout: String!
   logicalTypeName: String!
   saveAs(ref: String): String
+  title: String!
 }
 
 type causeway_security_LogoutMenu {
@@ -1306,9 +1416,14 @@ type 
causeway_testing_fixtures_FixtureResult__fixtureScriptClassName__gqlv_prope
 }
 
 type causeway_testing_fixtures_FixtureResult__gqlv_meta {
+  cssClass: String!
+  grid: String!
+  iconName: String!
   id: String!
+  layout: String!
   logicalTypeName: String!
   saveAs(ref: String): String
+  title: String!
 }
 
 type causeway_testing_fixtures_FixtureResult__key__gqlv_property {
@@ -1331,9 +1446,14 @@ type java_lang_Runnable {
 }
 
 type java_lang_Runnable__gqlv_meta {
+  cssClass: String!
+  grid: String!
+  iconName: String!
   id: String!
+  layout: String!
   logicalTypeName: String!
   saveAs(ref: String): String
+  title: String!
 }
 
 type java_util_Map {
@@ -1341,9 +1461,14 @@ type java_util_Map {
 }
 
 type java_util_Map__gqlv_meta {
+  cssClass: String!
+  grid: String!
+  iconName: String!
   id: String!
+  layout: String!
   logicalTypeName: String!
   saveAs(ref: String): String
+  title: String!
 }
 
 type java_util_SortedMap {
@@ -1351,9 +1476,14 @@ type java_util_SortedMap {
 }
 
 type java_util_SortedMap__gqlv_meta {
+  cssClass: String!
+  grid: String!
+  iconName: String!
   id: String!
+  layout: String!
   logicalTypeName: String!
   saveAs(ref: String): String
+  title: String!
 }
 
 type java_util_concurrent_Callable {
@@ -1361,9 +1491,14 @@ type java_util_concurrent_Callable {
 }
 
 type java_util_concurrent_Callable__gqlv_meta {
+  cssClass: String!
+  grid: String!
+  iconName: String!
   id: String!
+  layout: String!
   logicalTypeName: String!
   saveAs(ref: String): String
+  title: String!
 }
 
 type java_util_function_BiFunction {
@@ -1371,9 +1506,14 @@ type java_util_function_BiFunction {
 }
 
 type java_util_function_BiFunction__gqlv_meta {
+  cssClass: String!
+  grid: String!
+  iconName: String!
   id: String!
+  layout: String!
   logicalTypeName: String!
   saveAs(ref: String): String
+  title: String!
 }
 
 type java_util_function_Consumer {
@@ -1381,9 +1521,14 @@ type java_util_function_Consumer {
 }
 
 type java_util_function_Consumer__gqlv_meta {
+  cssClass: String!
+  grid: String!
+  iconName: String!
   id: String!
+  layout: String!
   logicalTypeName: String!
   saveAs(ref: String): String
+  title: String!
 }
 
 type java_util_function_Function {
@@ -1391,9 +1536,14 @@ type java_util_function_Function {
 }
 
 type java_util_function_Function__gqlv_meta {
+  cssClass: String!
+  grid: String!
+  iconName: String!
   id: String!
+  layout: String!
   logicalTypeName: String!
   saveAs(ref: String): String
+  title: String!
 }
 
 type java_util_stream_Stream {
@@ -1401,9 +1551,14 @@ type java_util_stream_Stream {
 }
 
 type java_util_stream_Stream__gqlv_meta {
+  cssClass: String!
+  grid: String!
+  iconName: String!
   id: String!
+  layout: String!
   logicalTypeName: String!
   saveAs(ref: String): String
+  title: String!
 }
 
 type org_apache_causeway_core_metamodel_inspect_model_MMNode {
@@ -1418,9 +1573,14 @@ type 
org_apache_causeway_core_metamodel_inspect_model_MMNode__childNodes__gqlv_c
 }
 
 type org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_meta {
+  cssClass: String!
+  grid: String!
+  iconName: String!
   id: String!
+  layout: String!
   logicalTypeName: String!
   saveAs(ref: String): String
+  title: String!
 }
 
 type 
org_apache_causeway_core_metamodel_inspect_model_MMNode__parentNode__gqlv_property
 {
@@ -1443,9 +1603,14 @@ type 
org_apache_causeway_core_metamodel_inspect_model_MemberNode__childNodes__gq
 }
 
 type org_apache_causeway_core_metamodel_inspect_model_MemberNode__gqlv_meta {
+  cssClass: String!
+  grid: String!
+  iconName: String!
   id: String!
+  layout: String!
   logicalTypeName: String!
   saveAs(ref: String): String
+  title: String!
 }
 
 type 
org_apache_causeway_core_metamodel_inspect_model_MemberNode__mixedIn__gqlv_property
 {
@@ -1479,9 +1644,14 @@ type 
org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__f
 }
 
 type 
org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__gqlv_meta
 {
+  cssClass: String!
+  grid: String!
+  iconName: String!
   id: String!
+  layout: String!
   logicalTypeName: String!
   saveAs(ref: String): String
+  title: String!
 }
 
 type 
org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__qualifiedName__gqlv_property
 {
@@ -2159,9 +2329,14 @@ type university_dept_Department__deptHead__gqlv_property 
{
 }
 
 type university_dept_Department__gqlv_meta {
+  cssClass: String!
+  grid: String!
+  iconName: String!
   id: String!
+  layout: String!
   logicalTypeName: String!
   saveAs(ref: String): String
+  title: String!
   version: String
 }
 
@@ -2320,9 +2495,14 @@ type university_dept_DeptHead__department__gqlv_property 
{
 }
 
 type university_dept_DeptHead__gqlv_meta {
+  cssClass: String!
+  grid: String!
+  iconName: String!
   id: String!
+  layout: String!
   logicalTypeName: String!
   saveAs(ref: String): String
+  title: String!
   version: String
 }
 
@@ -2392,9 +2572,14 @@ type 
university_dept_StaffMember__department__gqlv_property {
 }
 
 type university_dept_StaffMember__gqlv_meta {
+  cssClass: String!
+  grid: String!
+  iconName: String!
   id: String!
+  layout: String!
   logicalTypeName: String!
   saveAs(ref: String): String
+  title: String!
   version: String
 }
 

Reply via email to