Introduce new configs: typeResolverPrefix, typeResolverSuffix, genera… · Nithanim/graphql-java-codegen@6a952a4 · GitHub
Skip to content

Commit 6a952a4

Browse files
authored
Introduce new configs: typeResolverPrefix, typeResolverSuffix, generateModelsForRootTypes kobylynskyi#206 (kobylynskyi#207)
* Run GitHub workflows for develop branch * Introduce new configs: typeResolverPrefix, typeResolverSuffix, generateModelsForRootTypes kobylynskyi#206 * Fix some sonar issues
1 parent d76140c commit 6a952a4

15 files changed

Lines changed: 353 additions & 41 deletions

File tree

docs/codegen-options.md

Lines changed: 4 additions & 1 deletion

plugins/gradle/graphql-java-codegen-gradle-plugin/src/main/java/io/github/kobylynskyi/graphql/codegen/gradle/GraphQLCodegenGradleTask.java

Lines changed: 46 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,9 @@ public class GraphQLCodegenGradleTask extends DefaultTask implements GraphQLCode
5050
private ApiNamePrefixStrategy apiNamePrefixStrategy = MappingConfigConstants.DEFAULT_API_NAME_PREFIX_STRATEGY;
5151
private ApiRootInterfaceStrategy apiRootInterfaceStrategy = MappingConfigConstants.DEFAULT_API_ROOT_INTERFACE_STRATEGY;
5252
private String apiNamePrefix;
53-
private String apiNameSuffix;
53+
private String apiNameSuffix = MappingConfigConstants.DEFAULT_RESOLVER_SUFFIX;;
54+
private String typeResolverPrefix;
55+
private String typeResolverSuffix = MappingConfigConstants.DEFAULT_RESOLVER_SUFFIX;
5456
private String modelPackageName;
5557
private String modelNamePrefix;
5658
private String modelNameSuffix;
@@ -65,6 +67,7 @@ public class GraphQLCodegenGradleTask extends DefaultTask implements GraphQLCode
6567
private Boolean generateParameterizedFieldsResolvers = MappingConfigConstants.DEFAULT_GENERATE_PARAMETERIZED_FIELDS_RESOLVERS;
6668
private Boolean generateExtensionFieldsResolvers = MappingConfigConstants.DEFAULT_GENERATE_EXTENSION_FIELDS_RESOLVERS;
6769
private Boolean generateDataFetchingEnvironmentArgumentInApis = MappingConfigConstants.DEFAULT_GENERATE_DATA_FETCHING_ENV;
70+
private Boolean generateModelsForRootTypes = MappingConfigConstants.DEFAULT_GENERATE_MODELS_FOR_ROOT_TYPES;
6871
private Set<String> fieldsWithResolvers = new HashSet<>();
6972
private Set<String> fieldsWithoutResolvers = new HashSet<>();
7073

