diff --git a/src/main/java/com/wordnik/swagger/codegen/CodegenProperty.java b/src/main/java/com/wordnik/swagger/codegen/CodegenProperty.java index e2704637a71..cda9ab714d4 100644 --- a/src/main/java/com/wordnik/swagger/codegen/CodegenProperty.java +++ b/src/main/java/com/wordnik/swagger/codegen/CodegenProperty.java @@ -18,6 +18,7 @@ public class CodegenProperty { public Double minimum, maximum, exclusiveMinimum, exclusiveMaximum; public Boolean hasMore = null, required = null, secondaryParam = null; public Boolean isPrimitiveType, isContainer, isNotContainer; + public boolean isEnum; public List _enum; public Map allowableValues; } diff --git a/src/main/java/com/wordnik/swagger/codegen/DefaultCodegen.java b/src/main/java/com/wordnik/swagger/codegen/DefaultCodegen.java index 0074e21d7dc..971acd4a51b 100644 --- a/src/main/java/com/wordnik/swagger/codegen/DefaultCodegen.java +++ b/src/main/java/com/wordnik/swagger/codegen/DefaultCodegen.java @@ -4,6 +4,7 @@ import com.wordnik.swagger.util.Json; import com.wordnik.swagger.models.*; import com.wordnik.swagger.models.parameters.*; import com.wordnik.swagger.models.properties.*; +import org.apache.commons.lang.StringUtils; import java.util.*; import java.io.File; @@ -441,6 +442,7 @@ public class DefaultCodegen { if(sp.getEnum() != null) { List _enum = sp.getEnum(); property._enum = _enum; + property.isEnum = true; // legacy support Map allowableValues = new HashMap(); @@ -449,7 +451,9 @@ public class DefaultCodegen { } } - property.datatype = getTypeDeclaration(p); + property.datatype = property.isEnum + ? StringUtils.capitalize(getTypeDeclaration(p)) + "Enum" + : getTypeDeclaration(p); property.baseType = getSwaggerType(p); if(p instanceof ArrayProperty) { diff --git a/src/main/resources/JavaJaxRS/model.mustache b/src/main/resources/JavaJaxRS/model.mustache index 3836a0ad927..f6cb2b01cdf 100644 --- a/src/main/resources/JavaJaxRS/model.mustache +++ b/src/main/resources/JavaJaxRS/model.mustache @@ -17,10 +17,10 @@ public class {{classname}} {{#parent}}extends {{{parent}}}{{/parent}} { {{#vars} * minimum: {{minimum}}{{/minimum}}{{#maximum}} * maximum: {{maximum}}{{/maximum}} **/ - private {{{datatype}}} {{name}} = {{{defaultValue}}};{{#allowableValues}} + private {{{datatype}}} {{name}} = {{{defaultValue}}};{{#isEnum}} - //{{^min}}public enum {{name}}Enum { {{#values}} {{.}}, {{/values}} }; - {{/min}}{{/allowableValues}}{{/vars}} + public enum {{datatype}} { {{#_enum}}{{.}}{{^-last}}, {{/-last}}{{/_enum}} }; + {{/isEnum}}{{/vars}} {{#vars}} @ApiModelProperty(required = {{required}}, value = "{{{description}}}")