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/22 22:49:19 UTC
(causeway) 07/10: CAUSEWAY-3676: reducing public API of GqlvDomainService
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 9caee2d925dda26b581e628778902aed9d6e105c
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Jan 22 22:32:52 2024 +0000
CAUSEWAY-3676: reducing public API of GqlvDomainService
---
.../graphql/model/domain/GqlvDomainService.java | 51 +++++-----------------
.../integration/GraphQlSourceForCauseway.java | 3 +-
2 files changed, 12 insertions(+), 42 deletions(-)
diff --git a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvDomainService.java b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvDomainService.java
index 009b1c9757..442f261dfe 100644
--- a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvDomainService.java
+++ b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvDomainService.java
@@ -82,7 +82,7 @@ public class GqlvDomainService implements GqlvActionHolder, GqlvMutationsHolder
addAction(objectAction);
});
- buildMutationsTypeAndFieldIfRequired();
+ mutations.buildMutationsTypeAndFieldIfRequired();
return anyActions.get();
}
@@ -96,35 +96,22 @@ public class GqlvDomainService implements GqlvActionHolder, GqlvMutationsHolder
}
- /**
- * Should be called only after fields etc have been added.
- */
- GraphQLObjectType buildGqlObjectType() {
- if (gqlObjectType != null) {
- throw new IllegalArgumentException(String.format("GqlObjectType has already been built for %s", getLogicalTypeName()));
- }
- return gqlObjectType = gqlObjectTypeBuilder.build();
+ @Override
+ public void addField(GraphQLFieldDefinition fieldDefinition) {
+ gqlObjectTypeBuilder.field(fieldDefinition);
}
+ public void registerTypesInto(GraphQLTypeRegistry graphQLTypeRegistry) {
+ gqlObjectType = gqlObjectTypeBuilder.build();
+ // TODO: unlike GqlvDomainObject, not sure why gqlObjectType doesn't need to be registered...
- /**
- * @see #buildMutationsTypeAndFieldIfRequired()
- */
- public Optional<GraphQLObjectType> getMutatorsTypeIfAny() {
- return mutations.getMutationsTypeIfAny();
- }
-
- /**
- * @see #getMutatorsTypeIfAny()
- */
- public Optional<GraphQLObjectType> buildMutationsTypeAndFieldIfRequired() {
- return mutations.buildMutationsTypeAndFieldIfRequired();
+ mutations.getMutationsTypeIfAny().ifPresent(graphQLTypeRegistry::addTypeIfNotAlreadyPresent);
}
- @Override
- public void addField(GraphQLFieldDefinition fieldDefinition) {
- gqlObjectTypeBuilder.field(fieldDefinition);
+ public void addDataFetchers() {
+ getSafeActions().forEach(GqlvAction::addDataFetcher);
+ getMutations().addDataFetchers();
}
@Override
@@ -143,22 +130,6 @@ public class GqlvDomainService implements GqlvActionHolder, GqlvMutationsHolder
.build();
}
-
- public void registerTypesInto(GraphQLTypeRegistry graphQLTypeRegistry) {
- gqlObjectType = gqlObjectTypeBuilder.build();
- // TODO: not sure why gqlObjectType doesn't need to be registered...
-
- getMutatorsTypeIfAny().ifPresent(graphQLTypeRegistry::addTypeIfNotAlreadyPresent);
- }
-
- public void addDataFetchersForSafeActions() {
- getSafeActions().forEach(GqlvAction::addDataFetcher);
- }
-
- public void addDataFetchersForMutations() {
- getMutations().addDataFetchers();
- }
-
@Override
public String toString() {
return objectSpecification.getLogicalTypeName();
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 bc864eaccd..ccc7c35c6d 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
@@ -193,8 +193,7 @@ public class GraphQlSourceForCauseway implements GraphQlSource {
domainService.registerTypesInto(graphQLTypeRegistry);
- domainService.addDataFetchersForSafeActions();
- domainService.addDataFetchersForMutations();
+ domainService.addDataFetchers();
topLevelQueryStructure.addFieldFor(domainService, codeRegistryBuilder);