Skip to content

Commit d13334e

Browse files
authored
fix: add null validation for java enum arguments (#638)
* Add null check for enum arguments * Add changeset
1 parent ab4fd03 commit d13334e

3 files changed

Lines changed: 9 additions & 4 deletions

File tree

.changeset/many-pens-talk.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@graphql-codegen/java': patch
3+
---
4+
5+
Add null validation for enum arguments

packages/plugins/java/java/src/visitor.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ export class JavaResolversVisitor extends BaseVisitor<
252252
return indentMultiline(
253253
`if (args.get("${arg.name.value}") instanceof ${typeToUse.typeName}) {
254254
this.${this.config.classMembersPrefix}${arg.name.value} = (${typeToUse.typeName}) args.get("${arg.name.value}");
255-
} else {
255+
} else if (args.get("${arg.name.value}") != null) {
256256
this.${this.config.classMembersPrefix}${arg.name.value} = ${typeToUse.typeName}.valueOf((String) args.get("${arg.name.value}"));
257257
}`,
258258
3,

packages/plugins/java/java/tests/java.spec.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ describe('Java', () => {
242242
const result = await plugin(schema, [], {}, { outputFile: OUTPUT_FILE });
243243
expect(result).toBeSimilarStringTo(`if (args.get("sort") instanceof ResultSort) {
244244
this.sort = (ResultSort) args.get("sort");
245-
} else {
245+
} else if (args.get("sort") != null) {
246246
this.sort = ResultSort.valueOf((String) args.get("sort"));
247247
}`);
248248
});
@@ -289,7 +289,7 @@ describe('Java', () => {
289289
this.dateOfBirth = (Object) args.get("dateOfBirth");
290290
if (args.get("sort") instanceof ResultSort) {
291291
this.sort = (ResultSort) args.get("sort");
292-
} else {
292+
} else if (args.get("sort") != null) {
293293
this.sort = ResultSort.valueOf((String) args.get("sort"));
294294
}
295295
this.metadata = new MetadataSearchInput((Map<String, Object>) args.get("metadata"));
@@ -422,7 +422,7 @@ describe('Java', () => {
422422
// const result = await plugin(schema, [], {}, { outputFile: OUTPUT_FILE });
423423
// expect(result).toBeSimilarStringTo(`if (args.get("sort") instanceof ResultSort) {
424424
// this.sort = (ResultSort) args.get("sort");
425-
// } else {
425+
// } else if (args.get("sort") != null) {
426426
// this.sort = ResultSort.valueOf((String) args.get("sort"));
427427
// }`);
428428
// });

0 commit comments

Comments
 (0)