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

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

commit b798db1dd7d431c4bb6325a6d8e98bd0fa735a39
Author: danhaywood <[email protected]>
AuthorDate: Wed Feb 21 22:51:08 2024 +0000

    CAUSEWAY-3676: introduces holder.getSchemaType(), parameterize type names 
by schemaType
---
 .../rich/mutation/GqlvMutationForAction.java       |  12 +-
 .../rich/mutation/GqlvMutationForProperty.java     |   8 +-
 .../model/domain/rich/query/GqlvAction.java        |   4 +-
 .../domain/rich/query/GqlvActionInvokeArgsArg.java |   2 +-
 .../domain/rich/query/GqlvActionInvokeResult.java  |   4 +-
 .../query/GqlvActionParamsParamAutoComplete.java   |   3 +-
 .../rich/query/GqlvActionParamsParamChoices.java   |   3 +-
 .../rich/query/GqlvActionParamsParamDefault.java   |   3 +-
 .../model/domain/rich/query/GqlvCollectionGet.java |   3 +-
 .../model/domain/rich/query/GqlvDomainObject.java  |   2 +-
 .../model/domain/rich/query/GqlvProperty.java      |   2 +-
 .../rich/query/GqlvPropertyAutoComplete.java       |   3 +-
 .../domain/rich/query/GqlvPropertyChoices.java     |   3 +-
 .../model/domain/rich/query/GqlvPropertyGet.java   |   2 +-
 .../model/domain/rich/query/GqlvPropertySet.java   |   3 +-
 .../simple/mutation/GqlvMutationForAction.java     |  13 +-
 .../simple/mutation/GqlvMutationForProperty.java   |   9 +-
 .../model/domain/simple/query/GqlvAction.java      |   4 +-
 .../simple/query/GqlvActionInvokeArgsArg.java      |   3 +-
 .../simple/query/GqlvActionInvokeResult.java       |   6 +-
 .../query/GqlvActionParamsParamAutoComplete.java   |   3 +-
 .../simple/query/GqlvActionParamsParamChoices.java |   3 +-
 .../simple/query/GqlvActionParamsParamDefault.java |   3 +-
 .../domain/simple/query/GqlvCollectionGet.java     |   3 +-
 .../domain/simple/query/GqlvDomainObject.java      |   2 +-
 .../model/domain/simple/query/GqlvProperty.java    |   2 +-
 .../simple/query/GqlvPropertyAutoComplete.java     |   3 +-
 .../domain/simple/query/GqlvPropertyChoices.java   |   3 +-
 .../model/domain/simple/query/GqlvPropertyGet.java |   2 +-
 .../model/domain/simple/query/GqlvPropertySet.java |   3 +-
 .../model/registry/GraphQLTypeRegistry.java        |   6 +-
 .../viewer/graphql/model/types/TypeMapper.java     |  16 +-
 .../graphql/model/types/TypeMapperDefault.java     |  53 +++--
 viewers/graphql/test/src/test/resources/schema.gql | 228 ++++++++++-----------
 34 files changed, 234 insertions(+), 188 deletions(-)

diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/mutation/GqlvMutationForAction.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/mutation/GqlvMutationForAction.java
index dcb0862f44..ca379fe006 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/mutation/GqlvMutationForAction.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/mutation/GqlvMutationForAction.java
@@ -64,6 +64,8 @@ import lombok.extern.log4j.Log4j2;
 @Log4j2
 public class GqlvMutationForAction extends GqlvAbstract {
 
+    private static final SchemaType SCHEMA_TYPE = SchemaType.RICH;
+
     private final ObjectSpecification objectSpec;
     private final ObjectAction objectAction;
     private String argumentName;
@@ -109,7 +111,7 @@ public class GqlvMutationForAction extends GqlvAbstract {
                     return null;
                 }
                 val objectSpecificationOfCollectionElement = 
facet.elementSpec();
-                GraphQLType wrappedType = 
context.typeMapper.outputTypeFor(objectSpecificationOfCollectionElement);
+                GraphQLType wrappedType = 
context.typeMapper.outputTypeFor(objectSpecificationOfCollectionElement, 
SCHEMA_TYPE);
                 if (wrappedType == null) {
                     log.warn("Unable to create wrapped type of for {} for 
action {}",
                             
objectSpecificationOfCollectionElement.getFullIdentifier(),
@@ -122,7 +124,7 @@ public class GqlvMutationForAction extends GqlvAbstract {
             case ENTITY:
             case VIEW_MODEL:
             default:
-                return context.typeMapper.outputTypeFor(objectSpecification);
+                return context.typeMapper.outputTypeFor(objectSpecification, 
SchemaType.RICH);
 
         }
     }
@@ -204,7 +206,7 @@ public class GqlvMutationForAction extends GqlvAbstract {
             arguments.add(
                     GraphQLArgument.newArgument()
                             .name(argName)
-                            .type(context.typeMapper.inputTypeFor(objectSpec))
+                            .type(context.typeMapper.inputTypeFor(objectSpec, 
SchemaType.RICH))
                             .build()
             );
         }
@@ -230,7 +232,7 @@ public class GqlvMutationForAction extends GqlvAbstract {
     GraphQLArgument gqlArgumentFor(final OneToOneActionParameter 
oneToOneActionParameter) {
         return GraphQLArgument.newArgument()
                 .name(oneToOneActionParameter.getId())
-                .type(context.typeMapper.inputTypeFor(oneToOneActionParameter, 
TypeMapper.InputContext.INVOKE))
+                .type(context.typeMapper.inputTypeFor(oneToOneActionParameter, 
TypeMapper.InputContext.INVOKE, SchemaType.RICH))
                 .build();
     }
 
@@ -238,7 +240,7 @@ public class GqlvMutationForAction extends GqlvAbstract {
     GraphQLArgument gqlArgumentFor(final OneToManyActionParameter 
oneToManyActionParameter) {
         return GraphQLArgument.newArgument()
                 .name(oneToManyActionParameter.getId())
-                
.type(context.typeMapper.inputTypeFor(oneToManyActionParameter))
+                
.type(context.typeMapper.inputTypeFor(oneToManyActionParameter, 
SchemaType.RICH))
                 .build();
     }
 
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/mutation/GqlvMutationForProperty.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/mutation/GqlvMutationForProperty.java
index 641a74aaf7..381f3d7432 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/mutation/GqlvMutationForProperty.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/mutation/GqlvMutationForProperty.java
@@ -51,6 +51,8 @@ import lombok.val;
 //@Log4j2
 public class GqlvMutationForProperty extends GqlvAbstract {
 
+    private static final SchemaType SCHEMA_TYPE = SchemaType.RICH;
+
     private final ObjectSpecification objectSpec;
     private final OneToOneAssociation oneToOneAssociation;
     private String argumentName;
@@ -65,7 +67,7 @@ public class GqlvMutationForProperty extends GqlvAbstract {
 
         this.argumentName = 
context.causewayConfiguration.getViewer().getGraphql().getMutation().getTargetArgName();
 
-        GraphQLOutputType type = context.typeMapper.outputTypeFor(objectSpec); 
 // setter returns void, so will return target instead.
+        GraphQLOutputType type = context.typeMapper.outputTypeFor(objectSpec, 
SchemaType.RICH);  // setter returns void, so will return target instead.
         if (type != null) {
             val fieldBuilder = newFieldDefinition()
                     .name(fieldName(objectSpec, oneToOneAssociation))
@@ -152,14 +154,14 @@ public class GqlvMutationForProperty extends GqlvAbstract 
{
         fieldBuilder.argument(
                 GraphQLArgument.newArgument()
                         .name(targetArgName)
-                        .type(context.typeMapper.inputTypeFor(objectSpec))
+                        .type(context.typeMapper.inputTypeFor(objectSpec, 
SchemaType.RICH))
                         .build()
         );
 
         fieldBuilder.argument(
                 GraphQLArgument.newArgument()
                         .name(oneToOneAssociation.getId())
-                        
.type(context.typeMapper.inputTypeFor(oneToOneAssociation, 
TypeMapper.InputContext.INVOKE))
+                        
.type(context.typeMapper.inputTypeFor(oneToOneAssociation, 
TypeMapper.InputContext.INVOKE, SchemaType.RICH))
                         .build());
     }
 }
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvAction.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvAction.java
index c9bf58bee3..bde11196c2 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvAction.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvAction.java
@@ -281,7 +281,7 @@ public class GqlvAction
             final TypeMapper.InputContext inputContext) {
         return GraphQLArgument.newArgument()
                 .name(oneToOneActionParameter.getId())
-                .type(context.typeMapper.inputTypeFor(oneToOneActionParameter, 
inputContext))
+                .type(context.typeMapper.inputTypeFor(oneToOneActionParameter, 
inputContext, getSchemaType()))
                 .build();
     }
 
@@ -290,7 +290,7 @@ public class GqlvAction
             final TypeMapper.InputContext inputContext) {
         return GraphQLArgument.newArgument()
                 .name(oneToManyActionParameter.getId())
-                
.type(context.typeMapper.inputTypeFor(oneToManyActionParameter))
+                
.type(context.typeMapper.inputTypeFor(oneToManyActionParameter, 
getSchemaType()))
                 .build();
     }
 
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvokeArgsArg.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvokeArgsArg.java
index d0eb56ca95..7436d2f608 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvokeArgsArg.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvokeArgsArg.java
@@ -61,7 +61,7 @@ public class GqlvActionInvokeArgsArg
 
         val elementType = objectActionParameter.getElementType();;
 
-        val gqlObjectTypeForElementType = 
context.typeMapper.outputTypeFor(elementType);
+        val gqlObjectTypeForElementType = 
context.typeMapper.outputTypeFor(elementType, holder.getSchemaType());
         if (gqlObjectTypeForElementType != null) {
             val gqlOutputType = objectActionParameter.isPlural()
                     ? GraphQLList.list(gqlObjectTypeForElementType)
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvokeResult.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvokeResult.java
index 1f93aadbec..dc2963fb12 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvokeResult.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvokeResult.java
@@ -91,7 +91,7 @@ public class GqlvActionInvokeResult extends GqlvAbstract {
                     return null;
                 }
                 val objectSpecificationOfCollectionElement = 
facet.elementSpec();
-                GraphQLType wrappedType = 
context.typeMapper.outputTypeFor(objectSpecificationOfCollectionElement);
+                GraphQLType wrappedType = 
context.typeMapper.outputTypeFor(objectSpecificationOfCollectionElement, 
holder.getSchemaType());
                 if (wrappedType == null) {
                     log.warn("Unable to create wrapped type of for {} for 
action {}",
                             
objectSpecificationOfCollectionElement.getFullIdentifier(),
@@ -104,7 +104,7 @@ public class GqlvActionInvokeResult extends GqlvAbstract {
             case ENTITY:
             case VIEW_MODEL:
             default:
-                return context.typeMapper.outputTypeFor(objectSpecification);
+                return context.typeMapper.outputTypeFor(objectSpecification, 
holder.getSchemaType());
 
         }
     }
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamAutoComplete.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamAutoComplete.java
index 1c4f9dde7a..e48569dbbd 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamAutoComplete.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamAutoComplete.java
@@ -41,6 +41,7 @@ package 
org.apache.causeway.viewer.graphql.model.domain.rich.query;
  import org.apache.causeway.viewer.graphql.model.context.Context;
  import org.apache.causeway.viewer.graphql.model.domain.Environment;
  import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstract;
+ import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
  import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
  import 
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionParameterProvider;
  import 
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionProvider;
@@ -69,7 +70,7 @@ package 
org.apache.causeway.viewer.graphql.model.domain.rich.query;
              val elementType = objectActionParameter.getElementType();
              val fieldBuilder = newFieldDefinition()
                      .name("autoComplete")
-                     
.type(GraphQLList.list(context.typeMapper.outputTypeFor(elementType)));
+                     
.type(GraphQLList.list(context.typeMapper.outputTypeFor(elementType, 
holder.getSchemaType())));
              holder.addGqlArguments(holder.getObjectAction(), fieldBuilder, 
TypeMapper.InputContext.AUTOCOMPLETE, holder.getParamNum());
              fieldBuilder.argument(GraphQLArgument.newArgument()
                      .name(SEARCH_PARAM_NAME)
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamChoices.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamChoices.java
index 1922c0fe37..aa160e47f4 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamChoices.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamChoices.java
@@ -39,6 +39,7 @@ package 
org.apache.causeway.viewer.graphql.model.domain.rich.query;
  import org.apache.causeway.viewer.graphql.model.context.Context;
  import org.apache.causeway.viewer.graphql.model.domain.Environment;
  import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstract;
+ import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
  import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
  import 
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionParameterProvider;
  import 
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionProvider;
@@ -65,7 +66,7 @@ package 
org.apache.causeway.viewer.graphql.model.domain.rich.query;
              val elementType = objectActionParameter.getElementType();
              val fieldBuilder = newFieldDefinition()
                      .name("choices")
-                     
.type(GraphQLList.list(context.typeMapper.outputTypeFor(elementType)));
+                     
.type(GraphQLList.list(context.typeMapper.outputTypeFor(elementType, 
holder.getSchemaType())));
              holder.addGqlArguments(holder.getObjectAction(), fieldBuilder, 
TypeMapper.InputContext.CHOICES, holder.getParamNum());
              setField(fieldBuilder.build());
          } else {
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamDefault.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamDefault.java
index c84b466dc1..d2a3ab2190 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamDefault.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamDefault.java
@@ -35,6 +35,7 @@ import 
org.apache.causeway.core.metamodel.spec.feature.ObjectAction;
 import org.apache.causeway.viewer.graphql.model.context.Context;
 import org.apache.causeway.viewer.graphql.model.domain.Environment;
 import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstract;
+import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
 import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
 import 
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionParameterProvider;
 import 
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionProvider;
@@ -59,7 +60,7 @@ public class GqlvActionParamsParamDefault extends 
GqlvAbstract {
             val elementType = objectActionParameter.getElementType();
             val fieldBuilder = newFieldDefinition()
                     .name("default")
-                    .type(context.typeMapper.outputTypeFor(elementType));
+                    .type(context.typeMapper.outputTypeFor(elementType, 
holder.getSchemaType()));
             holder.addGqlArguments(holder.getObjectAction(), fieldBuilder, 
TypeMapper.InputContext.DEFAULT, holder.getParamNum());
             setField(fieldBuilder.build());
         } else {
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvCollectionGet.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvCollectionGet.java
index ed16f85b86..c830879ff6 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvCollectionGet.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvCollectionGet.java
@@ -22,6 +22,7 @@ import graphql.schema.GraphQLOutputType;
 
 import org.apache.causeway.core.metamodel.spec.feature.OneToManyAssociation;
 import org.apache.causeway.viewer.graphql.model.context.Context;
+import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
 
 import lombok.val;
 
@@ -36,7 +37,7 @@ public class GqlvCollectionGet extends 
GqlvAssociationGet<OneToManyAssociation>
     @Override
     GraphQLOutputType 
outputTypeFor(GqlvAssociationGet.Holder<OneToManyAssociation> holder) {
         val oneToManyAssociation = holder.getObjectAssociation();
-        return 
context.typeMapper.listTypeForElementTypeOf(oneToManyAssociation);
+        return 
context.typeMapper.listTypeForElementTypeOf(oneToManyAssociation, 
holder.getSchemaType());
     }
 
 }
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvDomainObject.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvDomainObject.java
index 09a2822e19..e6922bf561 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvDomainObject.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvDomainObject.java
@@ -157,7 +157,7 @@ public class GqlvDomainObject
 
         return newFieldDefinition()
                 .name(fieldName)
-                .type(this.context.typeMapper.outputTypeFor(objectSpec))
+                .type(this.context.typeMapper.outputTypeFor(objectSpec, 
getSchemaType()))
                 .argument(GraphQLArgument.newArgument()
                         .name(lookupConfig.getArgument())   // eg "object"
                         .type(gqlInputObjectType)
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvProperty.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvProperty.java
index 08113bd8b8..03716f52e2 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvProperty.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvProperty.java
@@ -138,7 +138,7 @@ public class GqlvProperty
             final TypeMapper.InputContext inputContext) {
         return GraphQLArgument.newArgument()
                 .name(oneToOneAssociation.getId())
-                .type(context.typeMapper.inputTypeFor(oneToOneAssociation, 
inputContext))
+                .type(context.typeMapper.inputTypeFor(oneToOneAssociation, 
inputContext, SchemaType.RICH))
                 .build();
     }
 
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyAutoComplete.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyAutoComplete.java
index 3a39467d9b..fcd9efb6d7 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyAutoComplete.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyAutoComplete.java
@@ -31,6 +31,7 @@ import 
org.apache.causeway.core.metamodel.consent.InteractionInitiatedBy;
 import org.apache.causeway.core.metamodel.object.ManagedObject;
 import org.apache.causeway.viewer.graphql.model.context.Context;
 import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstract;
+import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
 import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
 import 
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationProvider;
 import 
org.apache.causeway.viewer.graphql.model.mmproviders.OneToOneAssociationProvider;
@@ -55,7 +56,7 @@ public class GqlvPropertyAutoComplete extends GqlvAbstract {
             val elementType = otoa.getElementType();
             val fieldBuilder = newFieldDefinition()
                     .name("autoComplete")
-                    
.type(GraphQLList.list(context.typeMapper.outputTypeFor(elementType)));
+                    
.type(GraphQLList.list(context.typeMapper.outputTypeFor(elementType, 
SchemaType.RICH)));
             fieldBuilder.argument(GraphQLArgument.newArgument()
                             .name(SEARCH_PARAM_NAME)
                             
.type(nonNull(context.typeMapper.outputTypeFor(String.class))))
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyChoices.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyChoices.java
index 1338f2c3b9..05263d1b92 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyChoices.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyChoices.java
@@ -31,6 +31,7 @@ import 
org.apache.causeway.core.metamodel.object.ManagedObject;
 import org.apache.causeway.core.metamodel.spec.feature.OneToOneAssociation;
 import org.apache.causeway.viewer.graphql.model.context.Context;
 import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstract;
+import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
 import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
 import 
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationProvider;
 import 
org.apache.causeway.viewer.graphql.model.mmproviders.OneToOneAssociationProvider;
@@ -54,7 +55,7 @@ public class GqlvPropertyChoices extends GqlvAbstract {
             val elementType = otoa.getElementType();
             val fieldBuilder = newFieldDefinition()
                     .name("choices")
-                    
.type(GraphQLList.list(context.typeMapper.outputTypeFor(elementType)));
+                    
.type(GraphQLList.list(context.typeMapper.outputTypeFor(elementType, 
SchemaType.RICH)));
             holder.addGqlArgument(otoa, fieldBuilder, 
TypeMapper.InputContext.CHOICES);
             setField(fieldBuilder.build());
         } else {
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGet.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGet.java
index 41f03813e2..028602ca94 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGet.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGet.java
@@ -37,7 +37,7 @@ public class GqlvPropertyGet extends 
GqlvAssociationGet<OneToOneAssociation> {
     @Override
     GraphQLOutputType 
outputTypeFor(GqlvAssociationGet.Holder<OneToOneAssociation> holder) {
         val oneToOneAssociation = holder.getObjectAssociation();
-        return context.typeMapper.outputTypeFor(oneToOneAssociation);
+        return context.typeMapper.outputTypeFor(oneToOneAssociation, 
holder.getSchemaType());
     }
 
     public interface Holder
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertySet.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertySet.java
index 6e3f325da9..b367ef8fd3 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertySet.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertySet.java
@@ -31,6 +31,7 @@ import 
org.apache.causeway.core.metamodel.object.ManagedObject;
 import org.apache.causeway.core.metamodel.spec.feature.OneToOneAssociation;
 import org.apache.causeway.viewer.graphql.model.context.Context;
 import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstract;
+import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
 import org.apache.causeway.viewer.graphql.model.exceptions.DisabledException;
 import org.apache.causeway.viewer.graphql.model.exceptions.HiddenException;
 import org.apache.causeway.viewer.graphql.model.exceptions.InvalidException;
@@ -53,7 +54,7 @@ public class GqlvPropertySet extends GqlvAbstract {
         this.holder = holder;
 
         // setters return void, so we return the domain object instead
-        val graphQLOutputType = 
this.context.typeMapper.outputTypeFor(holder.getObjectSpecification());
+        val graphQLOutputType = 
this.context.typeMapper.outputTypeFor(holder.getObjectSpecification(), 
SchemaType.RICH);
 
         val fieldBuilder = newFieldDefinition()
                 .name("set")
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/mutation/GqlvMutationForAction.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/mutation/GqlvMutationForAction.java
index f49f58fbb0..9afe23cd43 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/mutation/GqlvMutationForAction.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/mutation/GqlvMutationForAction.java
@@ -31,6 +31,7 @@ import graphql.schema.GraphQLType;
 
 import static graphql.schema.GraphQLFieldDefinition.newFieldDefinition;
 
+import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
 import org.apache.causeway.viewer.graphql.model.domain.simple.query.GqlvAction;
 import 
org.apache.causeway.viewer.graphql.model.domain.simple.query.GqlvMetaSaveAs;
 
@@ -62,6 +63,8 @@ import lombok.extern.log4j.Log4j2;
 @Log4j2
 public class GqlvMutationForAction extends GqlvAbstract {
 
+    private static final SchemaType SCHEMA_TYPE = SchemaType.SIMPLE;
+
     private final ObjectSpecification objectSpec;
     private final ObjectAction objectAction;
     private String argumentName;
@@ -107,7 +110,7 @@ public class GqlvMutationForAction extends GqlvAbstract {
                     return null;
                 }
                 val objectSpecificationOfCollectionElement = 
facet.elementSpec();
-                GraphQLType wrappedType = 
context.typeMapper.outputTypeFor(objectSpecificationOfCollectionElement);
+                GraphQLType wrappedType = 
context.typeMapper.outputTypeFor(objectSpecificationOfCollectionElement, 
SchemaType.RICH);
                 if (wrappedType == null) {
                     log.warn("Unable to create wrapped type of for {} for 
action {}",
                             
objectSpecificationOfCollectionElement.getFullIdentifier(),
@@ -120,7 +123,7 @@ public class GqlvMutationForAction extends GqlvAbstract {
             case ENTITY:
             case VIEW_MODEL:
             default:
-                return context.typeMapper.outputTypeFor(objectSpecification);
+                return context.typeMapper.outputTypeFor(objectSpecification, 
SchemaType.RICH);
 
         }
     }
@@ -202,7 +205,7 @@ public class GqlvMutationForAction extends GqlvAbstract {
             arguments.add(
                     GraphQLArgument.newArgument()
                             .name(argName)
-                            .type(context.typeMapper.inputTypeFor(objectSpec))
+                            .type(context.typeMapper.inputTypeFor(objectSpec, 
SchemaType.RICH))
                             .build()
             );
         }
@@ -228,7 +231,7 @@ public class GqlvMutationForAction extends GqlvAbstract {
     GraphQLArgument gqlArgumentFor(final OneToOneActionParameter 
oneToOneActionParameter) {
         return GraphQLArgument.newArgument()
                 .name(oneToOneActionParameter.getId())
-                .type(context.typeMapper.inputTypeFor(oneToOneActionParameter, 
TypeMapper.InputContext.INVOKE))
+                .type(context.typeMapper.inputTypeFor(oneToOneActionParameter, 
TypeMapper.InputContext.INVOKE, SchemaType.RICH))
                 .build();
     }
 
@@ -236,7 +239,7 @@ public class GqlvMutationForAction extends GqlvAbstract {
     GraphQLArgument gqlArgumentFor(final OneToManyActionParameter 
oneToManyActionParameter) {
         return GraphQLArgument.newArgument()
                 .name(oneToManyActionParameter.getId())
-                
.type(context.typeMapper.inputTypeFor(oneToManyActionParameter))
+                
.type(context.typeMapper.inputTypeFor(oneToManyActionParameter, 
SchemaType.RICH))
                 .build();
     }
 
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/mutation/GqlvMutationForProperty.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/mutation/GqlvMutationForProperty.java
index 24188cd431..7ebfc604d7 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/mutation/GqlvMutationForProperty.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/mutation/GqlvMutationForProperty.java
@@ -37,6 +37,7 @@ import 
org.apache.causeway.core.metamodel.spec.feature.OneToOneAssociation;
 import org.apache.causeway.viewer.graphql.model.context.Context;
 import org.apache.causeway.viewer.graphql.model.domain.Environment;
 import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstract;
+import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
 import org.apache.causeway.viewer.graphql.model.domain.TypeNames;
 import 
org.apache.causeway.viewer.graphql.model.domain.simple.query.GqlvMetaSaveAs;
 import org.apache.causeway.viewer.graphql.model.exceptions.DisabledException;
@@ -50,6 +51,8 @@ import lombok.val;
 //@Log4j2
 public class GqlvMutationForProperty extends GqlvAbstract {
 
+    private static final SchemaType SCHEMA_TYPE = SchemaType.SIMPLE;
+
     private final ObjectSpecification objectSpec;
     private final OneToOneAssociation oneToOneAssociation;
     private String argumentName;
@@ -64,7 +67,7 @@ public class GqlvMutationForProperty extends GqlvAbstract {
 
         this.argumentName = 
context.causewayConfiguration.getViewer().getGraphql().getMutation().getTargetArgName();
 
-        GraphQLOutputType type = context.typeMapper.outputTypeFor(objectSpec); 
 // setter returns void, so will return target instead.
+        GraphQLOutputType type = context.typeMapper.outputTypeFor(objectSpec, 
SchemaType.RICH);  // setter returns void, so will return target instead.
         if (type != null) {
             val fieldBuilder = newFieldDefinition()
                     .name(fieldName(objectSpec, oneToOneAssociation))
@@ -151,14 +154,14 @@ public class GqlvMutationForProperty extends GqlvAbstract 
{
         fieldBuilder.argument(
                 GraphQLArgument.newArgument()
                         .name(targetArgName)
-                        .type(context.typeMapper.inputTypeFor(objectSpec))
+                        .type(context.typeMapper.inputTypeFor(objectSpec, 
SchemaType.RICH))
                         .build()
         );
 
         fieldBuilder.argument(
                 GraphQLArgument.newArgument()
                         .name(oneToOneAssociation.getId())
-                        
.type(context.typeMapper.inputTypeFor(oneToOneAssociation, 
TypeMapper.InputContext.INVOKE))
+                        
.type(context.typeMapper.inputTypeFor(oneToOneAssociation, 
TypeMapper.InputContext.INVOKE, SchemaType.RICH))
                         .build());
     }
 }
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvAction.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvAction.java
index 9c33b5748a..39c45ea4ba 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvAction.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvAction.java
@@ -281,7 +281,7 @@ public class GqlvAction
             final TypeMapper.InputContext inputContext) {
         return GraphQLArgument.newArgument()
                 .name(oneToOneActionParameter.getId())
-                .type(context.typeMapper.inputTypeFor(oneToOneActionParameter, 
inputContext))
+                .type(context.typeMapper.inputTypeFor(oneToOneActionParameter, 
inputContext, getSchemaType()))
                 .build();
     }
 
@@ -290,7 +290,7 @@ public class GqlvAction
             final TypeMapper.InputContext inputContext) {
         return GraphQLArgument.newArgument()
                 .name(oneToManyActionParameter.getId())
-                
.type(context.typeMapper.inputTypeFor(oneToManyActionParameter))
+                
.type(context.typeMapper.inputTypeFor(oneToManyActionParameter, 
getSchemaType()))
                 .build();
     }
 
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionInvokeArgsArg.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionInvokeArgsArg.java
index dece360d6d..eea7223a2e 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionInvokeArgsArg.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionInvokeArgsArg.java
@@ -31,6 +31,7 @@ import 
org.apache.causeway.core.metamodel.spec.feature.ObjectActionParameter;
 import org.apache.causeway.viewer.graphql.model.context.Context;
 import org.apache.causeway.viewer.graphql.model.domain.Environment;
 import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstract;
+import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
 import 
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionProvider;
 import 
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationProvider;
 import org.apache.causeway.viewer.graphql.model.mmproviders.SchemaTypeProvider;
@@ -60,7 +61,7 @@ public class GqlvActionInvokeArgsArg
 
         val elementType = objectActionParameter.getElementType();;
 
-        val gqlObjectTypeForElementType = 
context.typeMapper.outputTypeFor(elementType);
+        val gqlObjectTypeForElementType = 
context.typeMapper.outputTypeFor(elementType, holder.getSchemaType());
         if (gqlObjectTypeForElementType != null) {
             val gqlOutputType = objectActionParameter.isPlural()
                     ? GraphQLList.list(gqlObjectTypeForElementType)
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionInvokeResult.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionInvokeResult.java
index 14d77b9ad2..582dbac7b4 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionInvokeResult.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionInvokeResult.java
@@ -26,6 +26,8 @@ import graphql.schema.GraphQLType;
 
 import static graphql.schema.GraphQLFieldDefinition.newFieldDefinition;
 
+import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
+
 import org.springframework.lang.Nullable;
 
 import org.apache.causeway.applib.annotation.Where;
@@ -87,7 +89,7 @@ public class GqlvActionInvokeResult extends GqlvAbstract {
                     return null;
                 }
                 val objectSpecificationOfCollectionElement = 
facet.elementSpec();
-                GraphQLType wrappedType = 
context.typeMapper.outputTypeFor(objectSpecificationOfCollectionElement);
+                GraphQLType wrappedType = 
context.typeMapper.outputTypeFor(objectSpecificationOfCollectionElement, 
holder.getSchemaType());
                 if (wrappedType == null) {
                     log.warn("Unable to create wrapped type of for {} for 
action {}",
                             
objectSpecificationOfCollectionElement.getFullIdentifier(),
@@ -100,7 +102,7 @@ public class GqlvActionInvokeResult extends GqlvAbstract {
             case ENTITY:
             case VIEW_MODEL:
             default:
-                return context.typeMapper.outputTypeFor(objectSpecification);
+                return context.typeMapper.outputTypeFor(objectSpecification, 
holder.getSchemaType());
 
         }
     }
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParamAutoComplete.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParamAutoComplete.java
index 32b8b860d1..f725c12f95 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParamAutoComplete.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParamAutoComplete.java
@@ -41,6 +41,7 @@ package 
org.apache.causeway.viewer.graphql.model.domain.simple.query;
  import org.apache.causeway.viewer.graphql.model.context.Context;
  import org.apache.causeway.viewer.graphql.model.domain.Environment;
  import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstract;
+ import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
  import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
  import 
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionParameterProvider;
  import 
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionProvider;
@@ -69,7 +70,7 @@ package 
org.apache.causeway.viewer.graphql.model.domain.simple.query;
              val elementType = objectActionParameter.getElementType();
              val fieldBuilder = newFieldDefinition()
                      .name("autoComplete")
-                     
.type(GraphQLList.list(context.typeMapper.outputTypeFor(elementType)));
+                     
.type(GraphQLList.list(context.typeMapper.outputTypeFor(elementType, 
holder.getSchemaType())));
              holder.addGqlArguments(holder.getObjectAction(), fieldBuilder, 
TypeMapper.InputContext.AUTOCOMPLETE, holder.getParamNum());
              fieldBuilder.argument(GraphQLArgument.newArgument()
                      .name(SEARCH_PARAM_NAME)
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParamChoices.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParamChoices.java
index b52c78fbbb..0ea6424267 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParamChoices.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParamChoices.java
@@ -39,6 +39,7 @@ package 
org.apache.causeway.viewer.graphql.model.domain.simple.query;
  import org.apache.causeway.viewer.graphql.model.context.Context;
  import org.apache.causeway.viewer.graphql.model.domain.Environment;
  import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstract;
+ import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
  import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
  import 
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionParameterProvider;
  import 
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionProvider;
@@ -65,7 +66,7 @@ package 
org.apache.causeway.viewer.graphql.model.domain.simple.query;
              val elementType = objectActionParameter.getElementType();
              val fieldBuilder = newFieldDefinition()
                      .name("choices")
-                     
.type(GraphQLList.list(context.typeMapper.outputTypeFor(elementType)));
+                     
.type(GraphQLList.list(context.typeMapper.outputTypeFor(elementType, 
holder.getSchemaType())));
              holder.addGqlArguments(holder.getObjectAction(), fieldBuilder, 
TypeMapper.InputContext.CHOICES, holder.getParamNum());
              setField(fieldBuilder.build());
          } else {
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParamDefault.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParamDefault.java
index cf13388471..9c655f0c05 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParamDefault.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParamDefault.java
@@ -35,6 +35,7 @@ import 
org.apache.causeway.core.metamodel.spec.feature.ObjectAction;
 import org.apache.causeway.viewer.graphql.model.context.Context;
 import org.apache.causeway.viewer.graphql.model.domain.Environment;
 import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstract;
+import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
 import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
 import 
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionParameterProvider;
 import 
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionProvider;
@@ -59,7 +60,7 @@ public class GqlvActionParamsParamDefault extends 
GqlvAbstract {
             val elementType = objectActionParameter.getElementType();
             val fieldBuilder = newFieldDefinition()
                     .name("default")
-                    .type(context.typeMapper.outputTypeFor(elementType));
+                    .type(context.typeMapper.outputTypeFor(elementType, 
holder.getSchemaType()));
             holder.addGqlArguments(holder.getObjectAction(), fieldBuilder, 
TypeMapper.InputContext.DEFAULT, holder.getParamNum());
             setField(fieldBuilder.build());
         } else {
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvCollectionGet.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvCollectionGet.java
index b54fa30d88..a891858c1b 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvCollectionGet.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvCollectionGet.java
@@ -22,6 +22,7 @@ import graphql.schema.GraphQLOutputType;
 
 import org.apache.causeway.core.metamodel.spec.feature.OneToManyAssociation;
 import org.apache.causeway.viewer.graphql.model.context.Context;
+import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
 
 import lombok.val;
 
@@ -36,7 +37,7 @@ public class GqlvCollectionGet extends 
GqlvAssociationGet<OneToManyAssociation>
     @Override
     GraphQLOutputType outputTypeFor(Holder<OneToManyAssociation> holder) {
         val oneToManyAssociation = holder.getObjectAssociation();
-        return 
context.typeMapper.listTypeForElementTypeOf(oneToManyAssociation);
+        return 
context.typeMapper.listTypeForElementTypeOf(oneToManyAssociation, 
holder.getSchemaType());
     }
 
 }
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvDomainObject.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvDomainObject.java
index 800bc29991..76a12417f5 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvDomainObject.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvDomainObject.java
@@ -157,7 +157,7 @@ public class GqlvDomainObject
 
         return newFieldDefinition()
                 .name(fieldName)
-                .type(this.context.typeMapper.outputTypeFor(objectSpec))
+                .type(this.context.typeMapper.outputTypeFor(objectSpec, 
getSchemaType()))
                 .argument(GraphQLArgument.newArgument()
                         .name(lookupConfig.getArgument())   // eg "object"
                         .type(gqlInputObjectType)
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvProperty.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvProperty.java
index b035a9171e..1da2b62dec 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvProperty.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvProperty.java
@@ -138,7 +138,7 @@ public class GqlvProperty
             final TypeMapper.InputContext inputContext) {
         return GraphQLArgument.newArgument()
                 .name(oneToOneAssociation.getId())
-                .type(context.typeMapper.inputTypeFor(oneToOneAssociation, 
inputContext))
+                .type(context.typeMapper.inputTypeFor(oneToOneAssociation, 
inputContext, SchemaType.RICH))
                 .build();
     }
 
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvPropertyAutoComplete.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvPropertyAutoComplete.java
index b504083361..d52e462b73 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvPropertyAutoComplete.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvPropertyAutoComplete.java
@@ -31,6 +31,7 @@ import 
org.apache.causeway.core.metamodel.consent.InteractionInitiatedBy;
 import org.apache.causeway.core.metamodel.object.ManagedObject;
 import org.apache.causeway.viewer.graphql.model.context.Context;
 import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstract;
+import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
 import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
 import 
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationProvider;
 import 
org.apache.causeway.viewer.graphql.model.mmproviders.OneToOneAssociationProvider;
@@ -55,7 +56,7 @@ public class GqlvPropertyAutoComplete extends GqlvAbstract {
             val elementType = otoa.getElementType();
             val fieldBuilder = newFieldDefinition()
                     .name("autoComplete")
-                    
.type(GraphQLList.list(context.typeMapper.outputTypeFor(elementType)));
+                    
.type(GraphQLList.list(context.typeMapper.outputTypeFor(elementType, 
SchemaType.RICH)));
             fieldBuilder.argument(GraphQLArgument.newArgument()
                             .name(SEARCH_PARAM_NAME)
                             
.type(nonNull(context.typeMapper.outputTypeFor(String.class))))
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvPropertyChoices.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvPropertyChoices.java
index 4a3c120bd7..7070a2ce0b 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvPropertyChoices.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvPropertyChoices.java
@@ -31,6 +31,7 @@ import 
org.apache.causeway.core.metamodel.object.ManagedObject;
 import org.apache.causeway.core.metamodel.spec.feature.OneToOneAssociation;
 import org.apache.causeway.viewer.graphql.model.context.Context;
 import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstract;
+import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
 import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
 import 
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationProvider;
 import 
org.apache.causeway.viewer.graphql.model.mmproviders.OneToOneAssociationProvider;
@@ -54,7 +55,7 @@ public class GqlvPropertyChoices extends GqlvAbstract {
             val elementType = otoa.getElementType();
             val fieldBuilder = newFieldDefinition()
                     .name("choices")
-                    
.type(GraphQLList.list(context.typeMapper.outputTypeFor(elementType)));
+                    
.type(GraphQLList.list(context.typeMapper.outputTypeFor(elementType, 
SchemaType.RICH)));
             holder.addGqlArgument(otoa, fieldBuilder, 
TypeMapper.InputContext.CHOICES);
             setField(fieldBuilder.build());
         } else {
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvPropertyGet.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvPropertyGet.java
index 0db13bad00..88fc85bfbb 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvPropertyGet.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvPropertyGet.java
@@ -37,7 +37,7 @@ public class GqlvPropertyGet extends 
GqlvAssociationGet<OneToOneAssociation> {
     @Override
     GraphQLOutputType 
outputTypeFor(GqlvAssociationGet.Holder<OneToOneAssociation> holder) {
         val oneToOneAssociation = holder.getObjectAssociation();
-        return context.typeMapper.outputTypeFor(oneToOneAssociation);
+        return context.typeMapper.outputTypeFor(oneToOneAssociation, 
holder.getSchemaType());
     }
 
     public interface Holder
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvPropertySet.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvPropertySet.java
index 13fb8d32d2..ce1ef136d1 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvPropertySet.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvPropertySet.java
@@ -31,6 +31,7 @@ import 
org.apache.causeway.core.metamodel.object.ManagedObject;
 import org.apache.causeway.core.metamodel.spec.feature.OneToOneAssociation;
 import org.apache.causeway.viewer.graphql.model.context.Context;
 import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstract;
+import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
 import org.apache.causeway.viewer.graphql.model.exceptions.DisabledException;
 import org.apache.causeway.viewer.graphql.model.exceptions.HiddenException;
 import org.apache.causeway.viewer.graphql.model.exceptions.InvalidException;
@@ -53,7 +54,7 @@ public class GqlvPropertySet extends GqlvAbstract {
         this.holder = holder;
 
         // setters return void, so we return the domain object instead
-        val graphQLOutputType = 
this.context.typeMapper.outputTypeFor(holder.getObjectSpecification());
+        val graphQLOutputType = 
this.context.typeMapper.outputTypeFor(holder.getObjectSpecification(), 
SchemaType.RICH);
 
         val fieldBuilder = newFieldDefinition()
                 .name("set")
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/registry/GraphQLTypeRegistry.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/registry/GraphQLTypeRegistry.java
index 8e232d2aca..518cd40857 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/registry/GraphQLTypeRegistry.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/registry/GraphQLTypeRegistry.java
@@ -75,9 +75,11 @@ public class GraphQLTypeRegistry {
     }
 
 
-    public GraphQLEnumType addEnumTypeIfNotAlreadyPresent(final Class<?> 
typeToAdd) {
+    public GraphQLEnumType addEnumTypeIfNotAlreadyPresent(
+            final Class<?> typeToAdd,
+            final SchemaType schemaType) {
         val objectSpec = 
contextProvider.get().specificationLoader.loadSpecification(typeToAdd);
-        val typeName = TypeNames.enumTypeNameFor(objectSpec, SchemaType.RICH);
+        val typeName = TypeNames.enumTypeNameFor(objectSpec, schemaType);
         val enumTypeIfAny = lookup(typeName, GraphQLEnumType.class);
         if (enumTypeIfAny.isPresent()) {
             return enumTypeIfAny.get();
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/types/TypeMapper.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/types/TypeMapper.java
index 0f3b29a8b3..7c3eb73631 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/types/TypeMapper.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/types/TypeMapper.java
@@ -22,6 +22,8 @@ import graphql.schema.GraphQLInputType;
 import graphql.schema.GraphQLList;
 import graphql.schema.GraphQLOutputType;
 
+import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
+
 import org.springframework.lang.Nullable;
 
 import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
@@ -42,24 +44,24 @@ public interface TypeMapper {
 
     GraphQLInputType inputTypeFor(final Class<?> c);
 
-    GraphQLOutputType outputTypeFor(final OneToOneFeature oneToOneFeature);
+    GraphQLOutputType outputTypeFor(final OneToOneFeature oneToOneFeature, 
SchemaType schemaType);
 
     @Nullable
-    GraphQLOutputType outputTypeFor(final ObjectSpecification 
objectSpecification);
+    GraphQLOutputType outputTypeFor(final ObjectSpecification 
objectSpecification, SchemaType schemaType);
 
     @Nullable
-    GraphQLList listTypeForElementTypeOf(OneToManyAssociation 
oneToManyAssociation);
+    GraphQLList listTypeForElementTypeOf(OneToManyAssociation 
oneToManyAssociation, SchemaType schemaType);
 
     @Nullable
-    GraphQLList listTypeFor(ObjectSpecification elementType);
+    GraphQLList listTypeFor(ObjectSpecification elementType, SchemaType 
schemaType);
 
     GraphQLInputType inputTypeFor(
             final OneToOneFeature oneToOneFeature,
-            final InputContext inputContext);
+            final InputContext inputContext, SchemaType schemaType);
 
-    GraphQLList inputTypeFor(final OneToManyActionParameter 
oneToManyActionParameter);
+    GraphQLList inputTypeFor(final OneToManyActionParameter 
oneToManyActionParameter, SchemaType schemaType);
 
-    GraphQLInputType inputTypeFor(final ObjectSpecification elementType);
+    GraphQLInputType inputTypeFor(final ObjectSpecification elementType, 
SchemaType schemaType);
 
     Object unmarshal(
             final Object argumentValue,
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/types/TypeMapperDefault.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/types/TypeMapperDefault.java
index 28c6c75657..05929a0e8d 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/types/TypeMapperDefault.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/types/TypeMapperDefault.java
@@ -67,7 +67,7 @@ public class TypeMapperDefault implements TypeMapper {
     @Override
     public GraphQLOutputType outputTypeFor(final Class<?> clazz){
         if (clazz.isEnum()) {
-            return 
contextProvider.get().graphQLTypeRegistry.addEnumTypeIfNotAlreadyPresent(clazz);
+            return 
contextProvider.get().graphQLTypeRegistry.addEnumTypeIfNotAlreadyPresent(clazz, 
SchemaType.RICH);
         }
         return scalarMapper.scalarTypeFor(clazz);
     }
@@ -75,7 +75,7 @@ public class TypeMapperDefault implements TypeMapper {
     @Override
     public GraphQLInputType inputTypeFor(final Class<?> clazz){
         if (clazz.isEnum()) {
-            return 
contextProvider.get().graphQLTypeRegistry.addEnumTypeIfNotAlreadyPresent(clazz);
+            return 
contextProvider.get().graphQLTypeRegistry.addEnumTypeIfNotAlreadyPresent(clazz, 
SchemaType.RICH);
         }
         return scalarMapper.scalarTypeFor(clazz);
     }
@@ -92,14 +92,16 @@ public class TypeMapperDefault implements TypeMapper {
     }
 
     @Override
-    public GraphQLOutputType outputTypeFor(final OneToOneFeature 
oneToOneFeature) {
+    public GraphQLOutputType outputTypeFor(
+            final OneToOneFeature oneToOneFeature,
+            final SchemaType schemaType) {
         ObjectSpecification otoaObjectSpec = oneToOneFeature.getElementType();
         switch (otoaObjectSpec.getBeanSort()) {
 
             case VIEW_MODEL:
             case ENTITY:
 
-                GraphQLTypeReference fieldTypeRef = 
typeRef(TypeNames.objectTypeNameFor(otoaObjectSpec, SchemaType.RICH));
+                GraphQLTypeReference fieldTypeRef = 
typeRef(TypeNames.objectTypeNameFor(otoaObjectSpec, schemaType));
                 return oneToOneFeature.isOptional()
                         ? fieldTypeRef
                         : nonNull(fieldTypeRef);
@@ -117,13 +119,15 @@ public class TypeMapperDefault implements TypeMapper {
 
     @Override
     @Nullable
-    public GraphQLOutputType outputTypeFor(final ObjectSpecification 
objectSpecification){
+    public GraphQLOutputType outputTypeFor(
+            final ObjectSpecification objectSpecification,
+            final SchemaType schemaType){
 
         switch (objectSpecification.getBeanSort()){
             case ABSTRACT:
             case ENTITY:
             case VIEW_MODEL:
-                return 
typeRef(TypeNames.objectTypeNameFor(objectSpecification, SchemaType.RICH));
+                return 
typeRef(TypeNames.objectTypeNameFor(objectSpecification, schemaType));
 
             case VALUE:
                 return 
outputTypeFor(objectSpecification.getCorrespondingClass());
@@ -139,17 +143,21 @@ public class TypeMapperDefault implements TypeMapper {
     }
 
     @Override
-    @Nullable public GraphQLList listTypeForElementTypeOf(OneToManyAssociation 
oneToManyAssociation) {
+    @Nullable public GraphQLList listTypeForElementTypeOf(
+            final OneToManyAssociation oneToManyAssociation,
+            final SchemaType schemaType) {
         val elementType = oneToManyAssociation.getElementType();
-        return listTypeFor(elementType);
+        return listTypeFor(elementType, schemaType);
     }
 
     @Override
-    @Nullable public GraphQLList listTypeFor(ObjectSpecification elementType) {
+    @Nullable public GraphQLList listTypeFor(
+            final ObjectSpecification elementType,
+            final SchemaType schemaType) {
         switch (elementType.getBeanSort()) {
             case VIEW_MODEL:
             case ENTITY:
-                return 
GraphQLList.list(typeRef(TypeNames.objectTypeNameFor(elementType, 
SchemaType.RICH)));
+                return 
GraphQLList.list(typeRef(TypeNames.objectTypeNameFor(elementType, schemaType)));
             case VALUE:
                 return 
GraphQLList.list(outputTypeFor(elementType.getCorrespondingClass()));
         }
@@ -159,19 +167,22 @@ public class TypeMapperDefault implements TypeMapper {
     @Override
     public GraphQLInputType inputTypeFor(
             final OneToOneFeature oneToOneFeature,
-            final InputContext inputContext) {
+            final InputContext inputContext,
+            final SchemaType schemaType) {
         return oneToOneFeature.isOptional() || 
inputContext.isOptionalAlwaysAllowed()
-                ? inputTypeFor_(oneToOneFeature)
-                : nonNull(inputTypeFor_(oneToOneFeature));
+                ? inputTypeFor_(oneToOneFeature, schemaType)
+                : nonNull(inputTypeFor_(oneToOneFeature, schemaType));
     }
 
-    private GraphQLInputType inputTypeFor_(final OneToOneFeature 
oneToOneFeature){
+    private GraphQLInputType inputTypeFor_(
+            final OneToOneFeature oneToOneFeature,
+            final SchemaType schemaType){
         val elementObjectSpec = oneToOneFeature.getElementType();
         switch (elementObjectSpec.getBeanSort()) {
             case ABSTRACT:
             case ENTITY:
             case VIEW_MODEL:
-                return typeRef(TypeNames.inputTypeNameFor(elementObjectSpec, 
SchemaType.RICH));
+                return typeRef(TypeNames.inputTypeNameFor(elementObjectSpec, 
schemaType));
 
             case VALUE:
                 return inputTypeFor(elementObjectSpec.getCorrespondingClass());
@@ -185,18 +196,22 @@ public class TypeMapperDefault implements TypeMapper {
     }
 
     @Override
-    public GraphQLList inputTypeFor(final OneToManyActionParameter 
oneToManyActionParameter){
+    public GraphQLList inputTypeFor(
+            final OneToManyActionParameter oneToManyActionParameter,
+            final SchemaType schemaType){
         val elementObjectSpec = oneToManyActionParameter.getElementType();
-        return GraphQLList.list(inputTypeFor(elementObjectSpec));
+        return GraphQLList.list(inputTypeFor(elementObjectSpec, schemaType));
     }
 
     @Override
-    public GraphQLInputType inputTypeFor(final ObjectSpecification 
elementType){
+    public GraphQLInputType inputTypeFor(
+            final ObjectSpecification elementType,
+            final SchemaType schemaType){
         switch (elementType.getBeanSort()) {
             case ABSTRACT:
             case ENTITY:
             case VIEW_MODEL:
-                return typeRef(TypeNames.inputTypeNameFor(elementType, 
SchemaType.RICH));
+                return typeRef(TypeNames.inputTypeNameFor(elementType, 
schemaType));
 
             case VALUE:
                 return inputTypeFor(elementType.getCorrespondingClass());
diff --git a/viewers/graphql/test/src/test/resources/schema.gql 
b/viewers/graphql/test/src/test/resources/schema.gql
index 90add01b94..4bfef08f74 100644
--- a/viewers/graphql/test/src/test/resources/schema.gql
+++ b/viewers/graphql/test/src/test/resources/schema.gql
@@ -189,53 +189,53 @@ type SimpleAndRich {
 
 type SimpleSchema {
   Scenario(name: String): Scenario
-  causeway_applib_DomainObjectList(object: 
simple__causeway_applib_DomainObjectList__gqlv_input): 
rich__causeway_applib_DomainObjectList
-  causeway_applib_FacetGroupNode(object: 
simple__causeway_applib_FacetGroupNode__gqlv_input): 
rich__causeway_applib_FacetGroupNode
-  causeway_applib_ParameterNode(object: 
simple__causeway_applib_ParameterNode__gqlv_input): 
rich__causeway_applib_ParameterNode
-  causeway_applib_PropertyNode(object: 
simple__causeway_applib_PropertyNode__gqlv_input): 
rich__causeway_applib_PropertyNode
-  causeway_applib_RoleMemento(object: 
simple__causeway_applib_RoleMemento__gqlv_input): 
rich__causeway_applib_RoleMemento
-  causeway_applib_TypeNode(object: 
simple__causeway_applib_TypeNode__gqlv_input): rich__causeway_applib_TypeNode
-  causeway_applib_UserMemento(object: 
simple__causeway_applib_UserMemento__gqlv_input): 
rich__causeway_applib_UserMemento
+  causeway_applib_DomainObjectList(object: 
simple__causeway_applib_DomainObjectList__gqlv_input): 
simple__causeway_applib_DomainObjectList
+  causeway_applib_FacetGroupNode(object: 
simple__causeway_applib_FacetGroupNode__gqlv_input): 
simple__causeway_applib_FacetGroupNode
+  causeway_applib_ParameterNode(object: 
simple__causeway_applib_ParameterNode__gqlv_input): 
simple__causeway_applib_ParameterNode
+  causeway_applib_PropertyNode(object: 
simple__causeway_applib_PropertyNode__gqlv_input): 
simple__causeway_applib_PropertyNode
+  causeway_applib_RoleMemento(object: 
simple__causeway_applib_RoleMemento__gqlv_input): 
simple__causeway_applib_RoleMemento
+  causeway_applib_TypeNode(object: 
simple__causeway_applib_TypeNode__gqlv_input): simple__causeway_applib_TypeNode
+  causeway_applib_UserMemento(object: 
simple__causeway_applib_UserMemento__gqlv_input): 
simple__causeway_applib_UserMemento
   causeway_applib_UserMenu: simple__causeway_applib_UserMenu
-  causeway_applib_node_ActionNode(object: 
simple__causeway_applib_node_ActionNode__gqlv_input): 
rich__causeway_applib_node_ActionNode
-  causeway_applib_node_CollectionNode(object: 
simple__causeway_applib_node_CollectionNode__gqlv_input): 
rich__causeway_applib_node_CollectionNode
-  causeway_applib_node_FacetAttrNode(object: 
simple__causeway_applib_node_FacetAttrNode__gqlv_input): 
rich__causeway_applib_node_FacetAttrNode
-  causeway_applib_node_FacetNode(object: 
simple__causeway_applib_node_FacetNode__gqlv_input): 
rich__causeway_applib_node_FacetNode
+  causeway_applib_node_ActionNode(object: 
simple__causeway_applib_node_ActionNode__gqlv_input): 
simple__causeway_applib_node_ActionNode
+  causeway_applib_node_CollectionNode(object: 
simple__causeway_applib_node_CollectionNode__gqlv_input): 
simple__causeway_applib_node_CollectionNode
+  causeway_applib_node_FacetAttrNode(object: 
simple__causeway_applib_node_FacetAttrNode__gqlv_input): 
simple__causeway_applib_node_FacetAttrNode
+  causeway_applib_node_FacetNode(object: 
simple__causeway_applib_node_FacetNode__gqlv_input): 
simple__causeway_applib_node_FacetNode
   causeway_conf_ConfigurationMenu: simple__causeway_conf_ConfigurationMenu
-  causeway_conf_ConfigurationProperty(object: 
simple__causeway_conf_ConfigurationProperty__gqlv_input): 
rich__causeway_conf_ConfigurationProperty
-  causeway_conf_ConfigurationViewmodel(object: 
simple__causeway_conf_ConfigurationViewmodel__gqlv_input): 
rich__causeway_conf_ConfigurationViewmodel
-  causeway_feat_ApplicationFeatureViewModel(object: 
simple__causeway_feat_ApplicationFeatureViewModel__gqlv_input): 
rich__causeway_feat_ApplicationFeatureViewModel
-  causeway_feat_ApplicationNamespace(object: 
simple__causeway_feat_ApplicationNamespace__gqlv_input): 
rich__causeway_feat_ApplicationNamespace
-  causeway_feat_ApplicationType(object: 
simple__causeway_feat_ApplicationType__gqlv_input): 
rich__causeway_feat_ApplicationType
-  causeway_feat_ApplicationTypeAction(object: 
simple__causeway_feat_ApplicationTypeAction__gqlv_input): 
rich__causeway_feat_ApplicationTypeAction
-  causeway_feat_ApplicationTypeCollection(object: 
simple__causeway_feat_ApplicationTypeCollection__gqlv_input): 
rich__causeway_feat_ApplicationTypeCollection
-  causeway_feat_ApplicationTypeMember(object: 
simple__causeway_feat_ApplicationTypeMember__gqlv_input): 
rich__causeway_feat_ApplicationTypeMember
-  causeway_feat_ApplicationTypeProperty(object: 
simple__causeway_feat_ApplicationTypeProperty__gqlv_input): 
rich__causeway_feat_ApplicationTypeProperty
-  causeway_schema_metamodel_v2_DomainClassDto(object: 
simple__causeway_schema_metamodel_v2_DomainClassDto__gqlv_input): 
rich__causeway_schema_metamodel_v2_DomainClassDto
-  causeway_security_LoginRedirect(object: 
simple__causeway_security_LoginRedirect__gqlv_input): 
rich__causeway_security_LoginRedirect
+  causeway_conf_ConfigurationProperty(object: 
simple__causeway_conf_ConfigurationProperty__gqlv_input): 
simple__causeway_conf_ConfigurationProperty
+  causeway_conf_ConfigurationViewmodel(object: 
simple__causeway_conf_ConfigurationViewmodel__gqlv_input): 
simple__causeway_conf_ConfigurationViewmodel
+  causeway_feat_ApplicationFeatureViewModel(object: 
simple__causeway_feat_ApplicationFeatureViewModel__gqlv_input): 
simple__causeway_feat_ApplicationFeatureViewModel
+  causeway_feat_ApplicationNamespace(object: 
simple__causeway_feat_ApplicationNamespace__gqlv_input): 
simple__causeway_feat_ApplicationNamespace
+  causeway_feat_ApplicationType(object: 
simple__causeway_feat_ApplicationType__gqlv_input): 
simple__causeway_feat_ApplicationType
+  causeway_feat_ApplicationTypeAction(object: 
simple__causeway_feat_ApplicationTypeAction__gqlv_input): 
simple__causeway_feat_ApplicationTypeAction
+  causeway_feat_ApplicationTypeCollection(object: 
simple__causeway_feat_ApplicationTypeCollection__gqlv_input): 
simple__causeway_feat_ApplicationTypeCollection
+  causeway_feat_ApplicationTypeMember(object: 
simple__causeway_feat_ApplicationTypeMember__gqlv_input): 
simple__causeway_feat_ApplicationTypeMember
+  causeway_feat_ApplicationTypeProperty(object: 
simple__causeway_feat_ApplicationTypeProperty__gqlv_input): 
simple__causeway_feat_ApplicationTypeProperty
+  causeway_schema_metamodel_v2_DomainClassDto(object: 
simple__causeway_schema_metamodel_v2_DomainClassDto__gqlv_input): 
simple__causeway_schema_metamodel_v2_DomainClassDto
+  causeway_security_LoginRedirect(object: 
simple__causeway_security_LoginRedirect__gqlv_input): 
simple__causeway_security_LoginRedirect
   causeway_security_LogoutMenu: simple__causeway_security_LogoutMenu
-  causeway_testing_fixtures_FixtureResult(object: 
simple__causeway_testing_fixtures_FixtureResult__gqlv_input): 
rich__causeway_testing_fixtures_FixtureResult
-  java_lang_Runnable(object: simple__java_lang_Runnable__gqlv_input): 
rich__java_lang_Runnable
-  java_util_Map(object: simple__java_util_Map__gqlv_input): rich__java_util_Map
-  java_util_SortedMap(object: simple__java_util_SortedMap__gqlv_input): 
rich__java_util_SortedMap
-  java_util_concurrent_Callable(object: 
simple__java_util_concurrent_Callable__gqlv_input): 
rich__java_util_concurrent_Callable
-  java_util_function_BiFunction(object: 
simple__java_util_function_BiFunction__gqlv_input): 
rich__java_util_function_BiFunction
-  java_util_function_Consumer(object: 
simple__java_util_function_Consumer__gqlv_input): 
rich__java_util_function_Consumer
-  java_util_function_Function(object: 
simple__java_util_function_Function__gqlv_input): 
rich__java_util_function_Function
-  java_util_stream_Stream(object: 
simple__java_util_stream_Stream__gqlv_input): rich__java_util_stream_Stream
-  org_apache_causeway_core_metamodel_inspect_model_MMNode(object: 
simple__org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_input): 
rich__org_apache_causeway_core_metamodel_inspect_model_MMNode
-  org_apache_causeway_core_metamodel_inspect_model_MemberNode(object: 
simple__org_apache_causeway_core_metamodel_inspect_model_MemberNode__gqlv_input):
 rich__org_apache_causeway_core_metamodel_inspect_model_MemberNode
-  
org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript(object:
 
simple__org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__gqlv_input):
 rich__org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript
+  causeway_testing_fixtures_FixtureResult(object: 
simple__causeway_testing_fixtures_FixtureResult__gqlv_input): 
simple__causeway_testing_fixtures_FixtureResult
+  java_lang_Runnable(object: simple__java_lang_Runnable__gqlv_input): 
simple__java_lang_Runnable
+  java_util_Map(object: simple__java_util_Map__gqlv_input): 
simple__java_util_Map
+  java_util_SortedMap(object: simple__java_util_SortedMap__gqlv_input): 
simple__java_util_SortedMap
+  java_util_concurrent_Callable(object: 
simple__java_util_concurrent_Callable__gqlv_input): 
simple__java_util_concurrent_Callable
+  java_util_function_BiFunction(object: 
simple__java_util_function_BiFunction__gqlv_input): 
simple__java_util_function_BiFunction
+  java_util_function_Consumer(object: 
simple__java_util_function_Consumer__gqlv_input): 
simple__java_util_function_Consumer
+  java_util_function_Function(object: 
simple__java_util_function_Function__gqlv_input): 
simple__java_util_function_Function
+  java_util_stream_Stream(object: 
simple__java_util_stream_Stream__gqlv_input): simple__java_util_stream_Stream
+  org_apache_causeway_core_metamodel_inspect_model_MMNode(object: 
simple__org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_input): 
simple__org_apache_causeway_core_metamodel_inspect_model_MMNode
+  org_apache_causeway_core_metamodel_inspect_model_MemberNode(object: 
simple__org_apache_causeway_core_metamodel_inspect_model_MemberNode__gqlv_input):
 simple__org_apache_causeway_core_metamodel_inspect_model_MemberNode
+  
org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript(object:
 
simple__org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__gqlv_input):
 
simple__org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript
   university_admin_AdminMenu: simple__university_admin_AdminMenu
   university_calc_Calculator: simple__university_calc_Calculator
-  university_dept_Department(object: 
simple__university_dept_Department__gqlv_input): 
rich__university_dept_Department
+  university_dept_Department(object: 
simple__university_dept_Department__gqlv_input): 
simple__university_dept_Department
   university_dept_Departments: simple__university_dept_Departments
-  university_dept_DeptHead(object: 
simple__university_dept_DeptHead__gqlv_input): rich__university_dept_DeptHead
+  university_dept_DeptHead(object: 
simple__university_dept_DeptHead__gqlv_input): simple__university_dept_DeptHead
   university_dept_DeptHeads: simple__university_dept_DeptHeads
   university_dept_People: simple__university_dept_People
-  university_dept_Person(object: simple__university_dept_Person__gqlv_input): 
rich__university_dept_Person
+  university_dept_Person(object: simple__university_dept_Person__gqlv_input): 
simple__university_dept_Person
   university_dept_Staff: simple__university_dept_Staff
-  university_dept_StaffMember(object: 
simple__university_dept_StaffMember__gqlv_input): 
rich__university_dept_StaffMember
+  university_dept_StaffMember(object: 
simple__university_dept_StaffMember__gqlv_input): 
simple__university_dept_StaffMember
 }
 
 type rich__causeway_applib_DomainObjectList {
@@ -4246,7 +4246,7 @@ type 
simple__causeway_applib_ParameterNode__parameter__gqlv_property {
 type simple__causeway_applib_ParameterNode__parentNode__gqlv_property {
   datatype: String
   disabled: String
-  get: rich__causeway_applib_node_ActionNode!
+  get: simple__causeway_applib_node_ActionNode!
   hidden: Boolean
   set(parentNode: rich__causeway_applib_node_ActionNode__gqlv_input!): 
rich__causeway_applib_ParameterNode
   validate(parentNode: rich__causeway_applib_node_ActionNode__gqlv_input): 
String
@@ -4294,7 +4294,7 @@ type 
simple__causeway_applib_PropertyNode__mixedIn__gqlv_property {
 type simple__causeway_applib_PropertyNode__parentNode__gqlv_property {
   datatype: String
   disabled: String
-  get: rich__causeway_applib_TypeNode!
+  get: simple__causeway_applib_TypeNode!
   hidden: Boolean
   set(parentNode: rich__causeway_applib_TypeNode__gqlv_input!): 
rich__causeway_applib_PropertyNode
   validate(parentNode: rich__causeway_applib_TypeNode__gqlv_input): String
@@ -4367,7 +4367,7 @@ type 
simple__causeway_applib_TypeNode__childNodes__gqlv_collection {
 type simple__causeway_applib_TypeNode__domainClassDto__gqlv_property {
   datatype: String
   disabled: String
-  get: rich__causeway_schema_metamodel_v2_DomainClassDto!
+  get: simple__causeway_schema_metamodel_v2_DomainClassDto!
   hidden: Boolean
   set(domainClassDto: 
rich__causeway_schema_metamodel_v2_DomainClassDto__gqlv_input!): 
rich__causeway_applib_TypeNode
   validate(domainClassDto: 
rich__causeway_schema_metamodel_v2_DomainClassDto__gqlv_input): String
@@ -4515,7 +4515,7 @@ type 
simple__causeway_applib_UserMemento__realName__gqlv_property {
 type simple__causeway_applib_UserMemento__roles__gqlv_collection {
   datatype: String
   disabled: String
-  get: [rich__causeway_applib_RoleMemento]
+  get: [simple__causeway_applib_RoleMemento]
   hidden: Boolean
 }
 
@@ -4542,7 +4542,7 @@ type simple__causeway_applib_UserMenu__me__gqlv_action {
 }
 
 type simple__causeway_applib_UserMenu__me__gqlv_action_invoke {
-  results: rich__causeway_applib_UserMemento
+  results: simple__causeway_applib_UserMemento
 }
 
 type simple__causeway_applib_node_ActionNode {
@@ -4596,7 +4596,7 @@ type 
simple__causeway_applib_node_ActionNode__mixedIn__gqlv_property {
 type simple__causeway_applib_node_ActionNode__parentNode__gqlv_property {
   datatype: String
   disabled: String
-  get: rich__causeway_applib_TypeNode!
+  get: simple__causeway_applib_TypeNode!
   hidden: Boolean
   set(parentNode: rich__causeway_applib_TypeNode__gqlv_input!): 
rich__causeway_applib_node_ActionNode
   validate(parentNode: rich__causeway_applib_TypeNode__gqlv_input): String
@@ -4653,7 +4653,7 @@ type 
simple__causeway_applib_node_CollectionNode__mixedIn__gqlv_property {
 type simple__causeway_applib_node_CollectionNode__parentNode__gqlv_property {
   datatype: String
   disabled: String
-  get: rich__causeway_applib_TypeNode!
+  get: simple__causeway_applib_TypeNode!
   hidden: Boolean
   set(parentNode: rich__causeway_applib_TypeNode__gqlv_input!): 
rich__causeway_applib_node_CollectionNode
   validate(parentNode: rich__causeway_applib_TypeNode__gqlv_input): String
@@ -4699,7 +4699,7 @@ type 
simple__causeway_applib_node_FacetAttrNode__gqlv_meta {
 type simple__causeway_applib_node_FacetAttrNode__parentNode__gqlv_property {
   datatype: String
   disabled: String
-  get: rich__causeway_applib_node_FacetNode!
+  get: simple__causeway_applib_node_FacetNode!
   hidden: Boolean
   set(parentNode: rich__causeway_applib_node_FacetNode__gqlv_input!): 
rich__causeway_applib_node_FacetAttrNode
   validate(parentNode: rich__causeway_applib_node_FacetNode__gqlv_input): 
String
@@ -4774,7 +4774,7 @@ type 
simple__causeway_conf_ConfigurationMenu__configuration__gqlv_action {
 }
 
 type 
simple__causeway_conf_ConfigurationMenu__configuration__gqlv_action_invoke {
-  results: rich__causeway_conf_ConfigurationViewmodel
+  results: simple__causeway_conf_ConfigurationViewmodel
 }
 
 type simple__causeway_conf_ConfigurationProperty {
@@ -4829,7 +4829,7 @@ type simple__causeway_conf_ConfigurationViewmodel {
 type 
simple__causeway_conf_ConfigurationViewmodel__environment__gqlv_collection {
   datatype: String
   disabled: String
-  get: [rich__causeway_conf_ConfigurationProperty]
+  get: [simple__causeway_conf_ConfigurationProperty]
   hidden: Boolean
 }
 
@@ -4847,14 +4847,14 @@ type 
simple__causeway_conf_ConfigurationViewmodel__gqlv_meta {
 type simple__causeway_conf_ConfigurationViewmodel__primary__gqlv_collection {
   datatype: String
   disabled: String
-  get: [rich__causeway_conf_ConfigurationProperty]
+  get: [simple__causeway_conf_ConfigurationProperty]
   hidden: Boolean
 }
 
 type simple__causeway_conf_ConfigurationViewmodel__secondary__gqlv_collection {
   datatype: String
   disabled: String
-  get: [rich__causeway_conf_ConfigurationProperty]
+  get: [simple__causeway_conf_ConfigurationProperty]
   hidden: Boolean
 }
 
@@ -5331,14 +5331,14 @@ type 
simple__causeway_feat_ApplicationTypeProperty__typicalLength__gqlv_property
 type simple__causeway_feat_ApplicationType__actions__gqlv_collection {
   datatype: String
   disabled: String
-  get: [rich__causeway_feat_ApplicationTypeAction]
+  get: [simple__causeway_feat_ApplicationTypeAction]
   hidden: Boolean
 }
 
 type simple__causeway_feat_ApplicationType__collections__gqlv_collection {
   datatype: String
   disabled: String
-  get: [rich__causeway_feat_ApplicationTypeCollection]
+  get: [simple__causeway_feat_ApplicationTypeCollection]
   hidden: Boolean
 }
 
@@ -5382,7 +5382,7 @@ type 
simple__causeway_feat_ApplicationType__parent__gqlv_property {
 type simple__causeway_feat_ApplicationType__properties__gqlv_collection {
   datatype: String
   disabled: String
-  get: [rich__causeway_feat_ApplicationTypeProperty]
+  get: [simple__causeway_feat_ApplicationTypeProperty]
   hidden: Boolean
 }
 
@@ -5819,7 +5819,7 @@ type 
simple__org_apache_causeway_core_metamodel_inspect_model_MemberNode__mixedI
 type 
simple__org_apache_causeway_core_metamodel_inspect_model_MemberNode__parentNode__gqlv_property
 {
   datatype: String
   disabled: String
-  get: rich__causeway_applib_TypeNode!
+  get: simple__causeway_applib_TypeNode!
   hidden: Boolean
   set(parentNode: rich__causeway_applib_TypeNode__gqlv_input!): 
rich__org_apache_causeway_core_metamodel_inspect_model_MemberNode
   validate(parentNode: rich__causeway_applib_TypeNode__gqlv_input): String
@@ -7202,20 +7202,20 @@ type simple__university_dept_Department {
 type simple__university_dept_Department__addStaffMember__gqlv_action {
   disabled: String
   hidden: Boolean
-  invokeIdempotent(staffMember: 
rich__university_dept_StaffMember__gqlv_input!): 
simple__university_dept_Department__addStaffMember__gqlv_action_invoke
+  invokeIdempotent(staffMember: 
simple__university_dept_StaffMember__gqlv_input!): 
simple__university_dept_Department__addStaffMember__gqlv_action_invoke
   "Parameters of this action"
   params: 
simple__university_dept_Department__addStaffMember__gqlv_action_params
-  validate(staffMember: rich__university_dept_StaffMember__gqlv_input): String
+  validate(staffMember: simple__university_dept_StaffMember__gqlv_input): 
String
 }
 
 type simple__university_dept_Department__addStaffMember__gqlv_action_args {
-  staffMember: rich__university_dept_StaffMember
+  staffMember: simple__university_dept_StaffMember
 }
 
 type simple__university_dept_Department__addStaffMember__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: simple__university_dept_Department__addStaffMember__gqlv_action_args
-  results: rich__university_dept_Department
+  results: simple__university_dept_Department
 }
 
 type simple__university_dept_Department__addStaffMember__gqlv_action_params {
@@ -7224,9 +7224,9 @@ type 
simple__university_dept_Department__addStaffMember__gqlv_action_params {
 }
 
 type 
simple__university_dept_Department__addStaffMember__staffMember__gqlv_action_parameter
 {
-  autoComplete(search: String!): [rich__university_dept_StaffMember]
+  autoComplete(search: String!): [simple__university_dept_StaffMember]
   datatype: String
-  disabled(staffMember: rich__university_dept_StaffMember__gqlv_input): String
+  disabled(staffMember: simple__university_dept_StaffMember__gqlv_input): 
String
   hidden: Boolean
   validity: String
 }
@@ -7235,20 +7235,20 @@ type 
simple__university_dept_Department__addStaffMember__staffMember__gqlv_actio
 type simple__university_dept_Department__addStaffMembers__gqlv_action {
   disabled: String
   hidden: Boolean
-  invokeIdempotent(staffMembers: 
[rich__university_dept_StaffMember__gqlv_input]): 
simple__university_dept_Department__addStaffMembers__gqlv_action_invoke
+  invokeIdempotent(staffMembers: 
[simple__university_dept_StaffMember__gqlv_input]): 
simple__university_dept_Department__addStaffMembers__gqlv_action_invoke
   "Parameters of this action"
   params: 
simple__university_dept_Department__addStaffMembers__gqlv_action_params
-  validate(staffMembers: [rich__university_dept_StaffMember__gqlv_input]): 
String
+  validate(staffMembers: [simple__university_dept_StaffMember__gqlv_input]): 
String
 }
 
 type simple__university_dept_Department__addStaffMembers__gqlv_action_args {
-  staffMembers: [rich__university_dept_StaffMember]
+  staffMembers: [simple__university_dept_StaffMember]
 }
 
 type simple__university_dept_Department__addStaffMembers__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: simple__university_dept_Department__addStaffMembers__gqlv_action_args
-  results: rich__university_dept_Department
+  results: simple__university_dept_Department
 }
 
 type simple__university_dept_Department__addStaffMembers__gqlv_action_params {
@@ -7257,9 +7257,9 @@ type 
simple__university_dept_Department__addStaffMembers__gqlv_action_params {
 }
 
 type 
simple__university_dept_Department__addStaffMembers__staffMembers__gqlv_action_parameter
 {
-  choices: [rich__university_dept_StaffMember]
+  choices: [simple__university_dept_StaffMember]
   datatype: String
-  disabled(staffMembers: [rich__university_dept_StaffMember__gqlv_input]): 
String
+  disabled(staffMembers: [simple__university_dept_StaffMember__gqlv_input]): 
String
   hidden: Boolean
   validity: String
 }
@@ -7268,20 +7268,20 @@ type 
simple__university_dept_Department__addStaffMembers__staffMembers__gqlv_act
 type simple__university_dept_Department__changeDeptHead__gqlv_action {
   disabled: String
   hidden: Boolean
-  invokeIdempotent(newDeptHead: rich__university_dept_DeptHead__gqlv_input!): 
simple__university_dept_Department__changeDeptHead__gqlv_action_invoke
+  invokeIdempotent(newDeptHead: 
simple__university_dept_DeptHead__gqlv_input!): 
simple__university_dept_Department__changeDeptHead__gqlv_action_invoke
   "Parameters of this action"
   params: 
simple__university_dept_Department__changeDeptHead__gqlv_action_params
-  validate(newDeptHead: rich__university_dept_DeptHead__gqlv_input): String
+  validate(newDeptHead: simple__university_dept_DeptHead__gqlv_input): String
 }
 
 type simple__university_dept_Department__changeDeptHead__gqlv_action_args {
-  newDeptHead: rich__university_dept_DeptHead
+  newDeptHead: simple__university_dept_DeptHead
 }
 
 type simple__university_dept_Department__changeDeptHead__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: simple__university_dept_Department__changeDeptHead__gqlv_action_args
-  results: rich__university_dept_Department
+  results: simple__university_dept_Department
 }
 
 type simple__university_dept_Department__changeDeptHead__gqlv_action_params {
@@ -7290,10 +7290,10 @@ type 
simple__university_dept_Department__changeDeptHead__gqlv_action_params {
 }
 
 type 
simple__university_dept_Department__changeDeptHead__newDeptHead__gqlv_action_parameter
 {
-  autoComplete(search: String!): [rich__university_dept_DeptHead]
+  autoComplete(search: String!): [simple__university_dept_DeptHead]
   datatype: String
-  default: rich__university_dept_DeptHead
-  disabled(newDeptHead: rich__university_dept_DeptHead__gqlv_input): String
+  default: simple__university_dept_DeptHead
+  disabled(newDeptHead: simple__university_dept_DeptHead__gqlv_input): String
   hidden: Boolean
   validity: String
 }
@@ -7315,7 +7315,7 @@ type 
simple__university_dept_Department__changeName__gqlv_action_args {
 type simple__university_dept_Department__changeName__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: simple__university_dept_Department__changeName__gqlv_action_args
-  results: rich__university_dept_Department
+  results: simple__university_dept_Department
 }
 
 type simple__university_dept_Department__changeName__gqlv_action_params {
@@ -7336,7 +7336,7 @@ type 
simple__university_dept_Department__deptHead__gqlv_property {
   autoComplete(search: String!): [rich__university_dept_DeptHead]
   datatype: String
   disabled: String
-  get: rich__university_dept_DeptHead
+  get: simple__university_dept_DeptHead
   hidden: Boolean
   set(deptHead: rich__university_dept_DeptHead__gqlv_input): 
rich__university_dept_Department
   validate(deptHead: rich__university_dept_DeptHead__gqlv_input): String
@@ -7367,20 +7367,20 @@ type 
simple__university_dept_Department__name__gqlv_property {
 type simple__university_dept_Department__removeStaffMember__gqlv_action {
   disabled: String
   hidden: Boolean
-  invokeIdempotent(staffMember: 
rich__university_dept_StaffMember__gqlv_input!): 
simple__university_dept_Department__removeStaffMember__gqlv_action_invoke
+  invokeIdempotent(staffMember: 
simple__university_dept_StaffMember__gqlv_input!): 
simple__university_dept_Department__removeStaffMember__gqlv_action_invoke
   "Parameters of this action"
   params: 
simple__university_dept_Department__removeStaffMember__gqlv_action_params
-  validate(staffMember: rich__university_dept_StaffMember__gqlv_input): String
+  validate(staffMember: simple__university_dept_StaffMember__gqlv_input): 
String
 }
 
 type simple__university_dept_Department__removeStaffMember__gqlv_action_args {
-  staffMember: rich__university_dept_StaffMember
+  staffMember: simple__university_dept_StaffMember
 }
 
 type simple__university_dept_Department__removeStaffMember__gqlv_action_invoke 
{
   "Arguments used to invoke this action"
   args: simple__university_dept_Department__removeStaffMember__gqlv_action_args
-  results: rich__university_dept_Department
+  results: simple__university_dept_Department
 }
 
 type simple__university_dept_Department__removeStaffMember__gqlv_action_params 
{
@@ -7389,9 +7389,9 @@ type 
simple__university_dept_Department__removeStaffMember__gqlv_action_params {
 }
 
 type 
simple__university_dept_Department__removeStaffMember__staffMember__gqlv_action_parameter
 {
-  choices: [rich__university_dept_StaffMember]
+  choices: [simple__university_dept_StaffMember]
   datatype: String
-  disabled(staffMember: rich__university_dept_StaffMember__gqlv_input): String
+  disabled(staffMember: simple__university_dept_StaffMember__gqlv_input): 
String
   hidden: Boolean
   validity: String
 }
@@ -7400,7 +7400,7 @@ type 
simple__university_dept_Department__removeStaffMember__staffMember__gqlv_ac
 type simple__university_dept_Department__staffMembers__gqlv_collection {
   datatype: String
   disabled: String
-  get: [rich__university_dept_StaffMember]
+  get: [simple__university_dept_StaffMember]
   hidden: Boolean
 }
 
@@ -7414,9 +7414,9 @@ type simple__university_dept_Departments {
 }
 
 type 
simple__university_dept_Departments__createDepartment__deptHead__gqlv_action_parameter
 {
-  autoComplete(name: String, search: String!): [rich__university_dept_DeptHead]
+  autoComplete(name: String, search: String!): 
[simple__university_dept_DeptHead]
   datatype: String
-  disabled(deptHead: rich__university_dept_DeptHead__gqlv_input, name: 
String): String
+  disabled(deptHead: simple__university_dept_DeptHead__gqlv_input, name: 
String): String
   hidden(name: String): Boolean
   validity: String
 }
@@ -7425,21 +7425,21 @@ type 
simple__university_dept_Departments__createDepartment__deptHead__gqlv_actio
 type simple__university_dept_Departments__createDepartment__gqlv_action {
   disabled: String
   hidden: Boolean
-  invokeNonIdempotent(deptHead: rich__university_dept_DeptHead__gqlv_input, 
name: String!): 
simple__university_dept_Departments__createDepartment__gqlv_action_invoke
+  invokeNonIdempotent(deptHead: simple__university_dept_DeptHead__gqlv_input, 
name: String!): 
simple__university_dept_Departments__createDepartment__gqlv_action_invoke
   "Parameters of this action"
   params: 
simple__university_dept_Departments__createDepartment__gqlv_action_params
-  validate(deptHead: rich__university_dept_DeptHead__gqlv_input, name: 
String): String
+  validate(deptHead: simple__university_dept_DeptHead__gqlv_input, name: 
String): String
 }
 
 type simple__university_dept_Departments__createDepartment__gqlv_action_args {
-  deptHead: rich__university_dept_DeptHead
+  deptHead: simple__university_dept_DeptHead
   name: String
 }
 
 type simple__university_dept_Departments__createDepartment__gqlv_action_invoke 
{
   "Arguments used to invoke this action"
   args: simple__university_dept_Departments__createDepartment__gqlv_action_args
-  results: rich__university_dept_Department
+  results: simple__university_dept_Department
 }
 
 type simple__university_dept_Departments__createDepartment__gqlv_action_params 
{
@@ -7465,7 +7465,7 @@ type 
simple__university_dept_Departments__findAllDepartments__gqlv_action {
 }
 
 type 
simple__university_dept_Departments__findAllDepartments__gqlv_action_invoke {
-  results: [rich__university_dept_Department]
+  results: [simple__university_dept_Department]
 }
 
 "University department specializing in a field of study"
@@ -7485,7 +7485,7 @@ type 
simple__university_dept_Departments__findDepartmentByName__gqlv_action_args
 type 
simple__university_dept_Departments__findDepartmentByName__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: 
simple__university_dept_Departments__findDepartmentByName__gqlv_action_args
-  results: rich__university_dept_Department
+  results: simple__university_dept_Department
 }
 
 type 
simple__university_dept_Departments__findDepartmentByName__gqlv_action_params {
@@ -7515,9 +7515,9 @@ type simple__university_dept_DeptHead {
 }
 
 type 
simple__university_dept_DeptHead__changeDepartment__department__gqlv_action_parameter
 {
-  choices: [rich__university_dept_Department]
+  choices: [simple__university_dept_Department]
   datatype: String
-  disabled(department: rich__university_dept_Department__gqlv_input): String
+  disabled(department: simple__university_dept_Department__gqlv_input): String
   hidden: Boolean
   validity: String
 }
@@ -7526,20 +7526,20 @@ type 
simple__university_dept_DeptHead__changeDepartment__department__gqlv_action
 type simple__university_dept_DeptHead__changeDepartment__gqlv_action {
   disabled: String
   hidden: Boolean
-  invokeIdempotent(department: rich__university_dept_Department__gqlv_input!): 
simple__university_dept_DeptHead__changeDepartment__gqlv_action_invoke
+  invokeIdempotent(department: 
simple__university_dept_Department__gqlv_input!): 
simple__university_dept_DeptHead__changeDepartment__gqlv_action_invoke
   "Parameters of this action"
   params: 
simple__university_dept_DeptHead__changeDepartment__gqlv_action_params
-  validate(department: rich__university_dept_Department__gqlv_input): String
+  validate(department: simple__university_dept_Department__gqlv_input): String
 }
 
 type simple__university_dept_DeptHead__changeDepartment__gqlv_action_args {
-  department: rich__university_dept_Department
+  department: simple__university_dept_Department
 }
 
 type simple__university_dept_DeptHead__changeDepartment__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: simple__university_dept_DeptHead__changeDepartment__gqlv_action_args
-  results: rich__university_dept_DeptHead
+  results: simple__university_dept_DeptHead
 }
 
 type simple__university_dept_DeptHead__changeDepartment__gqlv_action_params {
@@ -7564,7 +7564,7 @@ type 
simple__university_dept_DeptHead__changeName__gqlv_action_args {
 type simple__university_dept_DeptHead__changeName__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: simple__university_dept_DeptHead__changeName__gqlv_action_args
-  results: rich__university_dept_DeptHead
+  results: simple__university_dept_DeptHead
 }
 
 type simple__university_dept_DeptHead__changeName__gqlv_action_params {
@@ -7585,7 +7585,7 @@ type 
simple__university_dept_DeptHead__department__gqlv_property {
   choices(department: rich__university_dept_Department__gqlv_input): 
[rich__university_dept_Department]
   datatype: String
   disabled: String
-  get: rich__university_dept_Department
+  get: simple__university_dept_Department
   hidden: Boolean
   set(department: rich__university_dept_Department__gqlv_input): 
rich__university_dept_DeptHead
   validate(department: rich__university_dept_Department__gqlv_input): String
@@ -7628,7 +7628,7 @@ type 
simple__university_dept_DeptHeads__findAllHeads__gqlv_action {
 }
 
 type simple__university_dept_DeptHeads__findAllHeads__gqlv_action_invoke {
-  results: [rich__university_dept_DeptHead]
+  results: [simple__university_dept_DeptHead]
 }
 
 "Departmental head, responsible for curriculum, research, funding and staff"
@@ -7648,7 +7648,7 @@ type 
simple__university_dept_DeptHeads__findHeadByName__gqlv_action_args {
 type simple__university_dept_DeptHeads__findHeadByName__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: simple__university_dept_DeptHeads__findHeadByName__gqlv_action_args
-  results: rich__university_dept_DeptHead
+  results: simple__university_dept_DeptHead
 }
 
 type simple__university_dept_DeptHeads__findHeadByName__gqlv_action_params {
@@ -7686,7 +7686,7 @@ type 
simple__university_dept_People__findNamed__gqlv_action_args {
 type simple__university_dept_People__findNamed__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: simple__university_dept_People__findNamed__gqlv_action_args
-  results: rich__university_dept_Person
+  results: simple__university_dept_Person
 }
 
 type simple__university_dept_People__findNamed__gqlv_action_params {
@@ -7704,14 +7704,14 @@ type 
simple__university_dept_People__findNamed__name__gqlv_action_parameter {
 type simple__university_dept_People__nameOf__gqlv_action {
   disabled: String
   hidden: Boolean
-  invoke(person: rich__university_dept_Person__gqlv_input!): 
simple__university_dept_People__nameOf__gqlv_action_invoke
+  invoke(person: simple__university_dept_Person__gqlv_input!): 
simple__university_dept_People__nameOf__gqlv_action_invoke
   "Parameters of this action"
   params: simple__university_dept_People__nameOf__gqlv_action_params
-  validate(person: rich__university_dept_Person__gqlv_input): String
+  validate(person: simple__university_dept_Person__gqlv_input): String
 }
 
 type simple__university_dept_People__nameOf__gqlv_action_args {
-  person: rich__university_dept_Person
+  person: simple__university_dept_Person
 }
 
 type simple__university_dept_People__nameOf__gqlv_action_invoke {
@@ -7727,7 +7727,7 @@ type 
simple__university_dept_People__nameOf__gqlv_action_params {
 
 type simple__university_dept_People__nameOf__person__gqlv_action_parameter {
   datatype: String
-  disabled(person: rich__university_dept_Person__gqlv_input): String
+  disabled(person: simple__university_dept_Person__gqlv_input): String
   hidden: Boolean
   validity: String
 }
@@ -7787,7 +7787,7 @@ type 
simple__university_dept_StaffMember__department__gqlv_property {
   choices(department: rich__university_dept_Department__gqlv_input): 
[rich__university_dept_Department]
   datatype: String
   disabled: String
-  get: rich__university_dept_Department
+  get: simple__university_dept_Department
   hidden: Boolean
   set(department: rich__university_dept_Department__gqlv_input): 
rich__university_dept_StaffMember
   validate(department: rich__university_dept_Department__gqlv_input): String
@@ -7840,9 +7840,9 @@ type 
simple__university_dept_StaffMember__photo__gqlv_property_blob {
 }
 
 type 
simple__university_dept_Staff__createStaffMember__department__gqlv_action_parameter
 {
-  choices(name: String): [rich__university_dept_Department]
+  choices(name: String): [simple__university_dept_Department]
   datatype: String
-  disabled(department: rich__university_dept_Department__gqlv_input, name: 
String): String
+  disabled(department: simple__university_dept_Department__gqlv_input, name: 
String): String
   hidden(name: String): Boolean
   validity: String
 }
@@ -7851,21 +7851,21 @@ type 
simple__university_dept_Staff__createStaffMember__department__gqlv_action_p
 type simple__university_dept_Staff__createStaffMember__gqlv_action {
   disabled: String
   hidden: Boolean
-  invokeNonIdempotent(department: 
rich__university_dept_Department__gqlv_input!, name: String!): 
simple__university_dept_Staff__createStaffMember__gqlv_action_invoke
+  invokeNonIdempotent(department: 
simple__university_dept_Department__gqlv_input!, name: String!): 
simple__university_dept_Staff__createStaffMember__gqlv_action_invoke
   "Parameters of this action"
   params: simple__university_dept_Staff__createStaffMember__gqlv_action_params
-  validate(department: rich__university_dept_Department__gqlv_input, name: 
String): String
+  validate(department: simple__university_dept_Department__gqlv_input, name: 
String): String
 }
 
 type simple__university_dept_Staff__createStaffMember__gqlv_action_args {
-  department: rich__university_dept_Department
+  department: simple__university_dept_Department
   name: String
 }
 
 type simple__university_dept_Staff__createStaffMember__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: simple__university_dept_Staff__createStaffMember__gqlv_action_args
-  results: rich__university_dept_StaffMember
+  results: simple__university_dept_StaffMember
 }
 
 type simple__university_dept_Staff__createStaffMember__gqlv_action_params {
@@ -7891,7 +7891,7 @@ type 
simple__university_dept_Staff__findAllStaffMembers__gqlv_action {
 }
 
 type simple__university_dept_Staff__findAllStaffMembers__gqlv_action_invoke {
-  results: [rich__university_dept_StaffMember]
+  results: [simple__university_dept_StaffMember]
 }
 
 "Staff member of a university department, responsible for delivering lectures, 
tutorials, exam invigilation and candidate interviews"
@@ -7911,7 +7911,7 @@ type 
simple__university_dept_Staff__findStaffMemberByName__gqlv_action_args {
 type simple__university_dept_Staff__findStaffMemberByName__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: simple__university_dept_Staff__findStaffMemberByName__gqlv_action_args
-  results: rich__university_dept_StaffMember
+  results: simple__university_dept_StaffMember
 }
 
 type simple__university_dept_Staff__findStaffMemberByName__gqlv_action_params {

Reply via email to