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 5855ba894bbc361d8f7d2dae9ab9a00b43927fa3 Author: danhaywood <[email protected]> AuthorDate: Fri Jan 19 11:46:54 2024 +0000 CAUSEWAY-3676: inlines utility method --- .../graphql/viewer/source/GqlvObjectSpec.java | 11 +++++- .../graphql/viewer/source/ObjectTypeFactory.java | 1 + .../graphql/viewer/source/_GraphQLObjectType.java | 41 ---------------------- 3 files changed, 11 insertions(+), 42 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 d2c6712342..32c2140932 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 @@ -42,7 +42,16 @@ public class GqlvObjectSpec { public GqlvObjectSpec(final ObjectSpecification objectSpec) { this.objectSpec = objectSpec; this.gqlObjectTypeBuilder = newObject().name(getLogicalTypeNameSanitized()); - this.gqlObjectType = _GraphQLObjectType.create(getLogicalTypeNameSanitized(), getBeanSort()); + String logicalTypeNameSanitized = getLogicalTypeNameSanitized(); + BeanSort objectSpecificationBeanSort = getBeanSort(); + String metaTypeName = ObjectTypeFactory.metaTypeName(logicalTypeNameSanitized); + GraphQLObjectType.Builder metaTypeBuilder = newObject().name(metaTypeName); + metaTypeBuilder.field(ObjectTypeFactory.Fields.id); + metaTypeBuilder.field(ObjectTypeFactory.Fields.logicalTypeName); + if (objectSpecificationBeanSort == BeanSort.ENTITY) { + metaTypeBuilder.field(ObjectTypeFactory.Fields.version); + } + this.gqlObjectType = 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 779bb518f0..dd388eaf38 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 @@ -113,6 +113,7 @@ public class ObjectTypeFactory { BeanSort objectSpecificationBeanSort = gqlvObjectSpec.getBeanSort(); GraphQLObjectType metaType = gqlvObjectSpec.getGqlObjectType(); + // add meta field val _gql_meta_Field = newFieldDefinition().name("_gql_meta").type(metaType).build(); gqlvObjectSpec.getGqlObjectTypeBuilder().field(_gql_meta_Field); diff --git a/incubator/viewers/graphql/viewer/src/main/java/org/apache/causeway/viewer/graphql/viewer/source/_GraphQLObjectType.java b/incubator/viewers/graphql/viewer/src/main/java/org/apache/causeway/viewer/graphql/viewer/source/_GraphQLObjectType.java deleted file mode 100644 index 2d85503012..0000000000 --- a/incubator/viewers/graphql/viewer/src/main/java/org/apache/causeway/viewer/graphql/viewer/source/_GraphQLObjectType.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.causeway.viewer.graphql.viewer.source; - -import graphql.schema.GraphQLObjectType; - -import lombok.experimental.UtilityClass; - -import org.apache.causeway.applib.services.metamodel.BeanSort; - -import static graphql.schema.GraphQLObjectType.newObject; - -@UtilityClass -final class _GraphQLObjectType { - static GraphQLObjectType create(String logicalTypeNameSanitized, BeanSort objectSpecificationBeanSort) { - String metaTypeName = ObjectTypeFactory.metaTypeName(logicalTypeNameSanitized); - GraphQLObjectType.Builder metaTypeBuilder = newObject().name(metaTypeName); - metaTypeBuilder.field(ObjectTypeFactory.Fields.id); - metaTypeBuilder.field(ObjectTypeFactory.Fields.logicalTypeName); - if (objectSpecificationBeanSort == BeanSort.ENTITY) { - metaTypeBuilder.field(ObjectTypeFactory.Fields.version); - } - return metaTypeBuilder.build(); - } -}
