From 28fcf48f42027af7eccf9938e3ffa8de6a2cf7a7 Mon Sep 17 00:00:00 2001 From: "akihito.nakano" Date: Sun, 1 Apr 2018 19:38:19 +0900 Subject: [PATCH] Add a method returns discriminator name refs https://github.com/wing328/openapi-generator/pull/9#issuecomment-377776109 --- .../main/java/org/openapitools/codegen/CodegenModel.java | 6 +++++- .../src/main/resources/php/model_generic.mustache | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenModel.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenModel.java index 2fd190b5e0e..56993a8fc5a 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenModel.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenModel.java @@ -331,7 +331,11 @@ public class CodegenModel { this.unescapedDescription = unescapedDescription; } - public String getDiscriminator() { + public Discriminator getDiscriminator() { + return discriminator; + } + + public String getDiscriminatorName() { return discriminator == null ? null : discriminator.getPropertyName(); } diff --git a/modules/openapi-generator/src/main/resources/php/model_generic.mustache b/modules/openapi-generator/src/main/resources/php/model_generic.mustache index c9300084b0f..375a216b409 100644 --- a/modules/openapi-generator/src/main/resources/php/model_generic.mustache +++ b/modules/openapi-generator/src/main/resources/php/model_generic.mustache @@ -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}} }