diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenModel.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenModel.java index d5702b5c50a0..b4d964647b7e 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenModel.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenModel.java @@ -2,10 +2,7 @@ package io.swagger.codegen; import io.swagger.models.ExternalDocs; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; +import java.util.*; public class CodegenModel { public String parent; @@ -21,4 +18,6 @@ public class CodegenModel { public Set imports = new HashSet(); public Boolean hasVars, emptyVars, hasMoreModels, hasEnums, isEnum; public ExternalDocs externalDocs; + + public Map vendorExtensions; } diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenProperty.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenProperty.java index 32e169ac8782..e77258a08189 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenProperty.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenProperty.java @@ -38,6 +38,7 @@ public class CodegenProperty { public List _enum; public Map allowableValues; public CodegenProperty items; + public Map vendorExtensions; @Override public boolean equals(Object obj) { @@ -138,6 +139,9 @@ public class CodegenProperty { if (this.allowableValues != other.allowableValues && (this.allowableValues == null || !this.allowableValues.equals(other.allowableValues))) { return false; } + if (this.vendorExtensions != other.vendorExtensions && (this.vendorExtensions == null || !this.vendorExtensions.equals(other.vendorExtensions))) { + return false; + } return true; } } diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java index afeb5cd62d5f..2147d1d976cb 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java @@ -308,7 +308,7 @@ public class DefaultCodegen { * Return the parameter name by removing invalid characters and proper escaping if * it's a reserved word. * - * @param property Codegen property object + * @param name Codegen property object * @return the sanitized parameter name */ public String toParamName(String name) { @@ -333,8 +333,9 @@ public class DefaultCodegen { * Return the escaped name of the reserved word * * @param name the name to be escaped - * @throws Runtime exception as reserved word is not allowed (default behavior) * @return the escaped reserved word + * + * throws Runtime exception as reserved word is not allowed (default behavior) */ public String escapeReservedWord(String name) { throw new RuntimeException("reserved word " + name + " not allowed"); @@ -370,9 +371,8 @@ public class DefaultCodegen { * between Swagger type and the corresponding import statement for the language. This will * also add some language specified CLI options, if any. * - * @param path the path of the operation - * @param operation Swagger operation object - * @return string presentation of the example path + * + * returns string presentation of the example path (it's a constructor) */ public DefaultCodegen() { defaultIncludes = new HashSet( @@ -763,6 +763,9 @@ public class DefaultCodegen { m.classVarName = toVarName(name); m.modelJson = Json.pretty(model); m.externalDocs = model.getExternalDocs(); + m.vendorExtensions = model.getVendorExtensions(); + + if (model instanceof ArrayModel) { ArrayModel am = (ArrayModel) model; ArrayProperty arrayProperty = new ArrayProperty(am.getItems()); @@ -881,9 +884,9 @@ public class DefaultCodegen { property.example = p.getExample(); property.defaultValue = toDefaultValue(p); property.defaultValueWithParam = toDefaultValueWithParam(name, p); - property.jsonSchema = Json.pretty(p); property.isReadOnly = p.getReadOnly(); + property.vendorExtensions = p.getVendorExtensions(); String type = getSwaggerType(p); if (p instanceof AbstractNumericProperty) { @@ -1428,7 +1431,7 @@ public class DefaultCodegen { * Convert Swagger Parameter object to Codegen Parameter object * * @param param Swagger parameter object - * @param a set of imports for library/package/module + * @param imports set of imports for library/package/module * @return Codegen Parameter object */ public CodegenParameter fromParameter(Parameter param, Set imports) { @@ -2013,6 +2016,7 @@ public class DefaultCodegen { /** * All library templates supported. * (key: library name, value: library description) + * @return the supported libraries */ public Map supportedLibraries() { return supportedLibraries;