@@ -86,7 +89,7 @@ public GraphQLCodegenGradleTask() {
8689
public void generate() throws Exception {
8790
MappingConfig mappingConfig = new MappingConfig();
8891
mappingConfig.setPackageName(packageName);
89-
mappingConfig.setCustomTypesMapping(customTypesMapping);
92+
mappingConfig.setCustomTypesMapping(customTypesMapping != null ? customTypesMapping : new HashMap<>());
9093
mappingConfig.setApiNameSuffix(apiNameSuffix);
9194
mappingConfig.setApiNamePrefix(apiNamePrefix);
9295
mappingConfig.setApiRootInterfaceStrategy(apiRootInterfaceStrategy);
@@ -97,18 +100,21 @@ public void generate() throws Exception {
97100
mappingConfig.setModelPackageName(modelPackageName);
98101
mappingConfig.setGenerateBuilder(generateBuilder);
99102
mappingConfig.setGenerateApis(generateApis);
103+
mappingConfig.setTypeResolverSuffix(typeResolverSuffix);
104+
mappingConfig.setTypeResolverPrefix(typeResolverPrefix);
100105
mappingConfig.setModelValidationAnnotation(modelValidationAnnotation);
101-
mappingConfig.setSubscriptionReturnType(subscriptionReturnType);
102-
mappingConfig.setCustomAnnotationsMapping(customAnnotationsMapping);
106+
mappingConfig.setCustomAnnotationsMapping(customAnnotationsMapping != null ? customAnnotationsMapping : new HashMap<>());
103107
mappingConfig.setGenerateEqualsAndHashCode(generateEqualsAndHashCode);
104108
mappingConfig.setGenerateImmutableModels(generateImmutableModels);
105109
mappingConfig.setGenerateToString(generateToString);
110+
mappingConfig.setSubscriptionReturnType(subscriptionReturnType);
106111
mappingConfig.setGenerateAsyncApi(generateAsyncApi);
107112
mappingConfig.setGenerateParameterizedFieldsResolvers(generateParameterizedFieldsResolvers);
108-
mappingConfig.setGenerateExtensionFieldsResolvers(generateExtensionFieldsResolvers);
109113
mappingConfig.setGenerateDataFetchingEnvironmentArgumentInApis(generateDataFetchingEnvironmentArgumentInApis);
110-
mappingConfig.setFieldsWithResolvers(fieldsWithResolvers);
111-
mappingConfig.setFieldsWithoutResolvers(fieldsWithoutResolvers);
114+
mappingConfig.setGenerateExtensionFieldsResolvers(generateExtensionFieldsResolvers);
115+
mappingConfig.setGenerateModelsForRootTypes(generateModelsForRootTypes);
116+
mappingConfig.setFieldsWithResolvers(fieldsWithResolvers != null ? fieldsWithResolvers : new HashSet<>());
117+
mappingConfig.setFieldsWithoutResolvers(fieldsWithoutResolvers != null ? fieldsWithoutResolvers : new HashSet<>());
112118
mappingConfig.setGenerateClient(generateClient);
113119
mappingConfig.setRequestSuffix(requestSuffix);
114120
mappingConfig.setResponseSuffix(responseSuffix);
@@ -328,6 +334,17 @@ public void setGenerateApis(Boolean generateApis) {
328334
this.generateApis = generateApis;
329335
}
330336

337+
@Input
338+
@Optional
339+
@Override
340+
public Boolean getGenerateModelsForRootTypes() {
341+
return generateModelsForRootTypes;
342+
}
343+
344+
public void setGenerateModelsForRootTypes(Boolean generateModelsForRootTypes) {
345+
this.generateModelsForRootTypes = generateModelsForRootTypes;
346+
}
347+
331348
@Input
332349
@Optional
333350
@Override
@@ -416,6 +433,28 @@ public void setGenerateParameterizedFieldsResolvers(Boolean generateParameterize
416433
this.generateParameterizedFieldsResolvers = generateParameterizedFieldsResolvers;
417434
}
418435

436+
@Input
437+
@Optional
438+
@Override
439+
public String getTypeResolverPrefix() {
440+
return typeResolverPrefix;
441+
}
442+
443+
public void setTypeResolverPrefix(String typeResolverPrefix) {
444+
this.typeResolverPrefix = typeResolverPrefix;
445+
}
446+
447+
@Input
448+
@Optional
449+
@Override
450+
public String getTypeResolverSuffix() {
451+
return typeResolverSuffix;
452+
}
453+
454+
public void setTypeResolverSuffix(String typeResolverSuffix) {
455+
this.typeResolverSuffix = typeResolverSuffix;
456+
}
457+
419458
@Input
420459
@Optional
421460
@Override

plugins/maven/graphql-java-codegen-maven-plugin/src/main/java/io/github/kobylynskyi/graphql/codegen/GraphQLCodegenMojo.java

Lines changed: 41 additions & 2 deletions

0 commit comments

Comments
 (0)