Merge pull request #9 from ackintosh/fix-discriminator

Fix broken discriminator
This commit is contained in:
William Cheng 2018-04-01 19:09:54 +08:00 committed by GitHub
commit 2fb9ce43b5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 8 additions and 4 deletions

View File

@ -335,6 +335,10 @@ public class CodegenModel {
return discriminator;
}
public String getDiscriminatorName() {
return discriminator == null ? null : discriminator.getPropertyName();
}
public void setDiscriminator(Discriminator discriminator) {
this.discriminator = discriminator;
}

View File

@ -1,6 +1,6 @@
class {{classname}} {{#parentSchema}}extends {{{parent}}} {{/parentSchema}}{{^parentSchema}}implements ModelInterface, ArrayAccess{{/parentSchema}}
{
const DISCRIMINATOR = {{#discriminator}}'{{discriminator}}'{{/discriminator}}{{^discriminator}}null{{/discriminator}};
const DISCRIMINATOR = {{#discriminator}}'{{discriminatorName}}'{{/discriminator}}{{^discriminator}}null{{/discriminator}};
/**
* The original name of the model.
@ -166,7 +166,7 @@ class {{classname}} {{#parentSchema}}extends {{{parent}}} {{/parentSchema}}{{^pa
{{#discriminator}}
// Initialize discriminator property with the model name.
$discriminator = array_search('{{discriminator}}', self::$attributeMap);
$discriminator = array_search('{{discriminatorName}}', self::$attributeMap);
$this->container[$discriminator] = static::$swaggerModelName;
{{/discriminator}}
}

View File

@ -42,7 +42,7 @@ use \Swagger\Client\ObjectSerializer;
*/
class Animal implements ModelInterface, ArrayAccess
{
const DISCRIMINATOR = 'Discriminator{propertyName='className', mapping=null}';
const DISCRIMINATOR = 'className';
/**
* The original name of the model.
@ -186,7 +186,7 @@ class Animal implements ModelInterface, ArrayAccess
$this->container['color'] = isset($data['color']) ? $data['color'] : 'red';
// Initialize discriminator property with the model name.
$discriminator = array_search('Discriminator{propertyName='className', mapping=null}', self::$attributeMap);
$discriminator = array_search('className', self::$attributeMap);
$this->container[$discriminator] = static::$swaggerModelName;
}