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
The following commit(s) were added to refs/heads/CAUSEWAY-3676 by this push:
new 146adc140e CAUSEWAY-3676: trivial clean up
146adc140e is described below
commit 146adc140ea0cb313ec5d1105e4dd937cf6ab319
Author: danhaywood <[email protected]>
AuthorDate: Fri Jan 19 13:42:08 2024 +0000
CAUSEWAY-3676: trivial clean up
---
.../integration/GraphQlSourceForCauseway.java | 6 ++---
.../graphql/viewer/source/GqlvObjectBehaviour.java | 27 +++++++++-------------
.../graphql/viewer/source/GqlvObjectStructure.java | 25 +++++++++++++++++---
.../graphql/viewer/source/GraphQLTypeRegistry.java | 4 +++-
.../graphql/viewer/source/ObjectTypeFactory.java | 25 +-------------------
5 files changed, 39 insertions(+), 48 deletions(-)
diff --git
a/incubator/viewers/graphql/viewer/src/main/java/org/apache/causeway/viewer/graphql/viewer/integration/GraphQlSourceForCauseway.java
b/incubator/viewers/graphql/viewer/src/main/java/org/apache/causeway/viewer/graphql/viewer/integration/GraphQlSourceForCauseway.java
index 536b72c2e2..b9e165c816 100644
---
a/incubator/viewers/graphql/viewer/src/main/java/org/apache/causeway/viewer/graphql/viewer/integration/GraphQlSourceForCauseway.java
+++
b/incubator/viewers/graphql/viewer/src/main/java/org/apache/causeway/viewer/graphql/viewer/integration/GraphQlSourceForCauseway.java
@@ -23,8 +23,6 @@ import static
graphql.schema.GraphQLFieldDefinition.newFieldDefinition;
import static graphql.schema.GraphQLObjectType.newObject;
import java.util.Comparator;
-import java.util.HashSet;
-import java.util.Set;
import javax.annotation.PostConstruct;
import javax.inject.Inject;
@@ -52,7 +50,7 @@ import graphql.schema.DataFetcher;
import graphql.schema.GraphQLCodeRegistry;
import graphql.schema.GraphQLObjectType;
import graphql.schema.GraphQLSchema;
-import graphql.schema.GraphQLType;
+
import lombok.RequiredArgsConstructor;
import lombok.val;
@@ -136,7 +134,7 @@ public class GraphQlSourceForCauseway implements
GraphQlSource {
case ENTITY: // @DomainObject(nature=ENTITY)
// TODO: App interface should map to gql interfaces?
-
objectTypeFactory.objectTypeFromObjectSpecification(objectSpec,
codeRegistryBuilder);
+ objectTypeFactory.createGqlObjectTypeWithFetchers(objectSpec,
codeRegistryBuilder);
break;
diff --git
a/incubator/viewers/graphql/viewer/src/main/java/org/apache/causeway/viewer/graphql/viewer/source/GqlvObjectBehaviour.java
b/incubator/viewers/graphql/viewer/src/main/java/org/apache/causeway/viewer/graphql/viewer/source/GqlvObjectBehaviour.java
index c5117c9e62..b257628460 100644
---
a/incubator/viewers/graphql/viewer/src/main/java/org/apache/causeway/viewer/graphql/viewer/source/GqlvObjectBehaviour.java
+++
b/incubator/viewers/graphql/viewer/src/main/java/org/apache/causeway/viewer/graphql/viewer/source/GqlvObjectBehaviour.java
@@ -1,19 +1,6 @@
package org.apache.causeway.viewer.graphql.viewer.source;
-import graphql.schema.DataFetcher;
-import graphql.schema.FieldCoordinates;
-import graphql.schema.GraphQLCodeRegistry;
-
-import graphql.schema.GraphQLFieldDefinition;
-import graphql.schema.GraphQLObjectType;
-import graphql.schema.GraphQLType;
-
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.RequiredArgsConstructor;
-
-import java.util.List;
import java.util.Set;
import org.apache.causeway.applib.services.bookmark.BookmarkService;
@@ -25,6 +12,14 @@ import
org.apache.causeway.core.metamodel.spec.feature.MixedIn;
import org.apache.causeway.core.metamodel.spec.feature.ObjectAssociation;
import org.apache.causeway.core.metamodel.specloader.SpecificationLoader;
+import lombok.RequiredArgsConstructor;
+
+import graphql.schema.DataFetcher;
+import graphql.schema.FieldCoordinates;
+import graphql.schema.GraphQLCodeRegistry;
+import graphql.schema.GraphQLObjectType;
+import graphql.schema.GraphQLType;
+
import static graphql.schema.GraphQLObjectType.newObject;
@RequiredArgsConstructor
@@ -51,14 +46,14 @@ public class GqlvObjectBehaviour {
GraphQLObjectType metaType = gqlvObjectStructure.getMetaType();
gqlvObjectStructure.getMetaField().getType();
codeRegistryBuilder.dataFetcher(
- FieldCoordinates.coordinates(metaType,
ObjectTypeFactory.Fields.id),
+ FieldCoordinates.coordinates(metaType,
GqlvObjectStructure.Fields.id),
(DataFetcher<Object>) environment -> {
GqlvMeta gqlvMeta = environment.getSource();
return gqlvMeta.id();
});
codeRegistryBuilder.dataFetcher(
-
FieldCoordinates.coordinates(gqlvObjectStructure.getMetaType(),
ObjectTypeFactory.Fields.logicalTypeName),
+
FieldCoordinates.coordinates(gqlvObjectStructure.getMetaType(),
GqlvObjectStructure.Fields.logicalTypeName),
(DataFetcher<Object>) environment -> {
GqlvMeta gqlvMeta = environment.getSource();
return gqlvMeta.logicalTypeName();
@@ -66,7 +61,7 @@ public class GqlvObjectBehaviour {
if (gqlvObjectStructure.getBeanSort() == BeanSort.ENTITY) {
codeRegistryBuilder.dataFetcher(
-
FieldCoordinates.coordinates(gqlvObjectStructure.getMetaType(),
ObjectTypeFactory.Fields.version),
+
FieldCoordinates.coordinates(gqlvObjectStructure.getMetaType(),
GqlvObjectStructure.Fields.version),
(DataFetcher<Object>) environment -> {
GqlvMeta gqlvMeta = environment.getSource();
return gqlvMeta.version();
diff --git
a/incubator/viewers/graphql/viewer/src/main/java/org/apache/causeway/viewer/graphql/viewer/source/GqlvObjectStructure.java
b/incubator/viewers/graphql/viewer/src/main/java/org/apache/causeway/viewer/graphql/viewer/source/GqlvObjectStructure.java
index 179662d604..92457b7186 100644
---
a/incubator/viewers/graphql/viewer/src/main/java/org/apache/causeway/viewer/graphql/viewer/source/GqlvObjectStructure.java
+++
b/incubator/viewers/graphql/viewer/src/main/java/org/apache/causeway/viewer/graphql/viewer/source/GqlvObjectStructure.java
@@ -11,6 +11,7 @@ import graphql.schema.GraphQLOutputType;
import graphql.schema.GraphQLTypeReference;
import lombok.Getter;
+import lombok.experimental.UtilityClass;
import lombok.val;
import java.util.ArrayList;
@@ -41,6 +42,24 @@ import static
org.apache.causeway.viewer.graphql.viewer.source.ObjectTypeFactory
*/
public class GqlvObjectStructure {
+ @UtilityClass
+ static class Fields {
+ static GraphQLFieldDefinition id =
+ newFieldDefinition()
+ .name("id")
+ .type(nonNull(Scalars.GraphQLString))
+ .build();
+ static GraphQLFieldDefinition logicalTypeName =
+ newFieldDefinition()
+ .name("logicalTypeName")
+ .type(nonNull(Scalars.GraphQLString))
+ .build();
+ static GraphQLFieldDefinition version =
+ newFieldDefinition()
+ .name("version")
+ .type(Scalars.GraphQLString).build();
+ }
+
@Getter private final ObjectSpecification objectSpec;
@Getter private final GraphQLFieldDefinition metaField;
@Getter private final GraphQLObjectType.Builder gqlObjectTypeBuilder;
@@ -104,10 +123,10 @@ public class GqlvObjectStructure {
private GraphQLObjectType metaType() {
val metaTypeBuilder = newObject().name(getLogicalTypeNameSanitized() +
"__DomainObject_meta");
- metaTypeBuilder.field(ObjectTypeFactory.Fields.id);
- metaTypeBuilder.field(ObjectTypeFactory.Fields.logicalTypeName);
+ metaTypeBuilder.field(Fields.id);
+ metaTypeBuilder.field(Fields.logicalTypeName);
if (getBeanSort() == BeanSort.ENTITY) {
- metaTypeBuilder.field(ObjectTypeFactory.Fields.version);
+ metaTypeBuilder.field(Fields.version);
}
return metaTypeBuilder.build();
}
diff --git
a/incubator/viewers/graphql/viewer/src/main/java/org/apache/causeway/viewer/graphql/viewer/source/GraphQLTypeRegistry.java
b/incubator/viewers/graphql/viewer/src/main/java/org/apache/causeway/viewer/graphql/viewer/source/GraphQLTypeRegistry.java
index 908029d3f4..cde08dfded 100644
---
a/incubator/viewers/graphql/viewer/src/main/java/org/apache/causeway/viewer/graphql/viewer/source/GraphQLTypeRegistry.java
+++
b/incubator/viewers/graphql/viewer/src/main/java/org/apache/causeway/viewer/graphql/viewer/source/GraphQLTypeRegistry.java
@@ -13,11 +13,13 @@ import java.util.Set;
import org.springframework.stereotype.Component;
+/**
+ * Just a simple wrapper around the set of discovered {@link GraphQLType}s.
+ */
@Component
@Log4j2
public class GraphQLTypeRegistry {
-
Set<GraphQLType> graphQLObjectTypes = new HashSet<>();
public Set<GraphQLType> getGraphQLObjectTypes() {
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 343c92aabc..6f2a7f0fe1 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
@@ -20,7 +20,6 @@ package org.apache.causeway.viewer.graphql.viewer.source;
import static graphql.schema.GraphQLFieldDefinition.newFieldDefinition;
import static graphql.schema.GraphQLInputObjectType.newInputObject;
-import static graphql.schema.GraphQLNonNull.nonNull;
import static graphql.schema.GraphQLObjectType.newObject;
import javax.inject.Inject;
@@ -33,13 +32,10 @@ import
org.apache.causeway.applib.services.bookmark.BookmarkService;
import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
import org.apache.causeway.core.metamodel.specloader.SpecificationLoader;
-import graphql.Scalars;
import graphql.schema.GraphQLCodeRegistry;
-import graphql.schema.GraphQLFieldDefinition;
import graphql.schema.GraphQLObjectType;
import lombok.RequiredArgsConstructor;
-import lombok.experimental.UtilityClass;
import lombok.extern.log4j.Log4j2;
import lombok.val;
@@ -56,25 +52,7 @@ public class ObjectTypeFactory {
private final ObjectManager objectManager;
private final SpecificationLoader specificationLoader;
- @UtilityClass
- static class Fields {
- static GraphQLFieldDefinition id =
- newFieldDefinition()
- .name("id")
- .type(nonNull(Scalars.GraphQLString))
- .build();
- static GraphQLFieldDefinition logicalTypeName =
- newFieldDefinition()
- .name("logicalTypeName")
- .type(nonNull(Scalars.GraphQLString))
- .build();
- static GraphQLFieldDefinition version =
- newFieldDefinition()
- .name("version")
- .type(Scalars.GraphQLString).build();
- }
-
- public void objectTypeFromObjectSpecification(
+ public void createGqlObjectTypeWithFetchers(
final ObjectSpecification objectSpec,
final GraphQLCodeRegistry.Builder codeRegistryBuilder) {
@@ -94,7 +72,6 @@ public class ObjectTypeFactory {
GraphQLObjectType graphQLObjectType =
gqlvObjectStructure.buildGqlObjectType();
graphQLTypeRegistry.addTypeIfNotAlreadyPresent(graphQLObjectType);
-
GqlvObjectBehaviour gqlvObjectBehaviour =
new GqlvObjectBehaviour(gqlvObjectStructure,
codeRegistryBuilder, bookmarkService, objectManager, specificationLoader);