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 b5c5b4ec9ffa9e9258d7b38c24f51961effcce31 Author: danhaywood <[email protected]> AuthorDate: Sat Jan 20 18:54:38 2024 +0000 CAUSEWAY-3676: rationalizing mutator actions for domain service vis-a-vis domain object --- .../graphql/model/domain/GqlvDomainObject.java | 23 ++++++++++------------ .../graphql/model/domain/GqlvDomainService.java | 1 - .../viewer/graphql/model/domain/GqlvMutators.java | 21 ++++++++++---------- 3 files changed, 20 insertions(+), 25 deletions(-) diff --git a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvDomainObject.java b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvDomainObject.java index 5fa061b1bb..0e529038e9 100644 --- a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvDomainObject.java +++ b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvDomainObject.java @@ -51,7 +51,7 @@ public class GqlvDomainObject implements GqlvActionHolder, GqlvPropertyHolder, G @Getter private final GqlvMeta meta; @Getter private final GqlvMutators mutators; - @Getter private final GraphQLObjectType.Builder gqlObjectTypeBuilder; + @Getter private final GraphQLObjectType.Builder objectTypeBuilder; @Getter private final GraphQLInputObjectType gqlInputObjectType; String getLogicalTypeName() { @@ -90,7 +90,7 @@ public class GqlvDomainObject implements GqlvActionHolder, GqlvPropertyHolder, G final ObjectManager objectManager) { this.objectSpecification = objectSpecification; this.codeRegistryBuilder = codeRegistryBuilder; - this.gqlObjectTypeBuilder = newObject().name(getLogicalTypeNameSanitized()); + this.objectTypeBuilder = newObject().name(getLogicalTypeNameSanitized()); meta = new GqlvMeta(this, codeRegistryBuilder, bookmarkService, objectManager); mutators = new GqlvMutators(this, codeRegistryBuilder); @@ -106,7 +106,7 @@ public class GqlvDomainObject implements GqlvActionHolder, GqlvPropertyHolder, G gqlInputObjectType = inputTypeBuilder.build(); // object type's meta field - gqlObjectTypeBuilder.field(meta.getMetaField()); + objectTypeBuilder.field(meta.getMetaField()); } @@ -131,7 +131,7 @@ public class GqlvDomainObject implements GqlvActionHolder, GqlvPropertyHolder, G fieldDefinition = newFieldDefinition() .name(otoa.getId()) .type(otoa.isOptional() ? fieldTypeRef : nonNull(fieldTypeRef)).build(); - getGqlObjectTypeBuilder().field( + getObjectTypeBuilder().field( fieldDefinition ); @@ -147,7 +147,7 @@ public class GqlvDomainObject implements GqlvActionHolder, GqlvPropertyHolder, G ? Scalars.GraphQLString : nonNull(Scalars.GraphQLString)); fieldDefinition = valueBuilder.build(); - getGqlObjectTypeBuilder().field(fieldDefinition); + getObjectTypeBuilder().field(fieldDefinition); break; } @@ -174,7 +174,7 @@ public class GqlvDomainObject implements GqlvActionHolder, GqlvPropertyHolder, G fieldDefinition = newFieldDefinition() .name(otom.getId()) .type(GraphQLList.list(typeRef)).build(); - gqlObjectTypeBuilder.field(fieldDefinition); + objectTypeBuilder.field(fieldDefinition); break; case VALUE: @@ -182,7 +182,7 @@ public class GqlvDomainObject implements GqlvActionHolder, GqlvPropertyHolder, G fieldDefinition = newFieldDefinition() .name(otom.getId()) .type(GraphQLList.list(wrappedType)).build(); - gqlObjectTypeBuilder.field(fieldDefinition); + objectTypeBuilder.field(fieldDefinition); break; } @@ -196,12 +196,9 @@ public class GqlvDomainObject implements GqlvActionHolder, GqlvPropertyHolder, G void addAction(final ObjectAction objectAction) { if (objectAction.getSemantics().isSafeInNature()) { - GraphQLObjectType.Builder objectTypeBuilder = getGqlObjectTypeBuilder(); - safeActions.add(new GqlvAction(this, objectAction, objectTypeBuilder, codeRegistryBuilder)); } else { - - mutators.addActionAsField(objectAction); + mutators.addAction(objectAction); } } @@ -220,7 +217,7 @@ public class GqlvDomainObject implements GqlvActionHolder, GqlvPropertyHolder, G if (gqlObjectType != null) { throw new IllegalArgumentException(String.format("GqlObjectType has already been built for %s", getLogicalTypeName())); } - return gqlObjectType = getGqlObjectTypeBuilder().name(getLogicalTypeNameSanitized()).build(); + return gqlObjectType = getObjectTypeBuilder().name(getLogicalTypeNameSanitized()).build(); } /** @@ -261,7 +258,7 @@ public class GqlvDomainObject implements GqlvActionHolder, GqlvPropertyHolder, G .name(_Constants.GQL_MUTATIONS_FIELDNAME) .type(mutatorsType) .build(); - getGqlObjectTypeBuilder().field(gql_mutations); + getObjectTypeBuilder().field(gql_mutations); }); 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 bdfae8f113..9bb7fea2da 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 @@ -88,7 +88,6 @@ public class GqlvDomainService implements GqlvActionHolder, GqlvMutatorsHolder { public void addAction(final ObjectAction objectAction) { - // TODO: either safe or mutator safeActions.add(new GqlvAction(this, objectAction, objectTypeBuilder, codeRegistryBuilder)); } diff --git a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMutators.java b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMutators.java index 912704705c..9c1c273111 100644 --- a/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMutators.java +++ b/incubator/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMutators.java @@ -45,17 +45,16 @@ public class GqlvMutators implements GqlvActionHolder { } - public void addActionAsField( - final ObjectAction objectAction) { - - val fieldName = objectAction.getId(); - GraphQLFieldDefinition.Builder fieldBuilder = newFieldDefinition() - .name(fieldName) - .type((GraphQLOutputType) TypeMapper.typeForObjectAction(objectAction)); - addGqlArguments(objectAction, fieldBuilder); - GraphQLFieldDefinition fieldDefinition = fieldBuilder.build(); - - objectTypeBuilder.field(fieldDefinition); + public void addAction(final ObjectAction objectAction) { + +// val fieldName = objectAction.getId(); +// GraphQLFieldDefinition.Builder fieldBuilder = newFieldDefinition() +// .name(fieldName) +// .type((GraphQLOutputType) TypeMapper.typeForObjectAction(objectAction)); +// addGqlArguments(objectAction, fieldBuilder); +// GraphQLFieldDefinition fieldDefinition = fieldBuilder.build(); +// +// objectTypeBuilder.field(fieldDefinition); actions.add(new GqlvAction(holder, objectAction, objectTypeBuilder, codeRegistryBuilder)); }
