forked from loafle/openapi-generator-original
		
	[java] Enum in array of array (#66)
This commit is contained in:
		
							parent
							
								
									a1ff502411
								
							
						
					
					
						commit
						82ee8656fd
					
				@ -19,8 +19,8 @@ package org.openapitools.codegen;
 | 
			
		||||
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
import java.util.HashMap;
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
 | 
			
		||||
public class CodegenParameter {
 | 
			
		||||
    public boolean isFormParam, isQueryParam, isPathParam, isHeaderParam,
 | 
			
		||||
@ -38,6 +38,7 @@ public class CodegenParameter {
 | 
			
		||||
    public List<String> _enum;
 | 
			
		||||
    public Map<String, Object> allowableValues;
 | 
			
		||||
    public CodegenProperty items;
 | 
			
		||||
    public CodegenProperty mostInnerItems;
 | 
			
		||||
    public Map<String, Object> vendorExtensions = new HashMap<String, Object>();
 | 
			
		||||
    public boolean hasValidation;
 | 
			
		||||
 | 
			
		||||
@ -142,6 +143,9 @@ public class CodegenParameter {
 | 
			
		||||
        if (this.items != null) {
 | 
			
		||||
            output.items = this.items;
 | 
			
		||||
        }
 | 
			
		||||
        if (this.mostInnerItems != null) {
 | 
			
		||||
            output.mostInnerItems = this.mostInnerItems;
 | 
			
		||||
        }
 | 
			
		||||
        if(this.vendorExtensions != null){
 | 
			
		||||
            output.vendorExtensions = new HashMap<String, Object>(this.vendorExtensions);
 | 
			
		||||
        }
 | 
			
		||||
@ -259,6 +263,8 @@ public class CodegenParameter {
 | 
			
		||||
            return false;
 | 
			
		||||
        if (items != null ? !items.equals(that.items) : that.items != null)
 | 
			
		||||
            return false;
 | 
			
		||||
        if (mostInnerItems != null ? !mostInnerItems.equals(that.mostInnerItems) : that.mostInnerItems != null)
 | 
			
		||||
            return false;
 | 
			
		||||
        if (vendorExtensions != null ? !vendorExtensions.equals(that.vendorExtensions) : that.vendorExtensions != null)
 | 
			
		||||
            return false;
 | 
			
		||||
        if (hasValidation != that.hasValidation)
 | 
			
		||||
@ -335,6 +341,7 @@ public class CodegenParameter {
 | 
			
		||||
        result = 31 * result + (_enum != null ? _enum.hashCode() : 0);
 | 
			
		||||
        result = 31 * result + (allowableValues != null ? allowableValues.hashCode() : 0);
 | 
			
		||||
        result = 31 * result + (items != null ? items.hashCode() : 0);
 | 
			
		||||
        result = 31 * result + (mostInnerItems != null ? mostInnerItems.hashCode() : 0);
 | 
			
		||||
        result = 31 * result + (vendorExtensions != null ? vendorExtensions.hashCode() : 0);
 | 
			
		||||
        result = 31 * result + (hasValidation ? 13:31);
 | 
			
		||||
        result = 31 * result + (required ? 13:31);
 | 
			
		||||
@ -399,6 +406,7 @@ public class CodegenParameter {
 | 
			
		||||
                ", _enum=" + _enum +
 | 
			
		||||
                ", allowableValues=" + allowableValues +
 | 
			
		||||
                ", items=" + items +
 | 
			
		||||
                ", mostInnerItems=" + mostInnerItems +
 | 
			
		||||
                ", vendorExtensions=" + vendorExtensions +
 | 
			
		||||
                ", hasValidation=" + hasValidation +
 | 
			
		||||
                ", required=" + required +
 | 
			
		||||
 | 
			
		||||
@ -63,6 +63,7 @@ public class CodegenProperty implements Cloneable {
 | 
			
		||||
    public List<String> _enum;
 | 
			
		||||
    public Map<String, Object> allowableValues;
 | 
			
		||||
    public CodegenProperty items;
 | 
			
		||||
    public CodegenProperty mostInnerItems;
 | 
			
		||||
    public Map<String, Object> vendorExtensions = new HashMap<String, Object>();
 | 
			
		||||
    public boolean hasValidation; // true if pattern, maximum, etc are set (only used in the mustache template)
 | 
			
		||||
    public boolean isInherited;
 | 
			
		||||
@ -436,6 +437,7 @@ public class CodegenProperty implements Cloneable {
 | 
			
		||||
        result = prime * result + ((isPrimitiveType  ? 13:31));
 | 
			
		||||
        result = prime * result + ((isReadOnly  ? 13:31));
 | 
			
		||||
        result = prime * result + ((items == null) ? 0 : items.hashCode());
 | 
			
		||||
        result = prime * result + ((mostInnerItems == null) ? 0 : mostInnerItems.hashCode());
 | 
			
		||||
        result = prime * result + ((jsonSchema == null) ? 0 : jsonSchema.hashCode());
 | 
			
		||||
        result = prime * result + ((max == null) ? 0 : max.hashCode());
 | 
			
		||||
        result = prime * result + ((maxLength == null) ? 0 : maxLength.hashCode());
 | 
			
		||||
@ -700,6 +702,9 @@ public class CodegenProperty implements Cloneable {
 | 
			
		||||
            if (this.items != null) {
 | 
			
		||||
                cp.items = this.items;
 | 
			
		||||
            }
 | 
			
		||||
            if (this.mostInnerItems != null) {
 | 
			
		||||
                cp.mostInnerItems = this.mostInnerItems;
 | 
			
		||||
            }
 | 
			
		||||
            if(this.vendorExtensions != null){
 | 
			
		||||
                cp.vendorExtensions = new HashMap<String, Object>(this.vendorExtensions);
 | 
			
		||||
            }
 | 
			
		||||
@ -766,6 +771,7 @@ public class CodegenProperty implements Cloneable {
 | 
			
		||||
                ", _enum=" + _enum +
 | 
			
		||||
                ", allowableValues=" + allowableValues +
 | 
			
		||||
                ", items=" + items +
 | 
			
		||||
                ", mostInnerItems=" + mostInnerItems +
 | 
			
		||||
                ", vendorExtensions=" + vendorExtensions +
 | 
			
		||||
                ", hasValidation=" + hasValidation +
 | 
			
		||||
                ", isInherited=" + isInherited +
 | 
			
		||||
 | 
			
		||||
@ -1899,6 +1899,7 @@ public class DefaultCodegen implements CodegenConfig {
 | 
			
		||||
            property.isPrimitiveType = true;
 | 
			
		||||
        }
 | 
			
		||||
        property.items = innerProperty;
 | 
			
		||||
        property.mostInnerItems = getMostInnerItems(innerProperty);
 | 
			
		||||
        // inner item is Enum
 | 
			
		||||
        if (isPropertyInnerMostEnum(property)) {
 | 
			
		||||
            // isEnum is set to true when the type is an enum
 | 
			
		||||
@ -1930,6 +1931,7 @@ public class DefaultCodegen implements CodegenConfig {
 | 
			
		||||
            property.isPrimitiveType = true;
 | 
			
		||||
        }
 | 
			
		||||
        property.items = innerProperty;
 | 
			
		||||
        property.mostInnerItems = getMostInnerItems(innerProperty);
 | 
			
		||||
        property.dataFormat = innerProperty.dataFormat;
 | 
			
		||||
        // inner item is Enum
 | 
			
		||||
        if (isPropertyInnerMostEnum(property)) {
 | 
			
		||||
@ -1952,21 +1954,22 @@ public class DefaultCodegen implements CodegenConfig {
 | 
			
		||||
     * @return True if the inner most type is enum
 | 
			
		||||
     */
 | 
			
		||||
    protected Boolean isPropertyInnerMostEnum(CodegenProperty property) {
 | 
			
		||||
        CodegenProperty currentProperty = property;
 | 
			
		||||
        while (currentProperty != null && (Boolean.TRUE.equals(currentProperty.isMapContainer)
 | 
			
		||||
                || Boolean.TRUE.equals(currentProperty.isListContainer))) {
 | 
			
		||||
            currentProperty = currentProperty.items;
 | 
			
		||||
        }
 | 
			
		||||
        CodegenProperty currentProperty = getMostInnerItems(property);
 | 
			
		||||
 | 
			
		||||
        return currentProperty == null ? false : currentProperty.isEnum;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    protected Map<String, Object> getInnerEnumAllowableValues(CodegenProperty property) {
 | 
			
		||||
    protected CodegenProperty getMostInnerItems(CodegenProperty property) {
 | 
			
		||||
        CodegenProperty currentProperty = property;
 | 
			
		||||
        while (currentProperty != null && (Boolean.TRUE.equals(currentProperty.isMapContainer)
 | 
			
		||||
                || Boolean.TRUE.equals(currentProperty.isListContainer))) {
 | 
			
		||||
            currentProperty = currentProperty.items;
 | 
			
		||||
        }
 | 
			
		||||
        return currentProperty;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    protected Map<String, Object> getInnerEnumAllowableValues(CodegenProperty property) {
 | 
			
		||||
        CodegenProperty currentProperty = getMostInnerItems(property);
 | 
			
		||||
 | 
			
		||||
        return currentProperty == null ? new HashMap<String, Object>() : currentProperty.allowableValues;
 | 
			
		||||
    }
 | 
			
		||||
@ -2530,6 +2533,7 @@ public class DefaultCodegen implements CodegenConfig {
 | 
			
		||||
                collectionFormat = StringUtils.isEmpty(collectionFormat) ? "csv" : collectionFormat;
 | 
			
		||||
                CodegenProperty codegenProperty = fromProperty("inner", inner);
 | 
			
		||||
                codegenParameter.items = codegenProperty;
 | 
			
		||||
                codegenParameter.mostInnerItems = codegenProperty.mostInnerItems;
 | 
			
		||||
                codegenParameter.baseType = codegenProperty.dataType;
 | 
			
		||||
                codegenParameter.isContainer = true;
 | 
			
		||||
                codegenParameter.isListContainer = true;
 | 
			
		||||
@ -2544,6 +2548,7 @@ public class DefaultCodegen implements CodegenConfig {
 | 
			
		||||
            } else if (ModelUtils.isMapSchema(parameterSchema)) { // for map parameter
 | 
			
		||||
                CodegenProperty codegenProperty = fromProperty("inner", (Schema) parameterSchema.getAdditionalProperties());
 | 
			
		||||
                codegenParameter.items = codegenProperty;
 | 
			
		||||
                codegenParameter.mostInnerItems = codegenProperty.mostInnerItems;
 | 
			
		||||
                codegenParameter.baseType = codegenProperty.dataType;
 | 
			
		||||
                codegenParameter.isContainer = true;
 | 
			
		||||
                codegenParameter.isMapContainer = true;
 | 
			
		||||
@ -2598,6 +2603,7 @@ public class DefaultCodegen implements CodegenConfig {
 | 
			
		||||
                codegenParameter.datatypeWithEnum = codegenProperty.datatypeWithEnum;
 | 
			
		||||
                codegenParameter.enumName = codegenProperty.enumName;
 | 
			
		||||
                codegenParameter.items = codegenProperty.items;
 | 
			
		||||
                codegenParameter.mostInnerItems = codegenProperty.mostInnerItems;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            codegenParameter.collectionFormat = collectionFormat;
 | 
			
		||||
@ -4084,6 +4090,7 @@ public class DefaultCodegen implements CodegenConfig {
 | 
			
		||||
                    codegenParameter = fromFormProperty(entry.getKey(), inner, imports);
 | 
			
		||||
                    CodegenProperty codegenProperty = fromProperty("inner", inner);
 | 
			
		||||
                    codegenParameter.items = codegenProperty;
 | 
			
		||||
                    codegenParameter.mostInnerItems = codegenProperty.mostInnerItems;
 | 
			
		||||
                    codegenParameter.baseType = codegenProperty.dataType;
 | 
			
		||||
                    codegenParameter.isPrimitiveType = false;
 | 
			
		||||
                    codegenParameter.isContainer = true;
 | 
			
		||||
@ -4159,6 +4166,7 @@ public class DefaultCodegen implements CodegenConfig {
 | 
			
		||||
 | 
			
		||||
        if (codegenProperty.items != null && codegenProperty.items.isEnum) {
 | 
			
		||||
            codegenParameter.items = codegenProperty.items;
 | 
			
		||||
            codegenParameter.mostInnerItems = codegenProperty.mostInnerItems;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // import
 | 
			
		||||
@ -4238,6 +4246,7 @@ public class DefaultCodegen implements CodegenConfig {
 | 
			
		||||
            }
 | 
			
		||||
            codegenParameter.paramName = toParamName(codegenParameter.baseName);
 | 
			
		||||
            codegenParameter.items = codegenProperty.items;
 | 
			
		||||
            codegenParameter.mostInnerItems = codegenProperty.mostInnerItems;
 | 
			
		||||
            codegenParameter.dataType = getTypeDeclaration(schema);
 | 
			
		||||
            codegenParameter.baseType = getSchemaType(inner);
 | 
			
		||||
            codegenParameter.isContainer = Boolean.TRUE;
 | 
			
		||||
@ -4272,6 +4281,7 @@ public class DefaultCodegen implements CodegenConfig {
 | 
			
		||||
            }
 | 
			
		||||
            codegenParameter.paramName = toArrayModelParamName(codegenParameter.baseName);
 | 
			
		||||
            codegenParameter.items = codegenProperty.items;
 | 
			
		||||
            codegenParameter.mostInnerItems = codegenProperty.mostInnerItems;
 | 
			
		||||
            codegenParameter.dataType = getTypeDeclaration(arraySchema);
 | 
			
		||||
            codegenParameter.baseType = getSchemaType(arraySchema);
 | 
			
		||||
            codegenParameter.isContainer = Boolean.TRUE;
 | 
			
		||||
 | 
			
		||||
@ -13,14 +13,12 @@ public class {{classname}} {{#parent}}extends {{{parent}}} {{/parent}}{{#parcela
 | 
			
		||||
    {{^isContainer}}
 | 
			
		||||
{{>modelInnerEnum}}
 | 
			
		||||
    {{/isContainer}}
 | 
			
		||||
    {{/isEnum}}
 | 
			
		||||
    {{#items.isEnum}}
 | 
			
		||||
      {{#items}}
 | 
			
		||||
      {{^isContainer}}
 | 
			
		||||
    {{#isContainer}}
 | 
			
		||||
    {{#mostInnerItems}}
 | 
			
		||||
{{>modelInnerEnum}}
 | 
			
		||||
      {{/isContainer}}
 | 
			
		||||
      {{/items}}
 | 
			
		||||
    {{/items.isEnum}}
 | 
			
		||||
    {{/mostInnerItems}}
 | 
			
		||||
    {{/isContainer}}
 | 
			
		||||
    {{/isEnum}}
 | 
			
		||||
  {{#jackson}}
 | 
			
		||||
  @JsonProperty("{{baseName}}")
 | 
			
		||||
  {{#withXml}}
 | 
			
		||||
 | 
			
		||||
@ -6,14 +6,12 @@ public class {{classname}} {{#parent}}extends {{{parent}}}{{/parent}} {{#seriali
 | 
			
		||||
    {{^isContainer}}
 | 
			
		||||
{{>enumClass}}
 | 
			
		||||
    {{/isContainer}}
 | 
			
		||||
    {{/isEnum}}
 | 
			
		||||
    {{#items.isEnum}}
 | 
			
		||||
      {{#items}}
 | 
			
		||||
      {{^isContainer}}
 | 
			
		||||
    {{#isContainer}}
 | 
			
		||||
    {{#mostInnerItems}}
 | 
			
		||||
{{>enumClass}}
 | 
			
		||||
      {{/isContainer}}
 | 
			
		||||
      {{/items}}
 | 
			
		||||
    {{/items.isEnum}}
 | 
			
		||||
    {{/mostInnerItems}}
 | 
			
		||||
    {{/isContainer}}
 | 
			
		||||
    {{/isEnum}}
 | 
			
		||||
  {{#jackson}}
 | 
			
		||||
  @JsonProperty("{{baseName}}")
 | 
			
		||||
  {{/jackson}}
 | 
			
		||||
 | 
			
		||||
@ -6,11 +6,11 @@ import javax.xml.bind.annotation.*;
 | 
			
		||||
{{#description}}@ApiModel(description = "{{{description}}}"){{/description}}
 | 
			
		||||
 | 
			
		||||
public class {{classname}} {{#parent}}extends {{{parent}}}{{/parent}} {{#serializableModel}}implements Serializable{{/serializableModel}} {
 | 
			
		||||
  {{#vars}}{{#isEnum}}
 | 
			
		||||
  {{#vars}}{{#isEnum}}{{^isContainer}}
 | 
			
		||||
 | 
			
		||||
{{>enumClass}}{{/isEnum}}{{#items.isEnum}}{{#items}}
 | 
			
		||||
{{>enumClass}}{{/isContainer}}{{#isContainer}}{{#mostInnerItems}}
 | 
			
		||||
 | 
			
		||||
{{>enumClass}}{{/items}}{{/items.isEnum}}
 | 
			
		||||
{{>enumClass}}{{/mostInnerItems}}{{/isContainer}}{{/isEnum}}
 | 
			
		||||
{{#isContainer}}
 | 
			
		||||
  private {{{datatypeWithEnum}}} {{name}}{{#required}} = {{{defaultValue}}}{{/required}}{{^required}} = null{{/required}};
 | 
			
		||||
{{/isContainer}}
 | 
			
		||||
 | 
			
		||||
@ -24,10 +24,8 @@ import com.fasterxml.jackson.annotation.JsonProperty;
 | 
			
		||||
{{/description}}
 | 
			
		||||
public class {{classname}} {{#parent}}extends {{{parent}}}{{/parent}} {
 | 
			
		||||
  {{#vars}}{{#isEnum}}{{^isContainer}}
 | 
			
		||||
 | 
			
		||||
{{>enumClass}}{{/isContainer}}{{/isEnum}}{{#items.isEnum}}{{#items}}
 | 
			
		||||
 | 
			
		||||
{{^isContainer}}{{>enumClass}}{{/isContainer}}{{/items}}{{/items.isEnum}}
 | 
			
		||||
{{>enumClass}}{{/isContainer}}{{#isContainer}}{{#mostInnerItems}}
 | 
			
		||||
{{>enumClass}}{{/mostInnerItems}}{{/isContainer}}{{/isEnum}}
 | 
			
		||||
{{#withXml}}
 | 
			
		||||
  @XmlElement(name="{{baseName}}"{{#required}}, required = {{required}}{{/required}})
 | 
			
		||||
{{/withXml}}
 | 
			
		||||
 | 
			
		||||
@ -8,15 +8,13 @@ public class {{classname}} {{#parent}}extends {{{parent}}}{{/parent}} {{#seriali
 | 
			
		||||
    {{#isEnum}}
 | 
			
		||||
    {{^isContainer}}
 | 
			
		||||
{{>enumClass}}
 | 
			
		||||
    {{/isContainer}}
 | 
			
		||||
    {{#isContainer}}
 | 
			
		||||
    {{#mostInnerItems}}
 | 
			
		||||
{{>enumClass}} 
 | 
			
		||||
    {{/mostInnerItems}}
 | 
			
		||||
    {{/isContainer}}
 | 
			
		||||
    {{/isEnum}}
 | 
			
		||||
    {{#items.isEnum}}
 | 
			
		||||
      {{#items}}
 | 
			
		||||
      {{^isContainer}}
 | 
			
		||||
{{>enumClass}}
 | 
			
		||||
      {{/isContainer}}
 | 
			
		||||
      {{/items}}
 | 
			
		||||
    {{/items.isEnum}}
 | 
			
		||||
  {{#jackson}}
 | 
			
		||||
  @JsonProperty("{{baseName}}")
 | 
			
		||||
  {{/jackson}}
 | 
			
		||||
 | 
			
		||||
@ -6,11 +6,12 @@ public class {{classname}} {{#parent}}extends {{{parent}}}{{/parent}} {{#seriali
 | 
			
		||||
{{#serializableModel}}
 | 
			
		||||
  private static final long serialVersionUID = 1L;
 | 
			
		||||
{{/serializableModel}}
 | 
			
		||||
  {{#vars}}{{#isEnum}}
 | 
			
		||||
  {{#vars}}{{#isEnum}}{{^isContainer}}
 | 
			
		||||
 | 
			
		||||
{{>enumClass}}{{/isEnum}}{{#items.isEnum}}{{#items}}
 | 
			
		||||
{{>enumClass}}{{/isContainer}}{{#isContainer}}{{#mostInnerItems}}
 | 
			
		||||
 | 
			
		||||
{{>enumClass}}{{/mostInnerItems}}{{/isContainer}}{{/isEnum}}
 | 
			
		||||
 | 
			
		||||
{{>enumClass}}{{/items}}{{/items.isEnum}}
 | 
			
		||||
  private {{{datatypeWithEnum}}} {{name}} = {{{defaultValue}}};{{/vars}}
 | 
			
		||||
 | 
			
		||||
  {{#vars}}
 | 
			
		||||
 | 
			
		||||
@ -8,9 +8,9 @@ public class {{classname}} {{#parent}}extends {{{parent}}}{{/parent}} {{#seriali
 | 
			
		||||
{{/serializableModel}}
 | 
			
		||||
  {{#vars}}{{#isEnum}}{{^isContainer}}
 | 
			
		||||
 | 
			
		||||
{{>enumClass}}{{/isContainer}}{{/isEnum}}{{#items.isEnum}}{{#items}}
 | 
			
		||||
{{>enumClass}}{{/isContainer}}{{#isContainer}}{{#mostInnerItems}}
 | 
			
		||||
 | 
			
		||||
{{^isContainer}}{{>enumClass}}{{/isContainer}}{{/items}}{{/items.isEnum}}
 | 
			
		||||
{{>enumClass}}{{/mostInnerItems}}{{/isContainer}}{{/isEnum}}
 | 
			
		||||
  private {{{datatypeWithEnum}}} {{name}} = {{{defaultValue}}};{{/vars}}
 | 
			
		||||
 | 
			
		||||
  {{#vars}}
 | 
			
		||||
 | 
			
		||||
@ -6,9 +6,9 @@ import com.fasterxml.jackson.annotation.JsonProperty;
 | 
			
		||||
public class {{classname}} {{#parent}}extends {{{parent}}}{{/parent}} {{#serializableModel}}implements Serializable{{/serializableModel}} {
 | 
			
		||||
  {{#vars}}{{#isEnum}}{{^isContainer}}
 | 
			
		||||
 | 
			
		||||
{{>enumClass}}{{/isContainer}}{{/isEnum}}{{#items.isEnum}}{{#items}}
 | 
			
		||||
 | 
			
		||||
{{^isContainer}}{{>enumClass}}{{/isContainer}}{{/items}}{{/items.isEnum}}
 | 
			
		||||
{{>enumClass}}{{/isContainer}}{{#isContainer}}{{#mostInnerItems}}
 | 
			
		||||
 
 | 
			
		||||
{{>enumClass}}{{/mostInnerItems}}{{/isContainer}}{{/isEnum}}
 | 
			
		||||
  private {{#useBeanValidation}}@Valid{{/useBeanValidation}} {{{datatypeWithEnum}}} {{name}} = {{{defaultValue}}};{{/vars}}
 | 
			
		||||
 | 
			
		||||
  {{#vars}}
 | 
			
		||||
 | 
			
		||||
@ -12,15 +12,13 @@ public class {{classname}} {{#parent}}extends {{{parent}}}{{/parent}} {{#seriali
 | 
			
		||||
    {{#isEnum}}
 | 
			
		||||
    {{^isContainer}}
 | 
			
		||||
{{>enumClass}}
 | 
			
		||||
    {{/isContainer}}
 | 
			
		||||
    {{#isContainer}}
 | 
			
		||||
    {{#mostInnerItems}}
 | 
			
		||||
{{>enumClass}} 
 | 
			
		||||
    {{/mostInnerItems}}
 | 
			
		||||
    {{/isContainer}}
 | 
			
		||||
    {{/isEnum}}
 | 
			
		||||
    {{#items.isEnum}}
 | 
			
		||||
      {{#items}}
 | 
			
		||||
      {{^isContainer}}
 | 
			
		||||
{{>enumClass}}
 | 
			
		||||
      {{/isContainer}}
 | 
			
		||||
      {{/items}}
 | 
			
		||||
    {{/items.isEnum}}
 | 
			
		||||
  {{#jackson}}
 | 
			
		||||
  @JsonProperty("{{baseName}}")
 | 
			
		||||
  {{/jackson}}
 | 
			
		||||
 | 
			
		||||
@ -14,14 +14,12 @@ public class {{classname}} {{#parent}}extends {{{parent}}}{{/parent}} {{#seriali
 | 
			
		||||
    {{^isContainer}}
 | 
			
		||||
{{>enumClass}}
 | 
			
		||||
    {{/isContainer}}
 | 
			
		||||
    {{/isEnum}}
 | 
			
		||||
    {{#items.isEnum}}
 | 
			
		||||
      {{#items}}
 | 
			
		||||
      {{^isContainer}}
 | 
			
		||||
    {{#isContainer}}
 | 
			
		||||
    {{#mostInnerItems}} 
 | 
			
		||||
{{>enumClass}}
 | 
			
		||||
      {{/isContainer}}
 | 
			
		||||
      {{/items}}
 | 
			
		||||
    {{/items.isEnum}}
 | 
			
		||||
    {{/mostInnerItems}}
 | 
			
		||||
    {{/isContainer}}
 | 
			
		||||
    {{/isEnum}}
 | 
			
		||||
  {{#jackson}}
 | 
			
		||||
  @JsonProperty("{{baseName}}"){{#withXml}}
 | 
			
		||||
  @JacksonXmlProperty({{#isXmlAttribute}}isAttribute = true, {{/isXmlAttribute}}{{#xmlNamespace}}namespace="{{xmlNamespace}}", {{/xmlNamespace}}localName = "{{#xmlName}}{{xmlName}}{{/xmlName}}{{^xmlName}}{{baseName}}{{/xmlName}}"){{/withXml}}
 | 
			
		||||
 | 
			
		||||
@ -1,10 +1,10 @@
 | 
			
		||||
@JsonInclude(JsonInclude.Include.NON_NULL) 
 | 
			
		||||
public class {{classname}} {{#parent}}extends {{{parent}}}{{/parent}} {{#serializableModel}}implements Serializable{{/serializableModel}} {
 | 
			
		||||
  {{#vars}}{{#isEnum}}
 | 
			
		||||
  {{#vars}}{{#isEnum}}{{^isContainer}}
 | 
			
		||||
 | 
			
		||||
{{>enumClass}}{{/isEnum}}{{#items.isEnum}}{{#items}}
 | 
			
		||||
{{>enumClass}}{{/isContainer}}{{#isContainer}}{{#mostInnerItems}}
 | 
			
		||||
 | 
			
		||||
{{>enumClass}}{{/items}}{{/items.isEnum}}
 | 
			
		||||
{{>enumClass}}{{/mostInnerItems}}{{/isContainer}}{{/isEnum}}
 | 
			
		||||
  private {{{datatypeWithEnum}}} {{name}} = {{{defaultValue}}};{{/vars}}
 | 
			
		||||
 | 
			
		||||
  public {{classname}} () {
 | 
			
		||||
 | 
			
		||||
@ -9,14 +9,12 @@ public class {{classname}} {{#parent}}extends {{{parent}}}{{/parent}} {{#seriali
 | 
			
		||||
    {{^isContainer}}
 | 
			
		||||
{{>enumClass}}
 | 
			
		||||
    {{/isContainer}}
 | 
			
		||||
    {{#isContainer}}
 | 
			
		||||
      {{#mostInnerItems}}
 | 
			
		||||
{{>enumClass}} 
 | 
			
		||||
      {{/mostInnerItems}}
 | 
			
		||||
    {{/isContainer}}
 | 
			
		||||
    {{/isEnum}}
 | 
			
		||||
    {{#items.isEnum}}
 | 
			
		||||
      {{#items}}
 | 
			
		||||
      {{^isContainer}}
 | 
			
		||||
{{>enumClass}}
 | 
			
		||||
      {{/isContainer}}
 | 
			
		||||
      {{/items}}
 | 
			
		||||
    {{/items.isEnum}}
 | 
			
		||||
  {{#jackson}}
 | 
			
		||||
  @JsonProperty("{{baseName}}")
 | 
			
		||||
  {{/jackson}}
 | 
			
		||||
 | 
			
		||||
@ -6,15 +6,13 @@ public class {{classname}}{{#parent}} extends {{{parent}}}{{/parent}}{{#interfac
 | 
			
		||||
    {{#isEnum}}
 | 
			
		||||
    {{^isContainer}}
 | 
			
		||||
{{>modelInnerEnum}}
 | 
			
		||||
    {{/isContainer}}
 | 
			
		||||
    {{#isContainer}}
 | 
			
		||||
    {{#mostInnerItems}}
 | 
			
		||||
{{>modelInnerEnum}} 
 | 
			
		||||
    {{/mostInnerItems}}
 | 
			
		||||
    {{/isContainer}}
 | 
			
		||||
    {{/isEnum}}
 | 
			
		||||
    {{#items.isEnum}}
 | 
			
		||||
      {{#items}}
 | 
			
		||||
      {{^isContainer}}
 | 
			
		||||
{{>modelInnerEnum}}
 | 
			
		||||
      {{/isContainer}}
 | 
			
		||||
      {{/items}}
 | 
			
		||||
    {{/items.isEnum}}
 | 
			
		||||
    /**
 | 
			
		||||
    {{#description}}
 | 
			
		||||
     * {{{description}}}
 | 
			
		||||
 | 
			
		||||
@ -13,15 +13,13 @@ public class {{classname}} {{#parent}}extends {{{parent}}}{{/parent}} {{#seriali
 | 
			
		||||
    {{#isEnum}}
 | 
			
		||||
    {{^isContainer}}
 | 
			
		||||
{{>enumClass}}
 | 
			
		||||
    {{/isContainer}}
 | 
			
		||||
    {{#isContainer}}
 | 
			
		||||
    {{#mostInnerItems}}
 | 
			
		||||
{{>enumClass}} 
 | 
			
		||||
    {{/mostInnerItems}}
 | 
			
		||||
    {{/isContainer}}
 | 
			
		||||
    {{/isEnum}}
 | 
			
		||||
    {{#items.isEnum}}
 | 
			
		||||
      {{#items}}
 | 
			
		||||
      {{^isContainer}}
 | 
			
		||||
{{>enumClass}}
 | 
			
		||||
      {{/isContainer}}
 | 
			
		||||
      {{/items}}
 | 
			
		||||
    {{/items.isEnum}}
 | 
			
		||||
  {{#jackson}}
 | 
			
		||||
  @JsonProperty("{{baseName}}"){{#withXml}}
 | 
			
		||||
  @JacksonXmlProperty({{#isXmlAttribute}}isAttribute = true, {{/isXmlAttribute}}{{#xmlNamespace}}namespace="{{xmlNamespace}}", {{/xmlNamespace}}localName = "{{#xmlName}}{{xmlName}}{{/xmlName}}{{^xmlName}}{{baseName}}{{/xmlName}}"){{/withXml}}
 | 
			
		||||
 | 
			
		||||
@ -1,11 +1,11 @@
 | 
			
		||||
{{#description}}@ApiModel(description = "{{{description}}}"){{/description}}
 | 
			
		||||
{{>generatedAnnotation}}
 | 
			
		||||
public class {{classname}} {{#parent}}extends {{{parent}}}{{/parent}} {{#serializableModel}}implements Serializable{{/serializableModel}} {
 | 
			
		||||
  {{#vars}}{{#isEnum}}
 | 
			
		||||
  {{#vars}}{{#isEnum}}{{^isContainer}}
 | 
			
		||||
 | 
			
		||||
{{>enumClass}}{{/isEnum}}{{#items.isEnum}}{{#items}}
 | 
			
		||||
 | 
			
		||||
{{>enumClass}}{{/items}}{{/items.isEnum}}
 | 
			
		||||
{{>enumClass}}{{/isContainer}}{{#isContainer}}{{#mostInnerItems}}
 | 
			
		||||
 
 | 
			
		||||
{{>enumClass}}{{/mostInnerItems}}{{/isContainer}}{{/isEnum}}
 | 
			
		||||
  private {{{datatypeWithEnum}}} {{name}} = {{{defaultValue}}};{{/vars}}
 | 
			
		||||
 | 
			
		||||
  {{#vars}}
 | 
			
		||||
 | 
			
		||||
@ -75,12 +75,14 @@ public class JavaModelEnumTest {
 | 
			
		||||
        Assert.assertEquals(enumVar.baseType, "List");
 | 
			
		||||
        Assert.assertTrue(enumVar.isEnum);
 | 
			
		||||
 | 
			
		||||
        Assert.assertEquals(enumVar.items.baseName, "name");
 | 
			
		||||
        Assert.assertEquals(enumVar.items.dataType, "String");
 | 
			
		||||
        Assert.assertEquals(enumVar.items.datatypeWithEnum, "NameEnum");
 | 
			
		||||
        Assert.assertEquals(enumVar.items.name, "name");
 | 
			
		||||
        Assert.assertEquals(enumVar.items.defaultValue, "null");
 | 
			
		||||
        Assert.assertEquals(enumVar.items.baseType, "String");
 | 
			
		||||
        Assert.assertEquals(enumVar.mostInnerItems.baseName, "name");
 | 
			
		||||
        Assert.assertEquals(enumVar.mostInnerItems.dataType, "String");
 | 
			
		||||
        Assert.assertEquals(enumVar.mostInnerItems.datatypeWithEnum, "NameEnum");
 | 
			
		||||
        Assert.assertEquals(enumVar.mostInnerItems.name, "name");
 | 
			
		||||
        Assert.assertEquals(enumVar.mostInnerItems.defaultValue, "null");
 | 
			
		||||
        Assert.assertEquals(enumVar.mostInnerItems.baseType, "String");
 | 
			
		||||
 | 
			
		||||
        Assert.assertEquals(enumVar.mostInnerItems.baseType, enumVar.items.baseType);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test(description = "convert a java model with an enum inside a list")
 | 
			
		||||
@ -104,12 +106,14 @@ public class JavaModelEnumTest {
 | 
			
		||||
        Assert.assertEquals(enumVar.baseType, "List");
 | 
			
		||||
        Assert.assertTrue(enumVar.isEnum);
 | 
			
		||||
 | 
			
		||||
        Assert.assertEquals(enumVar.items.items.baseName, "name");
 | 
			
		||||
        Assert.assertEquals(enumVar.items.items.dataType, "String");
 | 
			
		||||
        Assert.assertEquals(enumVar.items.items.datatypeWithEnum, "NameEnum");
 | 
			
		||||
        Assert.assertEquals(enumVar.items.items.name, "name");
 | 
			
		||||
        Assert.assertEquals(enumVar.items.items.defaultValue, "null");
 | 
			
		||||
        Assert.assertEquals(enumVar.items.items.baseType, "String");
 | 
			
		||||
        Assert.assertEquals(enumVar.mostInnerItems.baseName, "name");
 | 
			
		||||
        Assert.assertEquals(enumVar.mostInnerItems.dataType, "String");
 | 
			
		||||
        Assert.assertEquals(enumVar.mostInnerItems.datatypeWithEnum, "NameEnum");
 | 
			
		||||
        Assert.assertEquals(enumVar.mostInnerItems.name, "name");
 | 
			
		||||
        Assert.assertEquals(enumVar.mostInnerItems.defaultValue, "null");
 | 
			
		||||
        Assert.assertEquals(enumVar.mostInnerItems.baseType, "String");
 | 
			
		||||
 | 
			
		||||
        Assert.assertEquals(enumVar.mostInnerItems.baseType, enumVar.items.items.baseType);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test(description = "not override identical parent enums")
 | 
			
		||||
 | 
			
		||||
@ -33,7 +33,6 @@ public class Order  {
 | 
			
		||||
  @ApiModelProperty(value = "")
 | 
			
		||||
  private Date shipDate = null;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@XmlType(name="StatusEnum")
 | 
			
		||||
@XmlEnum(String.class)
 | 
			
		||||
public enum StatusEnum {
 | 
			
		||||
 | 
			
		||||
@ -41,7 +41,6 @@ public class Pet  {
 | 
			
		||||
  @Valid
 | 
			
		||||
  private List<Tag> tags = null;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@XmlType(name="StatusEnum")
 | 
			
		||||
@XmlEnum(String.class)
 | 
			
		||||
public enum StatusEnum {
 | 
			
		||||
 | 
			
		||||
@ -33,7 +33,6 @@ public class Order  {
 | 
			
		||||
  @ApiModelProperty(value = "")
 | 
			
		||||
  private Date shipDate = null;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@XmlType(name="StatusEnum")
 | 
			
		||||
@XmlEnum(String.class)
 | 
			
		||||
public enum StatusEnum {
 | 
			
		||||
 | 
			
		||||
@ -41,7 +41,6 @@ public class Pet  {
 | 
			
		||||
  @Valid
 | 
			
		||||
  private List<Tag> tags = null;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@XmlType(name="StatusEnum")
 | 
			
		||||
@XmlEnum(String.class)
 | 
			
		||||
public enum StatusEnum {
 | 
			
		||||
 | 
			
		||||
@ -17,7 +17,6 @@ import com.fasterxml.jackson.annotation.JsonProperty;
 | 
			
		||||
 | 
			
		||||
public class EnumArrays  {
 | 
			
		||||
  
 | 
			
		||||
 | 
			
		||||
@XmlType(name="JustSymbolEnum")
 | 
			
		||||
@XmlEnum(String.class)
 | 
			
		||||
public enum JustSymbolEnum {
 | 
			
		||||
@ -53,7 +52,6 @@ public enum JustSymbolEnum {
 | 
			
		||||
  @ApiModelProperty(value = "")
 | 
			
		||||
  private JustSymbolEnum justSymbol = null;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@XmlType(name="ArrayEnumEnum")
 | 
			
		||||
@XmlEnum(String.class)
 | 
			
		||||
public enum ArrayEnumEnum {
 | 
			
		||||
 | 
			
		||||
@ -16,7 +16,6 @@ import com.fasterxml.jackson.annotation.JsonProperty;
 | 
			
		||||
 | 
			
		||||
public class EnumTest  {
 | 
			
		||||
  
 | 
			
		||||
 | 
			
		||||
@XmlType(name="EnumStringEnum")
 | 
			
		||||
@XmlEnum(String.class)
 | 
			
		||||
public enum EnumStringEnum {
 | 
			
		||||
@ -52,7 +51,6 @@ public enum EnumStringEnum {
 | 
			
		||||
  @ApiModelProperty(value = "")
 | 
			
		||||
  private EnumStringEnum enumString = null;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@XmlType(name="EnumStringRequiredEnum")
 | 
			
		||||
@XmlEnum(String.class)
 | 
			
		||||
public enum EnumStringRequiredEnum {
 | 
			
		||||
@ -88,7 +86,6 @@ public enum EnumStringRequiredEnum {
 | 
			
		||||
  @ApiModelProperty(required = true, value = "")
 | 
			
		||||
  private EnumStringRequiredEnum enumStringRequired = null;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@XmlType(name="EnumIntegerEnum")
 | 
			
		||||
@XmlEnum(Integer.class)
 | 
			
		||||
public enum EnumIntegerEnum {
 | 
			
		||||
@ -124,7 +121,6 @@ public enum EnumIntegerEnum {
 | 
			
		||||
  @ApiModelProperty(value = "")
 | 
			
		||||
  private EnumIntegerEnum enumInteger = null;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@XmlType(name="EnumNumberEnum")
 | 
			
		||||
@XmlEnum(Double.class)
 | 
			
		||||
public enum EnumNumberEnum {
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,6 @@ public class MapTest  {
 | 
			
		||||
  @Valid
 | 
			
		||||
  private Map<String, Map<String, String>> mapMapOfString = null;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@XmlType(name="InnerEnum")
 | 
			
		||||
@XmlEnum(String.class)
 | 
			
		||||
public enum InnerEnum {
 | 
			
		||||
 | 
			
		||||
@ -28,7 +28,6 @@ public class Order  {
 | 
			
		||||
  @ApiModelProperty(value = "")
 | 
			
		||||
  private Date shipDate = null;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@XmlType(name="StatusEnum")
 | 
			
		||||
@XmlEnum(String.class)
 | 
			
		||||
public enum StatusEnum {
 | 
			
		||||
 | 
			
		||||
@ -36,7 +36,6 @@ public class Pet  {
 | 
			
		||||
  @Valid
 | 
			
		||||
  private List<Tag> tags = null;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@XmlType(name="StatusEnum")
 | 
			
		||||
@XmlEnum(String.class)
 | 
			
		||||
public enum StatusEnum {
 | 
			
		||||
 | 
			
		||||
@ -93,7 +93,7 @@ public class EnumArrays  implements Serializable {
 | 
			
		||||
      return null;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
  @JsonProperty("array_enum")
 | 
			
		||||
  private List<ArrayEnumEnum> arrayEnum = null;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -63,7 +63,7 @@ public class MapTest  implements Serializable {
 | 
			
		||||
      return null;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
  @JsonProperty("map_of_enum_string")
 | 
			
		||||
  private Map<String, InnerEnum> mapOfEnumString = null;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -48,7 +48,7 @@ public enum JustSymbolEnum {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
  private @Valid JustSymbolEnum justSymbol = null;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
public enum ArrayEnumEnum {
 | 
			
		||||
 | 
			
		||||
    FISH(String.valueOf("fish")), CRAB(String.valueOf("crab"));
 | 
			
		||||
 | 
			
		||||
@ -16,7 +16,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
 | 
			
		||||
public class MapTest  implements Serializable {
 | 
			
		||||
  
 | 
			
		||||
  private @Valid Map<String, Map<String, String>> mapMapOfString = new HashMap<String, Map<String, String>>();
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
public enum InnerEnum {
 | 
			
		||||
 | 
			
		||||
    UPPER(String.valueOf("UPPER")), LOWER(String.valueOf("lower"));
 | 
			
		||||
 | 
			
		||||
@ -48,7 +48,7 @@ public enum JustSymbolEnum {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
  private @Valid JustSymbolEnum justSymbol = null;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
public enum ArrayEnumEnum {
 | 
			
		||||
 | 
			
		||||
    FISH(String.valueOf("fish")), CRAB(String.valueOf("crab"));
 | 
			
		||||
 | 
			
		||||
@ -16,7 +16,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
 | 
			
		||||
public class MapTest  implements Serializable {
 | 
			
		||||
  
 | 
			
		||||
  private @Valid Map<String, Map<String, String>> mapMapOfString = new HashMap<String, Map<String, String>>();
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
public enum InnerEnum {
 | 
			
		||||
 | 
			
		||||
    UPPER(String.valueOf("UPPER")), LOWER(String.valueOf("lower"));
 | 
			
		||||
 | 
			
		||||
@ -92,7 +92,7 @@ public class EnumArrays   {
 | 
			
		||||
      return null;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
  @JsonProperty("array_enum")
 | 
			
		||||
  private List<ArrayEnumEnum> arrayEnum = null;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -62,7 +62,7 @@ public class MapTest   {
 | 
			
		||||
      return null;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
  @JsonProperty("map_of_enum_string")
 | 
			
		||||
  private Map<String, InnerEnum> mapOfEnumString = null;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -92,7 +92,7 @@ public class EnumArrays   {
 | 
			
		||||
      return null;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
  @JsonProperty("array_enum")
 | 
			
		||||
  private List<ArrayEnumEnum> arrayEnum = null;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -62,7 +62,7 @@ public class MapTest   {
 | 
			
		||||
      return null;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
  @JsonProperty("map_of_enum_string")
 | 
			
		||||
  private Map<String, InnerEnum> mapOfEnumString = null;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -92,7 +92,7 @@ public class EnumArrays   {
 | 
			
		||||
      return null;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
  @JsonProperty("array_enum")
 | 
			
		||||
  private List<ArrayEnumEnum> arrayEnum = null;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -62,7 +62,7 @@ public class MapTest   {
 | 
			
		||||
      return null;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
  @JsonProperty("map_of_enum_string")
 | 
			
		||||
  private Map<String, InnerEnum> mapOfEnumString = null;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -92,7 +92,7 @@ public class EnumArrays   {
 | 
			
		||||
      return null;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
  @JsonProperty("array_enum")
 | 
			
		||||
  private List<ArrayEnumEnum> arrayEnum = null;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -62,7 +62,7 @@ public class MapTest   {
 | 
			
		||||
      return null;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
  @JsonProperty("map_of_enum_string")
 | 
			
		||||
  private Map<String, InnerEnum> mapOfEnumString = null;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user