From ef1222f2bf88ebd369312589489ef0e43b46fbab Mon Sep 17 00:00:00 2001 From: Patrick Culligan Date: Sat, 26 Dec 2015 17:29:56 -0600 Subject: [PATCH 1/2] Added support for vendor extensions on model and property --- .../src/main/java/io/swagger/codegen/CodegenModel.java | 7 +++---- .../src/main/java/io/swagger/codegen/CodegenProperty.java | 4 ++++ .../src/main/java/io/swagger/codegen/DefaultCodegen.java | 5 ++++- 3 files changed, 11 insertions(+), 5 deletions(-) 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 dd8d9aefa902..5dc25b514d68 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 @@ -762,6 +762,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()); @@ -880,9 +883,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) { From 3266fbbf81cd3faf1730edbb84e8f7c5dff8840e Mon Sep 17 00:00:00 2001 From: Patrick Culligan Date: Sat, 26 Dec 2015 18:18:14 -0600 Subject: [PATCH 2/2] corrected JavaDos issues that were UNRELATED to this PR to get the CI server moving. --- .../java/io/swagger/codegen/DefaultCodegen.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) 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 5dc25b514d68..fb331918d87d 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 @@ -307,7 +307,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) { @@ -332,8 +332,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"); @@ -369,9 +370,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( @@ -1430,7 +1430,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) { @@ -2015,6 +2015,7 @@ public class DefaultCodegen { /** * All library templates supported. * (key: library name, value: library description) + * @return the supported libraries */ public Map supportedLibraries() { return supportedLibraries;