From ef1222f2bf88ebd369312589489ef0e43b46fbab Mon Sep 17 00:00:00 2001 From: Patrick Culligan Date: Sat, 26 Dec 2015 17:29:56 -0600 Subject: [PATCH] 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) {