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 5ab45882813ea3e4c9ab2671e21b1fc30540f9cc
Author: danhaywood <[email protected]>
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);

Reply via email to