You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@causeway.apache.org by da...@apache.org on 2024/02/13 00:49:29 UTC
(causeway) 11/11: CAUSEWAY-3676: completes saveAs; adds description to metamodel
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 b021da9d6d31a49d7f19ac2352c7c44cffc8971c
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Tue Feb 13 00:45:38 2024 +0000
CAUSEWAY-3676: completes saveAs; adds description to metamodel
---
.../core/config/CausewayConfiguration.java | 2 +-
.../viewer/graphql/model/domain/GqlvAction.java | 35 ++-
.../graphql/model/domain/GqlvDomainObject.java | 17 +-
.../viewer/graphql/model/domain/GqlvMember.java | 2 +
.../viewer/graphql/model/domain/GqlvMeta.java | 4 +
.../graphql/model/domain/GqlvMetaSaveAs.java | 5 +-
.../model/domain/GqlvMutationForAction.java | 8 +-
.../model/domain/GqlvMutationForProperty.java | 8 +-
.../viewer/test/domain/dept/Department.java | 2 +
.../graphql/viewer/test/domain/dept/DeptHead.java | 2 +
.../viewer/test/domain/dept/StaffMember.java | 4 +-
...tegTest.change_department_name_visibility._.gql | 2 +-
...change_department_name_visibility.approved.json | 2 +-
...IntegTest.find_department_and_change_name._.gql | 23 +-
...t.find_department_and_change_name.approved.json | 25 +-
viewers/graphql/test/src/test/resources/schema.gql | 282 +++++++++++++--------
16 files changed, 243 insertions(+), 180 deletions(-)
diff --git a/core/config/src/main/java/org/apache/causeway/core/config/CausewayConfiguration.java b/core/config/src/main/java/org/apache/causeway/core/config/CausewayConfiguration.java
index 4e3f88f79d..760fe7baed 100644
--- a/core/config/src/main/java/org/apache/causeway/core/config/CausewayConfiguration.java
+++ b/core/config/src/main/java/org/apache/causeway/core/config/CausewayConfiguration.java
@@ -2398,7 +2398,7 @@ public class CausewayConfiguration {
/**
* Lookup field prefix
*/
- private String fieldNamePrefix = "_gqlv_lookup__";
+ private String fieldNamePrefix = "";
/**
* Lookup field suffix
*/
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAction.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAction.java
index 2f31c22090..9bc0cf1eee 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAction.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAction.java
@@ -41,6 +41,7 @@ import org.apache.causeway.core.metamodel.spec.feature.ObjectAction;
import org.apache.causeway.core.metamodel.spec.feature.ObjectActionParameter;
import org.apache.causeway.core.metamodel.spec.feature.OneToManyActionParameter;
import org.apache.causeway.core.metamodel.spec.feature.OneToOneActionParameter;
+import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
import org.apache.causeway.viewer.graphql.model.types.TypeMapper;
import org.apache.causeway.viewer.graphql.model.context.Context;
@@ -115,16 +116,16 @@ public class GqlvAction
/**
*
- * @param dataFetchingEnvironment
+ * @param environment
* @param objectAction
* @param context
* @return
*/
public static Can<ManagedObject> argumentManagedObjectsFor(
- final DataFetchingEnvironment dataFetchingEnvironment,
+ final DataFetchingEnvironment environment,
final ObjectAction objectAction,
final Context context) {
- Map<String, Object> argumentPojos = dataFetchingEnvironment.getArguments();
+ Map<String, Object> argumentPojos = environment.getArguments();
Can<ObjectActionParameter> parameters = objectAction.getParameters();
return parameters
.map(oap -> {
@@ -144,12 +145,12 @@ public class GqlvAction
if (argumentValue instanceof List) {
val argumentValueList = (List<Object>) argumentValue;
pojoOrPojoList = argumentValueList.stream()
- .map(value -> asPojo(oap.getElementType(), value, context.bookmarkService))
+ .map(value -> asPojo(oap.getElementType(), value, context.bookmarkService, environment))
.filter(Optional::isPresent)
.map(Optional::get)
.collect(Collectors.toList());
} else {
- pojoOrPojoList = asPojo(oap.getElementType(), argumentValue, context.bookmarkService).orElse(null);
+ pojoOrPojoList = asPojo(oap.getElementType(), argumentValue, context.bookmarkService, environment).orElse(null);
}
return ManagedObject.adaptParameter(oap, pojoOrPojoList);
@@ -185,15 +186,25 @@ public class GqlvAction
public static Optional<Object> asPojo(
final ObjectSpecification elementType,
final Object argumentValueObj,
- final BookmarkService bookmarkService) {
+ final BookmarkService bookmarkService,
+ final DataFetchingEnvironment environment) {
val argumentValue = (Map<String, String>) argumentValueObj;
String idValue = argumentValue.get("id");
- Class<?> paramClass = elementType.getCorrespondingClass();
- Optional<Bookmark> bookmarkIfAny = bookmarkService.bookmarkFor(paramClass, idValue);
- return bookmarkIfAny
- .map(bookmarkService::lookup)
- .filter(Optional::isPresent)
- .map(Optional::get);
+ if (idValue != null) {
+ Class<?> paramClass = elementType.getCorrespondingClass();
+ Optional<Bookmark> bookmarkIfAny = bookmarkService.bookmarkFor(paramClass, idValue);
+ return bookmarkIfAny
+ .map(bookmarkService::lookup)
+ .filter(Optional::isPresent)
+ .map(Optional::get);
+ }
+ String refValue = argumentValue.get("ref");
+ if (refValue != null) {
+ String key = GqlvMetaSaveAs.keyFor(refValue);
+ BookmarkedPojo value = environment.getGraphQlContext().get(key);
+ return Optional.of(value).map(BookmarkedPojo::getTargetPojo);
+ }
+ throw new IllegalArgumentException("Either 'id' or 'ref' must be specified for a DomainObject input type");
}
public void addGqlArguments(
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvDomainObject.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvDomainObject.java
index 2508aecdf0..e4f895fd26 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvDomainObject.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvDomainObject.java
@@ -31,7 +31,6 @@ import graphql.schema.GraphQLInputObjectType;
import static graphql.schema.GraphQLFieldDefinition.newFieldDefinition;
import static graphql.schema.GraphQLInputObjectField.newInputObjectField;
import static graphql.schema.GraphQLInputObjectType.newInputObject;
-import static graphql.schema.GraphQLNonNull.nonNull;
import org.apache.causeway.core.metamodel.spec.ActionScope;
import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
@@ -73,6 +72,7 @@ public class GqlvDomainObject
super(TypeNames.objectTypeNameFor(objectSpecification), context);
this.objectSpecification = objectSpecification;
+ gqlObjectTypeBuilder.description(objectSpecification.getDescription());
this.meta = new GqlvMeta(this, context);
addChildField(meta.getField());
@@ -81,8 +81,15 @@ public class GqlvDomainObject
inputTypeBuilder
.field(newInputObjectField()
.name("id")
- .type(nonNull(Scalars.GraphQLID))
- .build());
+ .type(Scalars.GraphQLID)
+ .build()
+ )
+ .field(newInputObjectField()
+ .name("ref")
+ .type(Scalars.GraphQLString)
+ .build()
+ )
+ ;
gqlInputObjectType = inputTypeBuilder.build();
setField(buildFieldDefinition(gqlInputObjectType));
@@ -96,7 +103,7 @@ public class GqlvDomainObject
}
- private GraphQLFieldDefinition buildFieldDefinition(GraphQLInputObjectType gqlInputObjectType) {
+ private GraphQLFieldDefinition buildFieldDefinition(final GraphQLInputObjectType gqlInputObjectType) {
val lookupConfig = this.context.causewayConfiguration.getViewer().getGraphql().getLookup();
val objectSpec = getObjectSpecification();
val fieldName = String.format("%s%s%s",
@@ -161,7 +168,7 @@ public class GqlvDomainObject
@Override
protected Object fetchData(DataFetchingEnvironment environment) {
Object target = environment.getArgument("object");
- return GqlvAction.asPojo(getObjectSpecification(), target, this.context.bookmarkService)
+ return GqlvAction.asPojo(getObjectSpecification(), target, this.context.bookmarkService, environment)
.orElse(null);
}
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMember.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMember.java
index 9aabeb5195..be1ab35bcb 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMember.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMember.java
@@ -42,6 +42,8 @@ public abstract class GqlvMember<T extends ObjectMember, H extends GqlvMember.Ho
super(typeName, context);
this.holder = holder;
this.objectMember = objectMember;
+
+ objectMember.getCanonicalDescription().ifPresent(gqlObjectTypeBuilder::description);
}
public String getId() {
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMeta.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMeta.java
index 8b51c01f2c..39e11d64c9 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMeta.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMeta.java
@@ -134,6 +134,10 @@ public class GqlvMeta extends GqlvAbstractCustom {
.orElse(null);
}
+ public Bookmark bookmark() {
+ return bookmark;
+ }
+
}
public interface Holder
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMetaSaveAs.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMetaSaveAs.java
index c095689b01..9f2e019396 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMetaSaveAs.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMetaSaveAs.java
@@ -45,11 +45,12 @@ public class GqlvMetaSaveAs extends GqlvAbstract {
@Override
protected Object fetchData(DataFetchingEnvironment environment) {
String ref = environment.getArgument("ref");
- environment.getGraphQlContext().put(keyFor(ref), BookmarkedPojo.sourceFrom(environment));
+ GqlvMeta.Fetcher source = environment.getSource();
+ environment.getGraphQlContext().put(keyFor(ref), new BookmarkedPojo(source.bookmark(), context.bookmarkService));
return ref;
}
- private static String keyFor(String ref) {
+ public static String keyFor(String ref) {
return GqlvMetaSaveAs.class.getName() + "#" + ref;
}
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMutationForAction.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMutationForAction.java
index 81274cac1a..017e25ad38 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMutationForAction.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMutationForAction.java
@@ -116,7 +116,7 @@ public class GqlvMutationForAction extends GqlvAbstract {
}
@Override
- protected Object fetchData(final DataFetchingEnvironment dataFetchingEnvironment) {
+ protected Object fetchData(final DataFetchingEnvironment environment) {
val isService = objectSpec.getBeanSort().isManagedBeanContributing();
@@ -124,8 +124,8 @@ public class GqlvMutationForAction extends GqlvAbstract {
if (isService) {
sourcePojo = context.serviceRegistry.lookupServiceElseFail(objectSpec.getCorrespondingClass());
} else {
- Object target = dataFetchingEnvironment.getArgument(argumentName);
- sourcePojo = GqlvAction.asPojo(objectSpec, target, context.bookmarkService)
+ Object target = environment.getArgument(argumentName);
+ sourcePojo = GqlvAction.asPojo(objectSpec, target, context.bookmarkService, environment)
.orElseThrow(); // TODO: better error handling if no such object found.
}
@@ -142,7 +142,7 @@ public class GqlvMutationForAction extends GqlvAbstract {
}
val head = objectAction.interactionHead(managedObject);
- val argumentManagedObjects = argumentManagedObjectsFor(dataFetchingEnvironment, objectAction);
+ val argumentManagedObjects = argumentManagedObjectsFor(environment, objectAction);
val validityConsent = objectAction.isArgumentSetValid(head, argumentManagedObjects, InteractionInitiatedBy.USER);
if (validityConsent.isVetoed()) {
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMutationForProperty.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMutationForProperty.java
index 358f68d88c..75fb1e5450 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMutationForProperty.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMutationForProperty.java
@@ -76,16 +76,16 @@ public class GqlvMutationForProperty extends GqlvAbstract {
}
@Override
- protected Object fetchData(final DataFetchingEnvironment dataFetchingEnvironment) {
+ protected Object fetchData(final DataFetchingEnvironment environment) {
- Object target = dataFetchingEnvironment.getArgument(argumentName);
- Object sourcePojo = GqlvAction.asPojo(objectSpec, target, context.bookmarkService)
+ Object target = environment.getArgument(argumentName);
+ Object sourcePojo = GqlvAction.asPojo(objectSpec, target, context.bookmarkService, environment)
.orElseThrow(); // TODO: better error handling if no such object found.
val managedObject = ManagedObject.adaptSingular(objectSpec, sourcePojo);
- Map<String, Object> arguments = dataFetchingEnvironment.getArguments();
+ Map<String, Object> arguments = environment.getArguments();
Object argumentValue = arguments.get(oneToOneAssociation.getId());
ManagedObject argumentManagedObject = ManagedObject.adaptProperty(oneToOneAssociation, argumentValue);
diff --git a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/dept/Department.java b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/dept/Department.java
index 9233736c00..2bd105a4d5 100644
--- a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/dept/Department.java
+++ b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/dept/Department.java
@@ -40,6 +40,7 @@ import org.apache.causeway.applib.annotation.ActionLayout;
import org.apache.causeway.applib.annotation.Bounding;
import org.apache.causeway.applib.annotation.Collection;
import org.apache.causeway.applib.annotation.DomainObject;
+import org.apache.causeway.applib.annotation.DomainObjectLayout;
import org.apache.causeway.applib.annotation.Editing;
import org.apache.causeway.applib.annotation.Nature;
import org.apache.causeway.applib.annotation.Property;
@@ -59,6 +60,7 @@ import lombok.val;
@javax.inject.Named("university.dept.Department")
@NoArgsConstructor
@DomainObject(nature = Nature.ENTITY, bounding = Bounding.BOUNDED)
+@DomainObjectLayout(describedAs = "University department specializing in a field of study")
public class Department implements Comparable<Department> {
diff --git a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/dept/DeptHead.java b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/dept/DeptHead.java
index 5d7b602736..12ed53631a 100644
--- a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/dept/DeptHead.java
+++ b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/dept/DeptHead.java
@@ -34,6 +34,7 @@ import javax.persistence.Transient;
import org.apache.causeway.applib.annotation.Action;
import org.apache.causeway.applib.annotation.DomainObject;
+import org.apache.causeway.applib.annotation.DomainObjectLayout;
import org.apache.causeway.applib.annotation.Nature;
import org.apache.causeway.applib.annotation.Property;
import org.apache.causeway.applib.annotation.SemanticsOf;
@@ -55,6 +56,7 @@ import lombok.Setter;
autoCompleteRepository = DeptHeadRepository.class,
autoCompleteMethod = "findByNameContaining"
)
+@DomainObjectLayout(describedAs = "Departmental head, responsible for curriculum, research, funding and staff")
@NoArgsConstructor
public class DeptHead implements Comparable<DeptHead> {
diff --git a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/dept/StaffMember.java b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/dept/StaffMember.java
index 0298469d8e..a8e471699c 100644
--- a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/dept/StaffMember.java
+++ b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/dept/StaffMember.java
@@ -32,6 +32,7 @@ import javax.persistence.ManyToOne;
import javax.persistence.Table;
import org.apache.causeway.applib.annotation.DomainObject;
+import org.apache.causeway.applib.annotation.DomainObjectLayout;
import org.apache.causeway.applib.annotation.Editing;
import org.apache.causeway.applib.annotation.Nature;
import org.apache.causeway.applib.annotation.Optionality;
@@ -50,8 +51,9 @@ import lombok.Setter;
name = "StaffMember"
)
@javax.inject.Named("university.dept.StaffMember")
-@NoArgsConstructor
@DomainObject(nature = Nature.ENTITY, autoCompleteRepository = StaffMemberRepository.class, autoCompleteMethod = "findByNameMatching")
+@DomainObjectLayout(describedAs = "Staff member of a university department, responsible for delivering lectures, tutorials, exam invigilation and candidate interviews")
+@NoArgsConstructor
public class StaffMember implements Comparable<StaffMember> {
public StaffMember(
diff --git a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/DepartmentMutating_IntegTest.change_department_name_visibility._.gql b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/DepartmentMutating_IntegTest.change_department_name_visibility._.gql
index 41a7cf7c38..bdb740382f 100644
--- a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/DepartmentMutating_IntegTest.change_department_name_visibility._.gql
+++ b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/DepartmentMutating_IntegTest.change_department_name_visibility._.gql
@@ -1,5 +1,5 @@
{
- _gqlv_lookup__university_dept_Department(object: {id: "$departmentId"}) {
+ university_dept_Department(object: {id: "$departmentId"}) {
changeName {
hidden
}
diff --git a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/DepartmentMutating_IntegTest.change_department_name_visibility.approved.json b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/DepartmentMutating_IntegTest.change_department_name_visibility.approved.json
index cb35165718..e9d6798864 100644
--- a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/DepartmentMutating_IntegTest.change_department_name_visibility.approved.json
+++ b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/DepartmentMutating_IntegTest.change_department_name_visibility.approved.json
@@ -1,6 +1,6 @@
{
"data" : {
- "_gqlv_lookup__university_dept_Department" : {
+ "university_dept_Department" : {
"changeName" : {
"hidden" : false
}
diff --git a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/scenario/Department_IntegTest.find_department_and_change_name._.gql b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/scenario/Department_IntegTest.find_department_and_change_name._.gql
index 5bb0283dd3..351faedeb6 100644
--- a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/scenario/Department_IntegTest.find_department_and_change_name._.gql
+++ b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/scenario/Department_IntegTest.find_department_and_change_name._.gql
@@ -1,6 +1,7 @@
{
Scenario(name: "Find department and change its name"){
Name
+
Given {
university_dept_Departments {
findDepartmentByName {
@@ -12,25 +13,11 @@
}
}
}
+
When {
- university_dept_Departments {
- findDepartmentByName {
- invoke(name: "Classics") {
- changeName {
- invokeIdempotent(newName: "Ancient History") {
- name {
- get
- }
- }
- }
- }
- }
- }
- }
- Then {
- university_dept_Departments {
- findDepartmentByName {
- invoke(name: "Ancient History") {
+ university_dept_Department(object: {ref: "classics_dept"}) {
+ changeName {
+ invokeIdempotent(newName: "Ancient History") {
name {
get
}
diff --git a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/scenario/Department_IntegTest.find_department_and_change_name.approved.json b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/scenario/Department_IntegTest.find_department_and_change_name.approved.json
index fbc3a7ca8f..8f6b6c89f8 100644
--- a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/scenario/Department_IntegTest.find_department_and_change_name.approved.json
+++ b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/scenario/Department_IntegTest.find_department_and_change_name.approved.json
@@ -6,32 +6,17 @@
"university_dept_Departments" : {
"findDepartmentByName" : {
"invoke" : {
- "name" : {
- "get" : "Classics"
+ "_gqlv_meta" : {
+ "saveAs" : "classics_dept"
}
}
}
}
},
"When" : {
- "university_dept_Departments" : {
- "findDepartmentByName" : {
- "invoke" : {
- "changeName" : {
- "invokeIdempotent" : {
- "name" : {
- "get" : "Ancient History"
- }
- }
- }
- }
- }
- }
- },
- "Then" : {
- "university_dept_Departments" : {
- "findDepartmentByName" : {
- "invoke" : {
+ "university_dept_Department" : {
+ "changeName" : {
+ "invokeIdempotent" : {
"name" : {
"get" : "Ancient History"
}
diff --git a/viewers/graphql/test/src/test/resources/schema.gql b/viewers/graphql/test/src/test/resources/schema.gql
index 8920b0eae9..9e0889217c 100644
--- a/viewers/graphql/test/src/test/resources/schema.gql
+++ b/viewers/graphql/test/src/test/resources/schema.gql
@@ -24,51 +24,51 @@ directive @specifiedBy(
type Query {
Scenario(name: String): Scenario
- _gqlv_lookup__causeway_applib_DomainObjectList(object: causeway_applib_DomainObjectList__gqlv_input): causeway_applib_DomainObjectList
- _gqlv_lookup__causeway_applib_FacetGroupNode(object: causeway_applib_FacetGroupNode__gqlv_input): causeway_applib_FacetGroupNode
- _gqlv_lookup__causeway_applib_ParameterNode(object: causeway_applib_ParameterNode__gqlv_input): causeway_applib_ParameterNode
- _gqlv_lookup__causeway_applib_PropertyNode(object: causeway_applib_PropertyNode__gqlv_input): causeway_applib_PropertyNode
- _gqlv_lookup__causeway_applib_RoleMemento(object: causeway_applib_RoleMemento__gqlv_input): causeway_applib_RoleMemento
- _gqlv_lookup__causeway_applib_TypeNode(object: causeway_applib_TypeNode__gqlv_input): causeway_applib_TypeNode
- _gqlv_lookup__causeway_applib_UserMemento(object: causeway_applib_UserMemento__gqlv_input): causeway_applib_UserMemento
- _gqlv_lookup__causeway_applib_node_ActionNode(object: causeway_applib_node_ActionNode__gqlv_input): causeway_applib_node_ActionNode
- _gqlv_lookup__causeway_applib_node_CollectionNode(object: causeway_applib_node_CollectionNode__gqlv_input): causeway_applib_node_CollectionNode
- _gqlv_lookup__causeway_applib_node_FacetAttrNode(object: causeway_applib_node_FacetAttrNode__gqlv_input): causeway_applib_node_FacetAttrNode
- _gqlv_lookup__causeway_applib_node_FacetNode(object: causeway_applib_node_FacetNode__gqlv_input): causeway_applib_node_FacetNode
- _gqlv_lookup__causeway_conf_ConfigurationProperty(object: causeway_conf_ConfigurationProperty__gqlv_input): causeway_conf_ConfigurationProperty
- _gqlv_lookup__causeway_conf_ConfigurationViewmodel(object: causeway_conf_ConfigurationViewmodel__gqlv_input): causeway_conf_ConfigurationViewmodel
- _gqlv_lookup__causeway_feat_ApplicationFeatureViewModel(object: causeway_feat_ApplicationFeatureViewModel__gqlv_input): causeway_feat_ApplicationFeatureViewModel
- _gqlv_lookup__causeway_feat_ApplicationNamespace(object: causeway_feat_ApplicationNamespace__gqlv_input): causeway_feat_ApplicationNamespace
- _gqlv_lookup__causeway_feat_ApplicationType(object: causeway_feat_ApplicationType__gqlv_input): causeway_feat_ApplicationType
- _gqlv_lookup__causeway_feat_ApplicationTypeAction(object: causeway_feat_ApplicationTypeAction__gqlv_input): causeway_feat_ApplicationTypeAction
- _gqlv_lookup__causeway_feat_ApplicationTypeCollection(object: causeway_feat_ApplicationTypeCollection__gqlv_input): causeway_feat_ApplicationTypeCollection
- _gqlv_lookup__causeway_feat_ApplicationTypeMember(object: causeway_feat_ApplicationTypeMember__gqlv_input): causeway_feat_ApplicationTypeMember
- _gqlv_lookup__causeway_feat_ApplicationTypeProperty(object: causeway_feat_ApplicationTypeProperty__gqlv_input): causeway_feat_ApplicationTypeProperty
- _gqlv_lookup__causeway_schema_metamodel_v2_DomainClassDto(object: causeway_schema_metamodel_v2_DomainClassDto__gqlv_input): causeway_schema_metamodel_v2_DomainClassDto
- _gqlv_lookup__causeway_security_LoginRedirect(object: causeway_security_LoginRedirect__gqlv_input): causeway_security_LoginRedirect
- _gqlv_lookup__causeway_testing_fixtures_FixtureResult(object: causeway_testing_fixtures_FixtureResult__gqlv_input): causeway_testing_fixtures_FixtureResult
- _gqlv_lookup__java_lang_Runnable(object: java_lang_Runnable__gqlv_input): java_lang_Runnable
- _gqlv_lookup__java_util_Map(object: java_util_Map__gqlv_input): java_util_Map
- _gqlv_lookup__java_util_SortedMap(object: java_util_SortedMap__gqlv_input): java_util_SortedMap
- _gqlv_lookup__java_util_concurrent_Callable(object: java_util_concurrent_Callable__gqlv_input): java_util_concurrent_Callable
- _gqlv_lookup__java_util_function_BiFunction(object: java_util_function_BiFunction__gqlv_input): java_util_function_BiFunction
- _gqlv_lookup__java_util_function_Consumer(object: java_util_function_Consumer__gqlv_input): java_util_function_Consumer
- _gqlv_lookup__java_util_function_Function(object: java_util_function_Function__gqlv_input): java_util_function_Function
- _gqlv_lookup__java_util_stream_Stream(object: java_util_stream_Stream__gqlv_input): java_util_stream_Stream
- _gqlv_lookup__org_apache_causeway_core_metamodel_inspect_model_MMNode(object: org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_input): org_apache_causeway_core_metamodel_inspect_model_MMNode
- _gqlv_lookup__org_apache_causeway_core_metamodel_inspect_model_MemberNode(object: org_apache_causeway_core_metamodel_inspect_model_MemberNode__gqlv_input): org_apache_causeway_core_metamodel_inspect_model_MemberNode
- _gqlv_lookup__org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript(object: org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__gqlv_input): org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript
- _gqlv_lookup__university_dept_Department(object: university_dept_Department__gqlv_input): university_dept_Department
- _gqlv_lookup__university_dept_DeptHead(object: university_dept_DeptHead__gqlv_input): university_dept_DeptHead
- _gqlv_lookup__university_dept_StaffMember(object: university_dept_StaffMember__gqlv_input): university_dept_StaffMember
+ causeway_applib_DomainObjectList(object: causeway_applib_DomainObjectList__gqlv_input): causeway_applib_DomainObjectList
+ causeway_applib_FacetGroupNode(object: causeway_applib_FacetGroupNode__gqlv_input): causeway_applib_FacetGroupNode
+ causeway_applib_ParameterNode(object: causeway_applib_ParameterNode__gqlv_input): causeway_applib_ParameterNode
+ causeway_applib_PropertyNode(object: causeway_applib_PropertyNode__gqlv_input): causeway_applib_PropertyNode
+ causeway_applib_RoleMemento(object: causeway_applib_RoleMemento__gqlv_input): causeway_applib_RoleMemento
+ causeway_applib_TypeNode(object: causeway_applib_TypeNode__gqlv_input): causeway_applib_TypeNode
+ causeway_applib_UserMemento(object: causeway_applib_UserMemento__gqlv_input): causeway_applib_UserMemento
causeway_applib_UserMenu: causeway_applib_UserMenu
+ causeway_applib_node_ActionNode(object: causeway_applib_node_ActionNode__gqlv_input): causeway_applib_node_ActionNode
+ causeway_applib_node_CollectionNode(object: causeway_applib_node_CollectionNode__gqlv_input): causeway_applib_node_CollectionNode
+ causeway_applib_node_FacetAttrNode(object: causeway_applib_node_FacetAttrNode__gqlv_input): causeway_applib_node_FacetAttrNode
+ causeway_applib_node_FacetNode(object: causeway_applib_node_FacetNode__gqlv_input): causeway_applib_node_FacetNode
causeway_conf_ConfigurationMenu: causeway_conf_ConfigurationMenu
+ causeway_conf_ConfigurationProperty(object: causeway_conf_ConfigurationProperty__gqlv_input): causeway_conf_ConfigurationProperty
+ causeway_conf_ConfigurationViewmodel(object: causeway_conf_ConfigurationViewmodel__gqlv_input): causeway_conf_ConfigurationViewmodel
+ causeway_feat_ApplicationFeatureViewModel(object: causeway_feat_ApplicationFeatureViewModel__gqlv_input): causeway_feat_ApplicationFeatureViewModel
+ causeway_feat_ApplicationNamespace(object: causeway_feat_ApplicationNamespace__gqlv_input): causeway_feat_ApplicationNamespace
+ causeway_feat_ApplicationType(object: causeway_feat_ApplicationType__gqlv_input): causeway_feat_ApplicationType
+ causeway_feat_ApplicationTypeAction(object: causeway_feat_ApplicationTypeAction__gqlv_input): causeway_feat_ApplicationTypeAction
+ causeway_feat_ApplicationTypeCollection(object: causeway_feat_ApplicationTypeCollection__gqlv_input): causeway_feat_ApplicationTypeCollection
+ causeway_feat_ApplicationTypeMember(object: causeway_feat_ApplicationTypeMember__gqlv_input): causeway_feat_ApplicationTypeMember
+ causeway_feat_ApplicationTypeProperty(object: causeway_feat_ApplicationTypeProperty__gqlv_input): causeway_feat_ApplicationTypeProperty
+ causeway_schema_metamodel_v2_DomainClassDto(object: causeway_schema_metamodel_v2_DomainClassDto__gqlv_input): causeway_schema_metamodel_v2_DomainClassDto
+ causeway_security_LoginRedirect(object: causeway_security_LoginRedirect__gqlv_input): causeway_security_LoginRedirect
causeway_security_LogoutMenu: causeway_security_LogoutMenu
+ causeway_testing_fixtures_FixtureResult(object: causeway_testing_fixtures_FixtureResult__gqlv_input): causeway_testing_fixtures_FixtureResult
+ java_lang_Runnable(object: java_lang_Runnable__gqlv_input): java_lang_Runnable
+ java_util_Map(object: java_util_Map__gqlv_input): java_util_Map
+ java_util_SortedMap(object: java_util_SortedMap__gqlv_input): java_util_SortedMap
+ java_util_concurrent_Callable(object: java_util_concurrent_Callable__gqlv_input): java_util_concurrent_Callable
+ java_util_function_BiFunction(object: java_util_function_BiFunction__gqlv_input): java_util_function_BiFunction
+ java_util_function_Consumer(object: java_util_function_Consumer__gqlv_input): java_util_function_Consumer
+ java_util_function_Function(object: java_util_function_Function__gqlv_input): java_util_function_Function
+ java_util_stream_Stream(object: java_util_stream_Stream__gqlv_input): java_util_stream_Stream
+ org_apache_causeway_core_metamodel_inspect_model_MMNode(object: org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_input): org_apache_causeway_core_metamodel_inspect_model_MMNode
+ org_apache_causeway_core_metamodel_inspect_model_MemberNode(object: org_apache_causeway_core_metamodel_inspect_model_MemberNode__gqlv_input): org_apache_causeway_core_metamodel_inspect_model_MemberNode
+ org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript(object: org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__gqlv_input): org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript
university_admin_AdminMenu: university_admin_AdminMenu
university_calc_Calculator: university_calc_Calculator
+ university_dept_Department(object: university_dept_Department__gqlv_input): university_dept_Department
university_dept_Departments: university_dept_Departments
+ university_dept_DeptHead(object: university_dept_DeptHead__gqlv_input): university_dept_DeptHead
university_dept_DeptHeads: university_dept_DeptHeads
university_dept_Staff: university_dept_Staff
+ university_dept_StaffMember(object: university_dept_StaffMember__gqlv_input): university_dept_StaffMember
}
type Scenario {
@@ -79,51 +79,51 @@ type Scenario {
}
type ScenarioStep {
- _gqlv_lookup__causeway_applib_DomainObjectList(object: causeway_applib_DomainObjectList__gqlv_input): causeway_applib_DomainObjectList
- _gqlv_lookup__causeway_applib_FacetGroupNode(object: causeway_applib_FacetGroupNode__gqlv_input): causeway_applib_FacetGroupNode
- _gqlv_lookup__causeway_applib_ParameterNode(object: causeway_applib_ParameterNode__gqlv_input): causeway_applib_ParameterNode
- _gqlv_lookup__causeway_applib_PropertyNode(object: causeway_applib_PropertyNode__gqlv_input): causeway_applib_PropertyNode
- _gqlv_lookup__causeway_applib_RoleMemento(object: causeway_applib_RoleMemento__gqlv_input): causeway_applib_RoleMemento
- _gqlv_lookup__causeway_applib_TypeNode(object: causeway_applib_TypeNode__gqlv_input): causeway_applib_TypeNode
- _gqlv_lookup__causeway_applib_UserMemento(object: causeway_applib_UserMemento__gqlv_input): causeway_applib_UserMemento
- _gqlv_lookup__causeway_applib_node_ActionNode(object: causeway_applib_node_ActionNode__gqlv_input): causeway_applib_node_ActionNode
- _gqlv_lookup__causeway_applib_node_CollectionNode(object: causeway_applib_node_CollectionNode__gqlv_input): causeway_applib_node_CollectionNode
- _gqlv_lookup__causeway_applib_node_FacetAttrNode(object: causeway_applib_node_FacetAttrNode__gqlv_input): causeway_applib_node_FacetAttrNode
- _gqlv_lookup__causeway_applib_node_FacetNode(object: causeway_applib_node_FacetNode__gqlv_input): causeway_applib_node_FacetNode
- _gqlv_lookup__causeway_conf_ConfigurationProperty(object: causeway_conf_ConfigurationProperty__gqlv_input): causeway_conf_ConfigurationProperty
- _gqlv_lookup__causeway_conf_ConfigurationViewmodel(object: causeway_conf_ConfigurationViewmodel__gqlv_input): causeway_conf_ConfigurationViewmodel
- _gqlv_lookup__causeway_feat_ApplicationFeatureViewModel(object: causeway_feat_ApplicationFeatureViewModel__gqlv_input): causeway_feat_ApplicationFeatureViewModel
- _gqlv_lookup__causeway_feat_ApplicationNamespace(object: causeway_feat_ApplicationNamespace__gqlv_input): causeway_feat_ApplicationNamespace
- _gqlv_lookup__causeway_feat_ApplicationType(object: causeway_feat_ApplicationType__gqlv_input): causeway_feat_ApplicationType
- _gqlv_lookup__causeway_feat_ApplicationTypeAction(object: causeway_feat_ApplicationTypeAction__gqlv_input): causeway_feat_ApplicationTypeAction
- _gqlv_lookup__causeway_feat_ApplicationTypeCollection(object: causeway_feat_ApplicationTypeCollection__gqlv_input): causeway_feat_ApplicationTypeCollection
- _gqlv_lookup__causeway_feat_ApplicationTypeMember(object: causeway_feat_ApplicationTypeMember__gqlv_input): causeway_feat_ApplicationTypeMember
- _gqlv_lookup__causeway_feat_ApplicationTypeProperty(object: causeway_feat_ApplicationTypeProperty__gqlv_input): causeway_feat_ApplicationTypeProperty
- _gqlv_lookup__causeway_schema_metamodel_v2_DomainClassDto(object: causeway_schema_metamodel_v2_DomainClassDto__gqlv_input): causeway_schema_metamodel_v2_DomainClassDto
- _gqlv_lookup__causeway_security_LoginRedirect(object: causeway_security_LoginRedirect__gqlv_input): causeway_security_LoginRedirect
- _gqlv_lookup__causeway_testing_fixtures_FixtureResult(object: causeway_testing_fixtures_FixtureResult__gqlv_input): causeway_testing_fixtures_FixtureResult
- _gqlv_lookup__java_lang_Runnable(object: java_lang_Runnable__gqlv_input): java_lang_Runnable
- _gqlv_lookup__java_util_Map(object: java_util_Map__gqlv_input): java_util_Map
- _gqlv_lookup__java_util_SortedMap(object: java_util_SortedMap__gqlv_input): java_util_SortedMap
- _gqlv_lookup__java_util_concurrent_Callable(object: java_util_concurrent_Callable__gqlv_input): java_util_concurrent_Callable
- _gqlv_lookup__java_util_function_BiFunction(object: java_util_function_BiFunction__gqlv_input): java_util_function_BiFunction
- _gqlv_lookup__java_util_function_Consumer(object: java_util_function_Consumer__gqlv_input): java_util_function_Consumer
- _gqlv_lookup__java_util_function_Function(object: java_util_function_Function__gqlv_input): java_util_function_Function
- _gqlv_lookup__java_util_stream_Stream(object: java_util_stream_Stream__gqlv_input): java_util_stream_Stream
- _gqlv_lookup__org_apache_causeway_core_metamodel_inspect_model_MMNode(object: org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_input): org_apache_causeway_core_metamodel_inspect_model_MMNode
- _gqlv_lookup__org_apache_causeway_core_metamodel_inspect_model_MemberNode(object: org_apache_causeway_core_metamodel_inspect_model_MemberNode__gqlv_input): org_apache_causeway_core_metamodel_inspect_model_MemberNode
- _gqlv_lookup__org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript(object: org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__gqlv_input): org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript
- _gqlv_lookup__university_dept_Department(object: university_dept_Department__gqlv_input): university_dept_Department
- _gqlv_lookup__university_dept_DeptHead(object: university_dept_DeptHead__gqlv_input): university_dept_DeptHead
- _gqlv_lookup__university_dept_StaffMember(object: university_dept_StaffMember__gqlv_input): university_dept_StaffMember
+ causeway_applib_DomainObjectList(object: causeway_applib_DomainObjectList__gqlv_input): causeway_applib_DomainObjectList
+ causeway_applib_FacetGroupNode(object: causeway_applib_FacetGroupNode__gqlv_input): causeway_applib_FacetGroupNode
+ causeway_applib_ParameterNode(object: causeway_applib_ParameterNode__gqlv_input): causeway_applib_ParameterNode
+ causeway_applib_PropertyNode(object: causeway_applib_PropertyNode__gqlv_input): causeway_applib_PropertyNode
+ causeway_applib_RoleMemento(object: causeway_applib_RoleMemento__gqlv_input): causeway_applib_RoleMemento
+ causeway_applib_TypeNode(object: causeway_applib_TypeNode__gqlv_input): causeway_applib_TypeNode
+ causeway_applib_UserMemento(object: causeway_applib_UserMemento__gqlv_input): causeway_applib_UserMemento
causeway_applib_UserMenu: causeway_applib_UserMenu
+ causeway_applib_node_ActionNode(object: causeway_applib_node_ActionNode__gqlv_input): causeway_applib_node_ActionNode
+ causeway_applib_node_CollectionNode(object: causeway_applib_node_CollectionNode__gqlv_input): causeway_applib_node_CollectionNode
+ causeway_applib_node_FacetAttrNode(object: causeway_applib_node_FacetAttrNode__gqlv_input): causeway_applib_node_FacetAttrNode
+ causeway_applib_node_FacetNode(object: causeway_applib_node_FacetNode__gqlv_input): causeway_applib_node_FacetNode
causeway_conf_ConfigurationMenu: causeway_conf_ConfigurationMenu
+ causeway_conf_ConfigurationProperty(object: causeway_conf_ConfigurationProperty__gqlv_input): causeway_conf_ConfigurationProperty
+ causeway_conf_ConfigurationViewmodel(object: causeway_conf_ConfigurationViewmodel__gqlv_input): causeway_conf_ConfigurationViewmodel
+ causeway_feat_ApplicationFeatureViewModel(object: causeway_feat_ApplicationFeatureViewModel__gqlv_input): causeway_feat_ApplicationFeatureViewModel
+ causeway_feat_ApplicationNamespace(object: causeway_feat_ApplicationNamespace__gqlv_input): causeway_feat_ApplicationNamespace
+ causeway_feat_ApplicationType(object: causeway_feat_ApplicationType__gqlv_input): causeway_feat_ApplicationType
+ causeway_feat_ApplicationTypeAction(object: causeway_feat_ApplicationTypeAction__gqlv_input): causeway_feat_ApplicationTypeAction
+ causeway_feat_ApplicationTypeCollection(object: causeway_feat_ApplicationTypeCollection__gqlv_input): causeway_feat_ApplicationTypeCollection
+ causeway_feat_ApplicationTypeMember(object: causeway_feat_ApplicationTypeMember__gqlv_input): causeway_feat_ApplicationTypeMember
+ causeway_feat_ApplicationTypeProperty(object: causeway_feat_ApplicationTypeProperty__gqlv_input): causeway_feat_ApplicationTypeProperty
+ causeway_schema_metamodel_v2_DomainClassDto(object: causeway_schema_metamodel_v2_DomainClassDto__gqlv_input): causeway_schema_metamodel_v2_DomainClassDto
+ causeway_security_LoginRedirect(object: causeway_security_LoginRedirect__gqlv_input): causeway_security_LoginRedirect
causeway_security_LogoutMenu: causeway_security_LogoutMenu
+ causeway_testing_fixtures_FixtureResult(object: causeway_testing_fixtures_FixtureResult__gqlv_input): causeway_testing_fixtures_FixtureResult
+ java_lang_Runnable(object: java_lang_Runnable__gqlv_input): java_lang_Runnable
+ java_util_Map(object: java_util_Map__gqlv_input): java_util_Map
+ java_util_SortedMap(object: java_util_SortedMap__gqlv_input): java_util_SortedMap
+ java_util_concurrent_Callable(object: java_util_concurrent_Callable__gqlv_input): java_util_concurrent_Callable
+ java_util_function_BiFunction(object: java_util_function_BiFunction__gqlv_input): java_util_function_BiFunction
+ java_util_function_Consumer(object: java_util_function_Consumer__gqlv_input): java_util_function_Consumer
+ java_util_function_Function(object: java_util_function_Function__gqlv_input): java_util_function_Function
+ java_util_stream_Stream(object: java_util_stream_Stream__gqlv_input): java_util_stream_Stream
+ org_apache_causeway_core_metamodel_inspect_model_MMNode(object: org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_input): org_apache_causeway_core_metamodel_inspect_model_MMNode
+ org_apache_causeway_core_metamodel_inspect_model_MemberNode(object: org_apache_causeway_core_metamodel_inspect_model_MemberNode__gqlv_input): org_apache_causeway_core_metamodel_inspect_model_MemberNode
+ org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript(object: org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__gqlv_input): org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript
university_admin_AdminMenu: university_admin_AdminMenu
university_calc_Calculator: university_calc_Calculator
+ university_dept_Department(object: university_dept_Department__gqlv_input): university_dept_Department
university_dept_Departments: university_dept_Departments
+ university_dept_DeptHead(object: university_dept_DeptHead__gqlv_input): university_dept_DeptHead
university_dept_DeptHeads: university_dept_DeptHeads
university_dept_Staff: university_dept_Staff
+ university_dept_StaffMember(object: university_dept_StaffMember__gqlv_input): university_dept_StaffMember
}
type causeway_applib_DomainObjectList {
@@ -470,6 +470,7 @@ type causeway_applib_UserMenu {
me: causeway_applib_UserMenu__me__gqlv_action
}
+"Returns your user account details"
type causeway_applib_UserMenu__me__gqlv_action {
disabled: String
hidden: Boolean
@@ -2009,6 +2010,7 @@ type university_calc_Calculator__plusJodaDays__numDays__gqlv_action_parameter {
validity: String
}
+"University department specializing in a field of study"
type university_dept_Department {
_gqlv_meta: university_dept_Department__gqlv_meta
addStaffMember: university_dept_Department__addStaffMember__gqlv_action
@@ -2021,6 +2023,7 @@ type university_dept_Department {
staffMembers: university_dept_Department__staffMembers__gqlv_collection
}
+"University department specializing in a field of study"
type university_dept_Department__addStaffMember__gqlv_action {
disabled: String
hidden: Boolean
@@ -2040,6 +2043,7 @@ type university_dept_Department__addStaffMember__staffMember__gqlv_action_parame
validity: String
}
+"University department specializing in a field of study"
type university_dept_Department__addStaffMembers__gqlv_action {
disabled: String
hidden: Boolean
@@ -2059,6 +2063,7 @@ type university_dept_Department__addStaffMembers__staffMembers__gqlv_action_para
validity: String
}
+"University department specializing in a field of study"
type university_dept_Department__changeDeptHead__gqlv_action {
disabled: String
hidden: Boolean
@@ -2079,6 +2084,7 @@ type university_dept_Department__changeDeptHead__newDeptHead__gqlv_action_parame
validity: String
}
+"University department specializing in a field of study"
type university_dept_Department__changeName__gqlv_action {
disabled: String
hidden: Boolean
@@ -2098,6 +2104,7 @@ type university_dept_Department__changeName__newName__gqlv_action_parameter {
validity: String
}
+"Departmental head, responsible for curriculum, research, funding and staff"
type university_dept_Department__deptHead__gqlv_property {
autoComplete(search: String!): [university_dept_DeptHead]
disabled: String
@@ -2122,6 +2129,7 @@ type university_dept_Department__name__gqlv_property {
validate(name: String): String
}
+"University department specializing in a field of study"
type university_dept_Department__removeStaffMember__gqlv_action {
disabled: String
hidden: Boolean
@@ -2141,6 +2149,7 @@ type university_dept_Department__removeStaffMember__staffMember__gqlv_action_par
validity: String
}
+"Staff member of a university department, responsible for delivering lectures, tutorials, exam invigilation and candidate interviews"
type university_dept_Department__staffMembers__gqlv_collection {
disabled: String
get: [university_dept_StaffMember]
@@ -2160,6 +2169,7 @@ type university_dept_Departments__createDepartment__deptHead__gqlv_action_parame
validity: String
}
+"University department specializing in a field of study"
type university_dept_Departments__createDepartment__gqlv_action {
disabled: String
hidden: Boolean
@@ -2179,6 +2189,7 @@ type university_dept_Departments__createDepartment__name__gqlv_action_parameter
validity: String
}
+"University department specializing in a field of study"
type university_dept_Departments__findAllDepartments__gqlv_action {
disabled: String
hidden: Boolean
@@ -2186,6 +2197,7 @@ type university_dept_Departments__findAllDepartments__gqlv_action {
validate: String
}
+"University department specializing in a field of study"
type university_dept_Departments__findDepartmentByName__gqlv_action {
disabled: String
hidden: Boolean
@@ -2204,6 +2216,7 @@ type university_dept_Departments__findDepartmentByName__name__gqlv_action_parame
validity: String
}
+"Departmental head, responsible for curriculum, research, funding and staff"
type university_dept_DeptHead {
_gqlv_meta: university_dept_DeptHead__gqlv_meta
changeDepartment: university_dept_DeptHead__changeDepartment__gqlv_action
@@ -2219,6 +2232,7 @@ type university_dept_DeptHead__changeDepartment__department__gqlv_action_paramet
validity: String
}
+"Departmental head, responsible for curriculum, research, funding and staff"
type university_dept_DeptHead__changeDepartment__gqlv_action {
disabled: String
hidden: Boolean
@@ -2231,6 +2245,7 @@ type university_dept_DeptHead__changeDepartment__gqlv_action_params {
department: university_dept_DeptHead__changeDepartment__department__gqlv_action_parameter
}
+"Departmental head, responsible for curriculum, research, funding and staff"
type university_dept_DeptHead__changeName__gqlv_action {
disabled: String
hidden: Boolean
@@ -2250,6 +2265,7 @@ type university_dept_DeptHead__changeName__newName__gqlv_action_parameter {
validity: String
}
+"University department specializing in a field of study"
type university_dept_DeptHead__department__gqlv_property {
choices(department: university_dept_Department__gqlv_input): [university_dept_Department]
disabled: String
@@ -2279,6 +2295,7 @@ type university_dept_DeptHeads {
findHeadByName: university_dept_DeptHeads__findHeadByName__gqlv_action
}
+"Departmental head, responsible for curriculum, research, funding and staff"
type university_dept_DeptHeads__findAllHeads__gqlv_action {
disabled: String
hidden: Boolean
@@ -2286,6 +2303,7 @@ type university_dept_DeptHeads__findAllHeads__gqlv_action {
validate: String
}
+"Departmental head, responsible for curriculum, research, funding and staff"
type university_dept_DeptHeads__findHeadByName__gqlv_action {
disabled: String
hidden: Boolean
@@ -2310,6 +2328,7 @@ type university_dept_Staff {
findStaffMemberByName: university_dept_Staff__findStaffMemberByName__gqlv_action
}
+"Staff member of a university department, responsible for delivering lectures, tutorials, exam invigilation and candidate interviews"
type university_dept_StaffMember {
_gqlv_meta: university_dept_StaffMember__gqlv_meta
department: university_dept_StaffMember__department__gqlv_property
@@ -2318,6 +2337,7 @@ type university_dept_StaffMember {
photo: university_dept_StaffMember__photo__gqlv_property
}
+"University department specializing in a field of study"
type university_dept_StaffMember__department__gqlv_property {
choices(department: university_dept_Department__gqlv_input): [university_dept_Department]
disabled: String
@@ -2366,6 +2386,7 @@ type university_dept_Staff__createStaffMember__department__gqlv_action_parameter
validity: String
}
+"Staff member of a university department, responsible for delivering lectures, tutorials, exam invigilation and candidate interviews"
type university_dept_Staff__createStaffMember__gqlv_action {
disabled: String
hidden: Boolean
@@ -2385,6 +2406,7 @@ type university_dept_Staff__createStaffMember__name__gqlv_action_parameter {
validity: String
}
+"Staff member of a university department, responsible for delivering lectures, tutorials, exam invigilation and candidate interviews"
type university_dept_Staff__findAllStaffMembers__gqlv_action {
disabled: String
hidden: Boolean
@@ -2392,6 +2414,7 @@ type university_dept_Staff__findAllStaffMembers__gqlv_action {
validate: String
}
+"Staff member of a university department, responsible for delivering lectures, tutorials, exam invigilation and candidate interviews"
type university_dept_Staff__findStaffMemberByName__gqlv_action {
disabled: String
hidden: Boolean
@@ -2411,149 +2434,186 @@ type university_dept_Staff__findStaffMemberByName__name__gqlv_action_parameter {
}
input causeway_applib_DomainObjectList__gqlv_input {
- id: ID!
+ id: ID
+ ref: String
}
input causeway_applib_FacetGroupNode__gqlv_input {
- id: ID!
+ id: ID
+ ref: String
}
input causeway_applib_ParameterNode__gqlv_input {
- id: ID!
+ id: ID
+ ref: String
}
input causeway_applib_PropertyNode__gqlv_input {
- id: ID!
+ id: ID
+ ref: String
}
input causeway_applib_RoleMemento__gqlv_input {
- id: ID!
+ id: ID
+ ref: String
}
input causeway_applib_TypeNode__gqlv_input {
- id: ID!
+ id: ID
+ ref: String
}
input causeway_applib_UserMemento__gqlv_input {
- id: ID!
+ id: ID
+ ref: String
}
input causeway_applib_node_ActionNode__gqlv_input {
- id: ID!
+ id: ID
+ ref: String
}
input causeway_applib_node_CollectionNode__gqlv_input {
- id: ID!
+ id: ID
+ ref: String
}
input causeway_applib_node_FacetAttrNode__gqlv_input {
- id: ID!
+ id: ID
+ ref: String
}
input causeway_applib_node_FacetNode__gqlv_input {
- id: ID!
+ id: ID
+ ref: String
}
input causeway_conf_ConfigurationProperty__gqlv_input {
- id: ID!
+ id: ID
+ ref: String
}
input causeway_conf_ConfigurationViewmodel__gqlv_input {
- id: ID!
+ id: ID
+ ref: String
}
input causeway_feat_ApplicationFeatureViewModel__gqlv_input {
- id: ID!
+ id: ID
+ ref: String
}
input causeway_feat_ApplicationNamespace__gqlv_input {
- id: ID!
+ id: ID
+ ref: String
}
input causeway_feat_ApplicationTypeAction__gqlv_input {
- id: ID!
+ id: ID
+ ref: String
}
input causeway_feat_ApplicationTypeCollection__gqlv_input {
- id: ID!
+ id: ID
+ ref: String
}
input causeway_feat_ApplicationTypeMember__gqlv_input {
- id: ID!
+ id: ID
+ ref: String
}
input causeway_feat_ApplicationTypeProperty__gqlv_input {
- id: ID!
+ id: ID
+ ref: String
}
input causeway_feat_ApplicationType__gqlv_input {
- id: ID!
+ id: ID
+ ref: String
}
input causeway_schema_metamodel_v2_DomainClassDto__gqlv_input {
- id: ID!
+ id: ID
+ ref: String
}
input causeway_security_LoginRedirect__gqlv_input {
- id: ID!
+ id: ID
+ ref: String
}
input causeway_testing_fixtures_FixtureResult__gqlv_input {
- id: ID!
+ id: ID
+ ref: String
}
input java_lang_Runnable__gqlv_input {
- id: ID!
+ id: ID
+ ref: String
}
input java_util_Map__gqlv_input {
- id: ID!
+ id: ID
+ ref: String
}
input java_util_SortedMap__gqlv_input {
- id: ID!
+ id: ID
+ ref: String
}
input java_util_concurrent_Callable__gqlv_input {
- id: ID!
+ id: ID
+ ref: String
}
input java_util_function_BiFunction__gqlv_input {
- id: ID!
+ id: ID
+ ref: String
}
input java_util_function_Consumer__gqlv_input {
- id: ID!
+ id: ID
+ ref: String
}
input java_util_function_Function__gqlv_input {
- id: ID!
+ id: ID
+ ref: String
}
input java_util_stream_Stream__gqlv_input {
- id: ID!
+ id: ID
+ ref: String
}
input org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_input {
- id: ID!
+ id: ID
+ ref: String
}
input org_apache_causeway_core_metamodel_inspect_model_MemberNode__gqlv_input {
- id: ID!
+ id: ID
+ ref: String
}
input org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__gqlv_input {
- id: ID!
+ id: ID
+ ref: String
}
input university_dept_Department__gqlv_input {
- id: ID!
+ id: ID
+ ref: String
}
input university_dept_DeptHead__gqlv_input {
- id: ID!
+ id: ID
+ ref: String
}
input university_dept_StaffMember__gqlv_input {
- id: ID!
+ id: ID
+ ref: String
}