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 1806e4b5e0ba2562ff5158e731103d4f42e56603 Author: danhaywood <[email protected]> AuthorDate: Mon Feb 12 20:22:03 2024 +0000 CAUSEWAY-3676: adds in scenario, ensure use factory method for GqlvDomainObject --- .../graphql/model/domain/GqlvDomainObject.java | 2 +- .../graphql/model/domain/GqlvScenarioGiven.java | 2 +- .../graphql/model/toplevel/GqlvTopLevelQuery.java | 14 +++--- viewers/graphql/test/src/test/resources/schema.gql | 54 ++++++++++++++++++++++ 4 files changed, 62 insertions(+), 10 deletions(-) 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 36d653b728..e21bb2f075 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 @@ -73,7 +73,7 @@ public class GqlvDomainObject return domainObjectBySpec.computeIfAbsent(objectSpecification, spec -> new GqlvDomainObject(spec, context)); } - public GqlvDomainObject( + private GqlvDomainObject( final ObjectSpecification objectSpecification, final Context context) { super(TypeNames.objectTypeNameFor(objectSpecification), context); diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvScenarioGiven.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvScenarioGiven.java index f01faa063f..099d547ea8 100644 --- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvScenarioGiven.java +++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvScenarioGiven.java @@ -27,7 +27,7 @@ public class GqlvScenarioGiven case VIEW_MODEL: // @DomainObject(nature=VIEW_MODEL) case ENTITY: // @DomainObject(nature=ENTITY) - domainObjects.add(new GqlvDomainObject(objectSpec, context)); + domainObjects.add(GqlvDomainObject.of(objectSpec, context)); break; } diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/toplevel/GqlvTopLevelQuery.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/toplevel/GqlvTopLevelQuery.java index 6205082faf..eff065063f 100644 --- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/toplevel/GqlvTopLevelQuery.java +++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/toplevel/GqlvTopLevelQuery.java @@ -1,11 +1,9 @@ package org.apache.causeway.viewer.graphql.model.toplevel; -import graphql.schema.GraphQLObjectType; - import java.util.ArrayList; import java.util.List; -import static graphql.schema.GraphQLObjectType.newObject; +import graphql.schema.GraphQLObjectType; import org.apache.causeway.viewer.graphql.model.context.Context; import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstractCustom; @@ -21,7 +19,7 @@ public class GqlvTopLevelQuery private final List<GqlvDomainService> domainServices = new ArrayList<>(); private final List<GqlvDomainObject> domainObjects = new ArrayList<>(); -// private final GqlvScenario scenario; + private final GqlvScenario scenario; public GqlvTopLevelQuery(final Context context) { super("Query", context); @@ -33,7 +31,7 @@ public class GqlvTopLevelQuery case VIEW_MODEL: // @DomainObject(nature=VIEW_MODEL) case ENTITY: // @DomainObject(nature=ENTITY) - domainObjects.add(new GqlvDomainObject(objectSpec, context)); + domainObjects.add(GqlvDomainObject.of(objectSpec, context)); break; } @@ -58,8 +56,8 @@ public class GqlvTopLevelQuery addChildField(domainObject.getLookupField()); } -// scenario = new GqlvScenario(this, context); -// addChildField(scenario.getField()); + scenario = new GqlvScenario(context); + addChildField(scenario.getField()); buildObjectType(); } @@ -81,6 +79,6 @@ public class GqlvTopLevelQuery domainObjects.forEach(domainObject -> domainObject.addDataFetchers(this)); -// scenario.addDataFetchers(this); + scenario.addDataFetchers(this); } } diff --git a/viewers/graphql/test/src/test/resources/schema.gql b/viewers/graphql/test/src/test/resources/schema.gql index 65b53a6d18..d0e4b40449 100644 --- a/viewers/graphql/test/src/test/resources/schema.gql +++ b/viewers/graphql/test/src/test/resources/schema.gql @@ -22,7 +22,56 @@ directive @specifiedBy( url: String! ) on SCALAR +type Given { + _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_UserMenu: causeway_applib_UserMenu + causeway_conf_ConfigurationMenu: causeway_conf_ConfigurationMenu + causeway_security_LogoutMenu: causeway_security_LogoutMenu + university_admin_AdminMenu: university_admin_AdminMenu + university_calc_Calculator: university_calc_Calculator + university_dept_Departments: university_dept_Departments + university_dept_DeptHeads: university_dept_DeptHeads + university_dept_Staff: university_dept_Staff +} + 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 @@ -70,6 +119,11 @@ type Query { university_dept_Staff: university_dept_Staff } +type Scenario { + Given: Given + Name: String +} + type causeway_applib_DomainObjectList { _gqlv_meta: causeway_applib_DomainObjectList__gqlv_meta actionArguments: causeway_applib_DomainObjectList__actionArguments__gqlv_property
