forked from loafle/openapi-generator-original
update discriminator to discriminatorName (#142)
This commit is contained in:
parent
74075c087e
commit
6e2ca294b5
@ -71,7 +71,7 @@ public class JSON {
|
|||||||
classByDiscriminatorValue.put("{{classname}}".toUpperCase(), {{classname}}.class);
|
classByDiscriminatorValue.put("{{classname}}".toUpperCase(), {{classname}}.class);
|
||||||
return getClassByDiscriminator(
|
return getClassByDiscriminator(
|
||||||
classByDiscriminatorValue,
|
classByDiscriminatorValue,
|
||||||
getDiscriminatorValue(readElement, "{{discriminator}}"));
|
getDiscriminatorValue(readElement, "{{{discriminatorName}}}"));
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
{{/parent}}
|
{{/parent}}
|
||||||
|
@ -68,7 +68,7 @@ public class JSON {
|
|||||||
classByDiscriminatorValue.put("{{classname}}".toUpperCase(), {{classname}}.class);
|
classByDiscriminatorValue.put("{{classname}}".toUpperCase(), {{classname}}.class);
|
||||||
return getClassByDiscriminator(
|
return getClassByDiscriminator(
|
||||||
classByDiscriminatorValue,
|
classByDiscriminatorValue,
|
||||||
getDiscriminatorValue(readElement, "{{discriminator}}"));
|
getDiscriminatorValue(readElement, "{{{discriminatorName}}}"));
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
{{/parent}}
|
{{/parent}}
|
||||||
|
@ -74,7 +74,7 @@ public class {{classname}} {{#parent}}extends {{{parent}}} {{/parent}}{{#parcela
|
|||||||
{{/parent}}
|
{{/parent}}
|
||||||
{{#gson}}
|
{{#gson}}
|
||||||
{{#discriminator}}
|
{{#discriminator}}
|
||||||
this.{{discriminator}} = this.getClass().getSimpleName();
|
this.{{{discriminatorName}}} = this.getClass().getSimpleName();
|
||||||
{{/discriminator}}
|
{{/discriminator}}
|
||||||
{{/gson}}
|
{{/gson}}
|
||||||
}
|
}
|
||||||
@ -83,7 +83,7 @@ public class {{classname}} {{#parent}}extends {{{parent}}} {{/parent}}{{#parcela
|
|||||||
{{#gson}}
|
{{#gson}}
|
||||||
{{#discriminator}}
|
{{#discriminator}}
|
||||||
public {{classname}}() {
|
public {{classname}}() {
|
||||||
this.{{discriminator}} = this.getClass().getSimpleName();
|
this.{{{discriminatorName}}} = this.getClass().getSimpleName();
|
||||||
}
|
}
|
||||||
{{/discriminator}}
|
{{/discriminator}}
|
||||||
{{/gson}}
|
{{/gson}}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{{#jackson}}
|
{{#jackson}}
|
||||||
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "{{discriminator}}", visible = true )
|
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "{{{discriminatorName}}}", visible = true )
|
||||||
@JsonSubTypes({
|
@JsonSubTypes({
|
||||||
{{#children}}
|
{{#children}}
|
||||||
@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}}"),
|
@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}}"),
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{{#jackson}}
|
{{#jackson}}
|
||||||
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "{{discriminator}}", visible = true )
|
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "{{{discriminatorName}}}", visible = true )
|
||||||
@JsonSubTypes({
|
@JsonSubTypes({
|
||||||
{{#children}}
|
{{#children}}
|
||||||
@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}}"),
|
@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}}"),
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{{#jackson}}
|
{{#jackson}}
|
||||||
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "{{discriminator}}", visible = true )
|
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "{{{discriminatorName}}}", visible = true )
|
||||||
@JsonSubTypes({
|
@JsonSubTypes({
|
||||||
{{#children}}
|
{{#children}}
|
||||||
@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}}"),
|
@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}}"),
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{{#jackson}}
|
{{#jackson}}
|
||||||
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "{{discriminator}}", visible = true )
|
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "{{{discriminatorName}}}", visible = true )
|
||||||
@JsonSubTypes({
|
@JsonSubTypes({
|
||||||
{{#children}}
|
{{#children}}
|
||||||
@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}}"),
|
@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}}"),
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{{#jackson}}
|
{{#jackson}}
|
||||||
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "{{discriminator}}", visible = true )
|
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "{{{discriminatorName}}}", visible = true )
|
||||||
@JsonSubTypes({
|
@JsonSubTypes({
|
||||||
{{#children}}
|
{{#children}}
|
||||||
@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}}"),
|
@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}}"),
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
[DataContract]
|
[DataContract]
|
||||||
{{#discriminator}}
|
{{#discriminator}}
|
||||||
[JsonConverter(typeof(JsonSubtypes), "{{discriminator}}")]{{#children}}
|
[JsonConverter(typeof(JsonSubtypes), "{{{discriminatorName}}}")]{{#children}}
|
||||||
[JsonSubtypes.KnownSubType(typeof({{classname}}), "{{^vendorExtensions.x-discriminator-value}}{{name}}{{/vendorExtensions.x-discriminator-value}}{{#vendorExtensions.x-discriminator-value}}{{{vendorExtensions.x-discriminator-value}}}{{/vendorExtensions.x-discriminator-value}}")]{{/children}}
|
[JsonSubtypes.KnownSubType(typeof({{classname}}), "{{^vendorExtensions.x-discriminator-value}}{{name}}{{/vendorExtensions.x-discriminator-value}}{{#vendorExtensions.x-discriminator-value}}{{{vendorExtensions.x-discriminator-value}}}{{/vendorExtensions.x-discriminator-value}}")]{{/children}}
|
||||||
{{/discriminator}}
|
{{/discriminator}}
|
||||||
{{#generatePropertyChanged}}
|
{{#generatePropertyChanged}}
|
||||||
|
@ -6,13 +6,13 @@ type {{classname}}
|
|||||||
|
|
||||||
{{classVarName}}Decoder : Decoder {{classname}}
|
{{classVarName}}Decoder : Decoder {{classname}}
|
||||||
{{classVarName}}Decoder =
|
{{classVarName}}Decoder =
|
||||||
Decode.field "{{discriminator}}" Decode.string
|
Decode.field "{{{discriminatorName}}}" Decode.string
|
||||||
|> Decode.andThen {{classVarName}}TypeDecoder
|
|> Decode.andThen {{classVarName}}TypeDecoder
|
||||||
|
|
||||||
|
|
||||||
{{classVarName}}TypeDecoder : String -> Decoder {{classname}}
|
{{classVarName}}TypeDecoder : String -> Decoder {{classname}}
|
||||||
{{classVarName}}TypeDecoder {{discriminator}} =
|
{{classVarName}}TypeDecoder {{{discriminatorName}}} =
|
||||||
case {{discriminator}} of
|
case {{{discriminatorName}}} of
|
||||||
{{#children}}
|
{{#children}}
|
||||||
"{{vendorExtensions.x-discriminator-value}}" ->
|
"{{vendorExtensions.x-discriminator-value}}" ->
|
||||||
Decode.map {{classname}}Type {{classVarName}}Decoder
|
Decode.map {{classname}}Type {{classVarName}}Decoder
|
||||||
@ -20,8 +20,8 @@ type {{classname}}
|
|||||||
{{/children}}
|
{{/children}}
|
||||||
_ ->
|
_ ->
|
||||||
Decode.fail <|
|
Decode.fail <|
|
||||||
"Trying to decode {{classname}}, but {{discriminator}} "
|
"Trying to decode {{classname}}, but {{{discriminatorName}}} "
|
||||||
++ toString {{discriminator}} ++ " is not supported."
|
++ toString {{{discriminatorName}}} ++ " is not supported."
|
||||||
|
|
||||||
|
|
||||||
{{classVarName}}Encoder : {{classname}} -> Encode.Value
|
{{classVarName}}Encoder : {{classname}} -> Encode.Value
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{{#jackson}}
|
{{#jackson}}
|
||||||
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "{{discriminator}}", visible = true )
|
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "{{{discriminatorName}}}", visible = true )
|
||||||
@JsonSubTypes({
|
@JsonSubTypes({
|
||||||
{{#children}}
|
{{#children}}
|
||||||
@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}}"),
|
@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}}"),
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
* Maps "discriminator" value to the sub-class name, so that inheritance is supported.
|
* Maps "discriminator" value to the sub-class name, so that inheritance is supported.
|
||||||
*/
|
*/
|
||||||
- (id)initWithDictionary:(NSDictionary *)dict error:(NSError *__autoreleasing *)err {
|
- (id)initWithDictionary:(NSDictionary *)dict error:(NSError *__autoreleasing *)err {
|
||||||
NSString * discriminatedClassName = [dict valueForKey:@"{{discriminator}}"];
|
NSString * discriminatedClassName = [dict valueForKey:@"{{{discriminatorName}}}"];
|
||||||
if(discriminatedClassName == nil ){
|
if(discriminatedClassName == nil ){
|
||||||
return [super initWithDictionary:dict error:err];
|
return [super initWithDictionary:dict error:err];
|
||||||
}
|
}
|
||||||
|
@ -60,7 +60,7 @@ class {{classname}}(object):
|
|||||||
{{/-first}}
|
{{/-first}}
|
||||||
self._{{name}} = None
|
self._{{name}} = None
|
||||||
{{/vars}}
|
{{/vars}}
|
||||||
self.discriminator = {{#discriminator}}'{{discriminator}}'{{/discriminator}}{{^discriminator}}None{{/discriminator}}
|
self.discriminator = {{#discriminator}}'{{{discriminatorName}}}'{{/discriminator}}{{^discriminator}}None{{/discriminator}}
|
||||||
{{#vars}}{{#-first}}
|
{{#vars}}{{#-first}}
|
||||||
{{/-first}}
|
{{/-first}}
|
||||||
{{#required}}
|
{{#required}}
|
||||||
|
@ -328,7 +328,7 @@ class Decoders {
|
|||||||
if let sourceDictionary = source as? [AnyHashable: Any] {
|
if let sourceDictionary = source as? [AnyHashable: Any] {
|
||||||
{{#discriminator}}
|
{{#discriminator}}
|
||||||
// Check discriminator to support inheritance
|
// Check discriminator to support inheritance
|
||||||
if let discriminator = sourceDictionary["{{discriminator}}"] as? String, instance == nil && discriminator != "{{classname}}"{
|
if let discriminator = sourceDictionary["{{{discriminatorName}}}"] as? String, instance == nil && discriminator != "{{classname}}"{
|
||||||
return Decoders.decode(clazz: {{classname}}.self, discriminator: discriminator, source: source)
|
return Decoders.decode(clazz: {{classname}}.self, discriminator: discriminator, source: source)
|
||||||
}
|
}
|
||||||
{{/discriminator}}
|
{{/discriminator}}
|
||||||
|
@ -145,7 +145,7 @@ export class {{classname}} {{#parent}}extends {{{parent}}} {{/parent}}{
|
|||||||
{{/vars}}
|
{{/vars}}
|
||||||
|
|
||||||
{{#discriminator}}
|
{{#discriminator}}
|
||||||
static discriminator = {{discriminator}};
|
static discriminator = {{{discriminatorName}}};
|
||||||
{{/discriminator}}
|
{{/discriminator}}
|
||||||
{{^discriminator}}
|
{{^discriminator}}
|
||||||
static discriminator = undefined;
|
static discriminator = undefined;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user