You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@causeway.apache.org by da...@apache.org on 2024/01/19 11:58:05 UTC

(causeway) 10/11: CAUSEWAY-3676: inlines vars obtained from gqlvObjectSpec

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 16b343bc2dc688ed7bbd588971711170825c71ac
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Jan 19 11:51:22 2024 +0000

    CAUSEWAY-3676: inlines vars obtained from gqlvObjectSpec
---
 .../viewer/graphql/viewer/source/GqlvObjectSpec.java       | 13 ++++++-------
 .../viewer/graphql/viewer/source/ObjectTypeFactory.java    | 14 +++++---------
 2 files changed, 11 insertions(+), 16 deletions(-)

diff --git a/incubator/viewers/graphql/viewer/src/main/java/org/apache/causeway/viewer/graphql/viewer/source/GqlvObjectSpec.java b/incubator/viewers/graphql/viewer/src/main/java/org/apache/causeway/viewer/graphql/viewer/source/GqlvObjectSpec.java
index 32c2140932..2079bb682a 100644
--- a/incubator/viewers/graphql/viewer/src/main/java/org/apache/causeway/viewer/graphql/viewer/source/GqlvObjectSpec.java
+++ b/incubator/viewers/graphql/viewer/src/main/java/org/apache/causeway/viewer/graphql/viewer/source/GqlvObjectSpec.java
@@ -36,22 +36,21 @@ public class GqlvObjectSpec {
         return objectSpec.getBeanSort();
     }
 
+    @Getter private final GraphQLObjectType metaType;
     @Getter private final GraphQLObjectType.Builder gqlObjectTypeBuilder;
-    @Getter private final GraphQLObjectType gqlObjectType;
 
     public GqlvObjectSpec(final ObjectSpecification objectSpec) {
         this.objectSpec = objectSpec;
         this.gqlObjectTypeBuilder = newObject().name(getLogicalTypeNameSanitized());
-        String logicalTypeNameSanitized = getLogicalTypeNameSanitized();
-        BeanSort objectSpecificationBeanSort = getBeanSort();
-        String metaTypeName = ObjectTypeFactory.metaTypeName(logicalTypeNameSanitized);
-        GraphQLObjectType.Builder metaTypeBuilder = newObject().name(metaTypeName);
+
+        val metaTypeBuilder = newObject().name(getLogicalTypeNameSanitized() + "__DomainObject_meta");
         metaTypeBuilder.field(ObjectTypeFactory.Fields.id);
         metaTypeBuilder.field(ObjectTypeFactory.Fields.logicalTypeName);
-        if (objectSpecificationBeanSort == BeanSort.ENTITY) {
+        if (getBeanSort() == BeanSort.ENTITY) {
             metaTypeBuilder.field(ObjectTypeFactory.Fields.version);
         }
-        this.gqlObjectType = metaTypeBuilder.build();
+
+        this.metaType = metaTypeBuilder.build();
     }
 
 
diff --git a/incubator/viewers/graphql/viewer/src/main/java/org/apache/causeway/viewer/graphql/viewer/source/ObjectTypeFactory.java b/incubator/viewers/graphql/viewer/src/main/java/org/apache/causeway/viewer/graphql/viewer/source/ObjectTypeFactory.java
index dd388eaf38..503a6fd4fd 100644
--- a/incubator/viewers/graphql/viewer/src/main/java/org/apache/causeway/viewer/graphql/viewer/source/ObjectTypeFactory.java
+++ b/incubator/viewers/graphql/viewer/src/main/java/org/apache/causeway/viewer/graphql/viewer/source/ObjectTypeFactory.java
@@ -72,6 +72,7 @@ public class ObjectTypeFactory {
 
     final static String GQL_INPUTTYPE_PREFIX = "_gql_input__";
     final static String GQL_MUTATIONS_FIELDNAME = "_gql_mutations";
+
     private final BookmarkService bookmarkService;
     private final SpecificationLoader specificationLoader;
     private final ObjectManager objectManager;
@@ -81,10 +82,6 @@ public class ObjectTypeFactory {
         return logicalTypeNameSanitized + "__DomainObject_mutators";
     }
 
-    static String metaTypeName(final String logicalTypeNameSanitized){
-        return logicalTypeNameSanitized + "__DomainObject_meta";
-    }
-
     @UtilityClass
     static class Fields {
         static GraphQLFieldDefinition id =
@@ -110,15 +107,14 @@ public class ObjectTypeFactory {
         val gqlvObjectSpec = new GqlvObjectSpec(objectSpec);
 
         // create meta field type
-        BeanSort objectSpecificationBeanSort = gqlvObjectSpec.getBeanSort();
 
-        GraphQLObjectType metaType = gqlvObjectSpec.getGqlObjectType();
+        GraphQLObjectType metaType = gqlvObjectSpec.getMetaType();
 
         // add meta field
         val _gql_meta_Field = newFieldDefinition().name("_gql_meta").type(metaType).build();
         gqlvObjectSpec.getGqlObjectTypeBuilder().field(_gql_meta_Field);
 
-        graphQLTypeRegistry.addTypeIfNotAlreadyPresent(gqlvObjectSpec.getGqlObjectType());
+        graphQLTypeRegistry.addTypeIfNotAlreadyPresent(gqlvObjectSpec.getMetaType());
 
 
 
@@ -151,10 +147,10 @@ public class ObjectTypeFactory {
 
         // create and register data fetchers
         createAndRegisterDataFetchersForMetaData(
-                codeRegistryBuilder, objectSpecificationBeanSort, metaType, _gql_meta_Field, graphQLObjectType);
+                codeRegistryBuilder, gqlvObjectSpec.getBeanSort(), gqlvObjectSpec.getMetaType(), _gql_meta_Field, graphQLObjectType);
         if (mutatorsDataForEntity!=null) {
             createAndRegisterDataFetchersForMutators(
-                    codeRegistryBuilder, objectSpecificationBeanSort, mutatorsDataForEntity, graphQLObjectType);
+                    codeRegistryBuilder, gqlvObjectSpec.getBeanSort(), mutatorsDataForEntity, graphQLObjectType);
         }
         createAndRegisterDataFetchersForField(objectSpec, codeRegistryBuilder, graphQLObjectType);
         createAndRegisterDataFetchersForCollection(objectSpec, codeRegistryBuilder, graphQLObjectType);