Skip to content

Commit c67ffd5

Browse files
authored
Merge pull request #9207 from flamangoes/flamangoes
[JAVA] Generate and use variable name for setting discriminator and fix #9205
2 parents 495d201 + 07c94ac commit c67ffd5

File tree

3 files changed

+9
-4
lines changed

3 files changed

+9
-4
lines changed

modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenModel.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public class CodegenModel {
2121
public String name, classname, title, description, classVarName, modelJson, dataType, xmlPrefix, xmlNamespace, xmlName;
2222
public String classFilename; // store the class file name, mainly used for import
2323
public String unescapedDescription;
24-
public String discriminator;
24+
public String discriminator, discriminatorClassVarName;
2525
public String defaultValue;
2626
public String arrayModelType;
2727
public boolean isAlias; // Is this effectively an alias of another simple type

modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1334,7 +1334,9 @@ public CodegenModel fromModel(String name, Model model, Map<String, Model> allDe
13341334
if (model instanceof ModelImpl) {
13351335
ModelImpl modelImpl = (ModelImpl) model;
13361336
m.discriminator = modelImpl.getDiscriminator();
1337-
1337+
if (m.discriminator != null) {
1338+
m.discriminatorClassVarName = toParamName(m.discriminator);
1339+
}
13381340
if (modelImpl.getXml() != null) {
13391341
m.xmlPrefix = modelImpl.getXml().getPrefix();
13401342
m.xmlNamespace = modelImpl.getXml().getNamespace();
@@ -1366,6 +1368,9 @@ public CodegenModel fromModel(String name, Model model, Map<String, Model> allDe
13661368
ModelImpl modelImpl = (ModelImpl) innerModel;
13671369
if (m.discriminator == null) {
13681370
m.discriminator = modelImpl.getDiscriminator();
1371+
if (m.discriminator != null) {
1372+
m.discriminatorClassVarName = toParamName(m.discriminator);
1373+
}
13691374
}
13701375
if (modelImpl.getXml() != null) {
13711376
m.xmlPrefix = modelImpl.getXml().getPrefix();

modules/swagger-codegen/src/main/resources/Java/pojo.mustache

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ public class {{classname}} {{#parent}}extends {{{parent}}} {{/parent}}{{#parcela
7474
{{/parent}}
7575
{{#gson}}
7676
{{#discriminator}}
77-
this.{{discriminator}} = this.getClass().getSimpleName();
77+
this.{{discriminatorClassVarName}} = this.getClass().getSimpleName();
7878
{{/discriminator}}
7979
{{/gson}}
8080
}
@@ -83,7 +83,7 @@ public class {{classname}} {{#parent}}extends {{{parent}}} {{/parent}}{{#parcela
8383
{{#gson}}
8484
{{#discriminator}}
8585
public {{classname}}() {
86-
this.{{discriminator}} = this.getClass().getSimpleName();
86+
this.{{discriminatorClassVarName}} = this.getClass().getSimpleName();
8787
}
8888
{{/discriminator}}
8989
{{/gson}}

0 commit comments

Comments
 (0)