Skip to content

Commit 8bd985c

Browse files
committed
#804 Java generated code does not implement discriminator mappings correctly
1 parent a0b1a60 commit 8bd985c

File tree

4 files changed

+52
-24
lines changed

4 files changed

+52
-24
lines changed
Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,14 @@
11
{{#jackson}}
2-
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "{{discriminator.propertyName}}", visible = true )
3-
@JsonSubTypes({
4-
{{#children}}
5-
@JsonSubTypes.Type(value = {{classname}}.class, name = "{{^vendorExtensions.x-discriminator-value}}{{name}}{{/vendorExtensions.x-discriminator-value}}{{#vendorExtensions.x-discriminator-value}}{{{vendorExtensions.x-discriminator-value}}}{{/vendorExtensions.x-discriminator-value}}"),
6-
{{/children}}
7-
}){{/jackson}}
2+
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "{{discriminator.propertyName}}", visible = true )
3+
@JsonSubTypes({
4+
{{#if discriminator.mapping}}
5+
{{#each discriminator.mapping}}
6+
@JsonSubTypes.Type(value = {{this}}.class, name = "{{@key}}"),
7+
{{/each}}
8+
{{else}}
9+
{{#children}}
10+
@JsonSubTypes.Type(value = {{classname}}.class, name = "{{name}}"),
11+
{{/children}}
12+
{{/if}}
13+
})
14+
{{/jackson}}
Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,14 @@
11
{{#jackson}}
2-
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "{{discriminator.propertyName}}", visible = true )
3-
@JsonSubTypes({
4-
{{#children}}
5-
@JsonSubTypes.Type(value = {{classname}}.class, name = "{{^vendorExtensions.x-discriminator-value}}{{name}}{{/vendorExtensions.x-discriminator-value}}{{#vendorExtensions.x-discriminator-value}}{{{vendorExtensions.x-discriminator-value}}}{{/vendorExtensions.x-discriminator-value}}"),
6-
{{/children}}
7-
}){{/jackson}}
2+
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "{{discriminator.propertyName}}", visible = true )
3+
@JsonSubTypes({
4+
{{#if discriminator.mapping}}
5+
{{#each discriminator.mapping}}
6+
@JsonSubTypes.Type(value = {{this}}.class, name = "{{@key}}"),
7+
{{/each}}
8+
{{else}}
9+
{{#children}}
10+
@JsonSubTypes.Type(value = {{classname}}.class, name = "{{name}}"),
11+
{{/children}}
12+
{{/if}}
13+
})
14+
{{/jackson}}
Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,14 @@
11
{{#jackson}}
2-
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "{{discriminator.propertyName}}", visible = true )
3-
@JsonSubTypes({
4-
{{#children}}
5-
@JsonSubTypes.Type(value = {{classname}}.class, name = "{{^vendorExtensions.x-discriminator-value}}{{name}}{{/vendorExtensions.x-discriminator-value}}{{#vendorExtensions.x-discriminator-value}}{{{vendorExtensions.x-discriminator-value}}}{{/vendorExtensions.x-discriminator-value}}"),
6-
{{/children}}
7-
}){{/jackson}}
2+
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "{{discriminator.propertyName}}", visible = true )
3+
@JsonSubTypes({
4+
{{#if discriminator.mapping}}
5+
{{#each discriminator.mapping}}
6+
@JsonSubTypes.Type(value = {{this}}.class, name = "{{@key}}"),
7+
{{/each}}
8+
{{else}}
9+
{{#children}}
10+
@JsonSubTypes.Type(value = {{classname}}.class, name = "{{name}}"),
11+
{{/children}}
12+
{{/if}}
13+
})
14+
{{/jackson}}
Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,14 @@
11
{{#jackson}}
2-
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "{{discriminator.propertyName}}", visible = true )
3-
@JsonSubTypes({
4-
{{#children}}
5-
@JsonSubTypes.Type(value = {{classname}}.class, name = "{{^vendorExtensions.x-discriminator-value}}{{name}}{{/vendorExtensions.x-discriminator-value}}{{#vendorExtensions.x-discriminator-value}}{{{vendorExtensions.x-discriminator-value}}}{{/vendorExtensions.x-discriminator-value}}"),
6-
{{/children}}
7-
}){{/jackson}}
2+
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "{{discriminator.propertyName}}", visible = true )
3+
@JsonSubTypes({
4+
{{#if discriminator.mapping}}
5+
{{#each discriminator.mapping}}
6+
@JsonSubTypes.Type(value = {{this}}.class, name = "{{@key}}"),
7+
{{/each}}
8+
{{else}}
9+
{{#children}}
10+
@JsonSubTypes.Type(value = {{classname}}.class, name = "{{name}}"),
11+
{{/children}}
12+
{{/if}}
13+
})
14+
{{/jackson}}

0 commit comments

Comments
 (0)