forked from loafle/openapi-generator-original
issue #1347
This is a fix to support enums in query parameters. Enum-related information was not being stored on `CodegenParameter` previously; it is now. Test cases have been added to make sure that the enum information is being properly processed from the model.
This commit is contained in:
@@ -7,9 +7,9 @@ import java.util.List;
|
||||
|
||||
public class CodegenParameter {
|
||||
public Boolean isFormParam, isQueryParam, isPathParam, isHeaderParam,
|
||||
isCookieParam, isBodyParam, hasMore, isContainer,
|
||||
isCookieParam, isBodyParam, hasMore, isContainer,
|
||||
secondaryParam, isCollectionFormatMulti;
|
||||
public String baseName, paramName, dataType, collectionFormat, description, baseType, defaultValue;
|
||||
public String baseName, paramName, dataType, datatypeWithEnum, collectionFormat, description, baseType, defaultValue;
|
||||
public String jsonSchema;
|
||||
public Boolean isString, isInteger, isLong, isFloat, isDouble, isByteArray, isBinary, isBoolean, isDate, isDateTime;
|
||||
public Boolean isListContainer, isMapContainer;
|
||||
@@ -17,6 +17,7 @@ public class CodegenParameter {
|
||||
public boolean isEnum;
|
||||
public List<String> _enum;
|
||||
public Map<String, Object> allowableValues;
|
||||
public CodegenProperty items;
|
||||
public Map<String, Object> vendorExtensions;
|
||||
|
||||
/**
|
||||
@@ -81,6 +82,7 @@ public class CodegenParameter {
|
||||
output.baseName = this.baseName;
|
||||
output.paramName = this.paramName;
|
||||
output.dataType = this.dataType;
|
||||
output.datatypeWithEnum = this.datatypeWithEnum;
|
||||
output.collectionFormat = this.collectionFormat;
|
||||
output.isCollectionFormatMulti = this.isCollectionFormatMulti;
|
||||
output.description = this.description;
|
||||
@@ -112,6 +114,9 @@ public class CodegenParameter {
|
||||
if (this.allowableValues != null) {
|
||||
output.allowableValues = new HashMap<String, Object>(this.allowableValues);
|
||||
}
|
||||
if (this.items != null) {
|
||||
output.items = this.items;
|
||||
}
|
||||
output.vendorExtensions = this.vendorExtensions;
|
||||
output.isBinary = this.isBinary;
|
||||
output.isByteArray = this.isByteArray;
|
||||
|
||||
@@ -1660,9 +1660,16 @@ public class DefaultCodegen {
|
||||
setParameterBooleanFlagWithCodegenProperty(p, model);
|
||||
|
||||
p.dataType = model.datatype;
|
||||
if(model.isEnum) {
|
||||
p.datatypeWithEnum = model.datatypeWithEnum;
|
||||
}
|
||||
p.isEnum = model.isEnum;
|
||||
p._enum = model._enum;
|
||||
p.allowableValues = model.allowableValues;
|
||||
if(model.items != null && model.items.isEnum) {
|
||||
p.datatypeWithEnum = model.datatypeWithEnum;
|
||||
p.items = model.items;
|
||||
}
|
||||
p.collectionFormat = collectionFormat;
|
||||
if(collectionFormat != null && collectionFormat.equals("multi")) {
|
||||
p.isCollectionFormatMulti = true;
|
||||
|
||||
Reference in New Issue
Block a user