From edf2642e739f75debcc40bf454c8ee9513215f80 Mon Sep 17 00:00:00 2001 From: xhh Date: Thu, 8 Oct 2015 21:18:11 +0800 Subject: [PATCH 01/28] Support model name like "List" in Java clients Support generating model files with name like "List", "Map" and "Date" by using full qualified names when using them from the java.util package. --- .../io/swagger/codegen/DefaultCodegen.java | 31 ++++++++---------- .../codegen/languages/JavaClientCodegen.java | 32 +++++++++++-------- .../src/main/resources/Java/api.mustache | 14 ++------ .../Java/libraries/jersey2/api.mustache | 12 ++----- .../Java/libraries/okhttp-gson/api.mustache | 12 ++----- .../Java/libraries/retrofit/api.mustache | 11 +++---- 6 files changed, 46 insertions(+), 66 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 efc0aa31dbc..55868c0acaf 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 @@ -311,15 +311,14 @@ public class DefaultCodegen { ); typeMapping = new HashMap(); - typeMapping.put("array", "List"); - typeMapping.put("map", "Map"); - typeMapping.put("List", "List"); + typeMapping.put("array", "java.util.List"); + typeMapping.put("map", "java.util.Map"); typeMapping.put("boolean", "Boolean"); typeMapping.put("string", "String"); typeMapping.put("int", "Integer"); typeMapping.put("float", "Float"); typeMapping.put("number", "BigDecimal"); - typeMapping.put("DateTime", "Date"); + typeMapping.put("DateTime", "java.util.Date"); typeMapping.put("long", "Long"); typeMapping.put("short", "Short"); typeMapping.put("char", "String"); @@ -337,15 +336,7 @@ public class DefaultCodegen { importMapping.put("BigDecimal", "java.math.BigDecimal"); importMapping.put("UUID", "java.util.UUID"); importMapping.put("File", "java.io.File"); - importMapping.put("Date", "java.util.Date"); importMapping.put("Timestamp", "java.sql.Timestamp"); - importMapping.put("Map", "java.util.Map"); - importMapping.put("HashMap", "java.util.HashMap"); - importMapping.put("Array", "java.util.List"); - importMapping.put("ArrayList", "java.util.ArrayList"); - importMapping.put("List", "java.util.*"); - importMapping.put("Set", "java.util.*"); - importMapping.put("DateTime", "org.joda.time.*"); importMapping.put("LocalDateTime", "org.joda.time.*"); importMapping.put("LocalDate", "org.joda.time.*"); importMapping.put("LocalTime", "org.joda.time.*"); @@ -1038,7 +1029,7 @@ public class DefaultCodegen { } } for (String i : imports) { - if (!defaultIncludes.contains(i) && !languageSpecificPrimitives.contains(i)) { + if (needToImport(i)) { op.imports.add(i); } } @@ -1311,6 +1302,12 @@ public class DefaultCodegen { return secs; } + protected boolean needToImport(String type) { + return !defaultIncludes.contains(type) + && !languageSpecificPrimitives.contains(type) + && type.indexOf(".") < 0; + } + protected List> toExamples(Map examples) { if (examples == null) { return null; @@ -1414,7 +1411,7 @@ public class DefaultCodegen { } private void addImport(CodegenModel m, String type) { - if (type != null && !languageSpecificPrimitives.contains(type) && !defaultIncludes.contains(type)) { + if (type != null && needToImport(type)) { m.imports.add(type); } } @@ -1593,8 +1590,8 @@ public class DefaultCodegen { * @return sanitized string */ public String sanitizeName(String name) { - // NOTE: performance wise, we should have written with 2 replaceAll to replace desired - // character with _ or empty character. Below aims to spell out different cases we've + // NOTE: performance wise, we should have written with 2 replaceAll to replace desired + // character with _ or empty character. Below aims to spell out different cases we've // encountered so far and hopefully make it easier for others to add more special // cases in the future. @@ -1617,7 +1614,7 @@ public class DefaultCodegen { // input name and age => input_name_and_age name = name.replaceAll(" ", "_"); - + // remove everything else other than word, number and _ // $php_variable => php_variable return name.replaceAll("[^a-zA-Z0-9_]", ""); diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java index 360dc9c0f2f..1276c2dde6c 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java @@ -71,8 +71,8 @@ public class JavaClientCodegen extends DefaultCodegen implements CodegenConfig { "Object", "byte[]") ); - instantiationTypes.put("array", "ArrayList"); - instantiationTypes.put("map", "HashMap"); + instantiationTypes.put("array", "java.util.ArrayList"); + instantiationTypes.put("map", "java.util.HashMap"); cliOptions.add(new CliOption(CodegenConstants.INVOKER_PACKAGE, CodegenConstants.INVOKER_PACKAGE_DESC)); cliOptions.add(new CliOption(CodegenConstants.GROUP_ID, CodegenConstants.GROUP_ID_DESC)); @@ -107,7 +107,7 @@ public class JavaClientCodegen extends DefaultCodegen implements CodegenConfig { @Override public void processOpts() { super.processOpts(); - + if (additionalProperties.containsKey(CodegenConstants.INVOKER_PACKAGE)) { this.setInvokerPackage((String) additionalProperties.get(CodegenConstants.INVOKER_PACKAGE)); } else { @@ -158,7 +158,7 @@ public class JavaClientCodegen extends DefaultCodegen implements CodegenConfig { supportingFiles.add(new SupportingFile("pom.mustache", "", "pom.xml")); supportingFiles.add(new SupportingFile("ApiClient.mustache", invokerFolder, "ApiClient.java")); supportingFiles.add(new SupportingFile("StringUtil.mustache", invokerFolder, "StringUtil.java")); - + final String authFolder = (sourceFolder + File.separator + invokerPackage + ".auth").replace(".", File.separator); supportingFiles.add(new SupportingFile("auth/HttpBasicAuth.mustache", authFolder, "HttpBasicAuth.java")); supportingFiles.add(new SupportingFile("auth/ApiKeyAuth.mustache", authFolder, "ApiKeyAuth.java")); @@ -172,7 +172,7 @@ public class JavaClientCodegen extends DefaultCodegen implements CodegenConfig { supportingFiles.add(new SupportingFile("Pair.mustache", invokerFolder, "Pair.java")); supportingFiles.add(new SupportingFile("auth/Authentication.mustache", authFolder, "Authentication.java")); } - + // library-specific files if ("okhttp-gson".equals(getLibrary())) { // the "okhttp-gson" library template requires "ApiCallback.mustache" for async call @@ -189,25 +189,25 @@ public class JavaClientCodegen extends DefaultCodegen implements CodegenConfig { } private void sanitizeConfig() { - // Sanitize any config options here. We also have to update the additionalProperties because + // Sanitize any config options here. We also have to update the additionalProperties because // the whole additionalProperties object is injected into the main object passed to the mustache layer - + this.setApiPackage(sanitizePackageName(apiPackage)); if (additionalProperties.containsKey(CodegenConstants.API_PACKAGE)) { this.additionalProperties.put(CodegenConstants.API_PACKAGE, apiPackage); } - + this.setModelPackage(sanitizePackageName(modelPackage)); if (additionalProperties.containsKey(CodegenConstants.MODEL_PACKAGE)) { this.additionalProperties.put(CodegenConstants.MODEL_PACKAGE, modelPackage); } - + this.setInvokerPackage(sanitizePackageName(invokerPackage)); if (additionalProperties.containsKey(CodegenConstants.INVOKER_PACKAGE)) { this.additionalProperties.put(CodegenConstants.INVOKER_PACKAGE, invokerPackage); } } - + @Override public String escapeReservedWord(String name) { return "_" + name; @@ -294,10 +294,10 @@ public class JavaClientCodegen extends DefaultCodegen implements CodegenConfig { public String toDefaultValue(Property p) { if (p instanceof ArrayProperty) { final ArrayProperty ap = (ArrayProperty) p; - return String.format("new ArrayList<%s>()", getTypeDeclaration(ap.getItems())); + return String.format("new java.util.ArrayList<%s>()", getTypeDeclaration(ap.getItems())); } else if (p instanceof MapProperty) { final MapProperty ap = (MapProperty) p; - return String.format("new HashMap()", getTypeDeclaration(ap.getAdditionalProperties())); + return String.format("new java.util.HashMap()", getTypeDeclaration(ap.getAdditionalProperties())); } return super.toDefaultValue(p); } @@ -308,7 +308,7 @@ public class JavaClientCodegen extends DefaultCodegen implements CodegenConfig { String type = null; if (typeMapping.containsKey(swaggerType)) { type = typeMapping.get(swaggerType); - if (languageSpecificPrimitives.contains(type)) { + if (languageSpecificPrimitives.contains(type) || type.indexOf(".") >= 0) { return type; } } else { @@ -394,7 +394,7 @@ public class JavaClientCodegen extends DefaultCodegen implements CodegenConfig { } return objs; } - + public Map postProcessOperations(Map objs) { if("retrofit".equals(getLibrary())) { Map operations = (Map) objs.get("operations"); @@ -418,6 +418,10 @@ public class JavaClientCodegen extends DefaultCodegen implements CodegenConfig { return objs; } + protected boolean needToImport(String type) { + return super.needToImport(type) && type.indexOf(".") < 0; + } + private String findCommonPrefixOfVars(List vars) { String prefix = StringUtils.getCommonPrefix(vars.toArray(new String[vars.size()])); // exclude trailing characters that should be part of a valid variable diff --git a/modules/swagger-codegen/src/main/resources/Java/api.mustache b/modules/swagger-codegen/src/main/resources/Java/api.mustache index ad957261f2a..38ebc1c54ab 100644 --- a/modules/swagger-codegen/src/main/resources/Java/api.mustache +++ b/modules/swagger-codegen/src/main/resources/Java/api.mustache @@ -6,17 +6,9 @@ import {{invokerPackage}}.Configuration; import {{invokerPackage}}.Pair; import {{invokerPackage}}.TypeRef; -import {{modelPackage}}.*; - -import java.util.*; - {{#imports}}import {{import}}; {{/imports}} -import java.io.File; -import java.util.Map; -import java.util.HashMap; - {{>generatedAnnotation}} {{#operations}} public class {{classname}} { @@ -59,9 +51,9 @@ public class {{classname}} { .replaceAll("\\{" + "{{baseName}}" + "\\}", {{localVariablePrefix}}apiClient.escapeString({{{paramName}}}.toString())){{/pathParams}}; // query params - List {{localVariablePrefix}}queryParams = new ArrayList(); - Map {{localVariablePrefix}}headerParams = new HashMap(); - Map {{localVariablePrefix}}formParams = new HashMap(); + java.util.List {{localVariablePrefix}}queryParams = new java.util.ArrayList(); + java.util.Map {{localVariablePrefix}}headerParams = new java.util.HashMap(); + java.util.Map {{localVariablePrefix}}formParams = new java.util.HashMap(); {{#queryParams}} {{localVariablePrefix}}queryParams.addAll({{localVariablePrefix}}apiClient.parameterToPairs("{{#collectionFormat}}{{{collectionFormat}}}{{/collectionFormat}}", "{{baseName}}", {{paramName}})); diff --git a/modules/swagger-codegen/src/main/resources/Java/libraries/jersey2/api.mustache b/modules/swagger-codegen/src/main/resources/Java/libraries/jersey2/api.mustache index d525db8a28d..532f1ef78cf 100644 --- a/modules/swagger-codegen/src/main/resources/Java/libraries/jersey2/api.mustache +++ b/modules/swagger-codegen/src/main/resources/Java/libraries/jersey2/api.mustache @@ -8,15 +8,9 @@ import {{invokerPackage}}.TypeRef; import {{modelPackage}}.*; -import java.util.*; - {{#imports}}import {{import}}; {{/imports}} -import java.io.File; -import java.util.Map; -import java.util.HashMap; - {{>generatedAnnotation}} {{#operations}} public class {{classname}} { @@ -58,9 +52,9 @@ public class {{classname}} { .replaceAll("\\{" + "{{baseName}}" + "\\}", {{localVariablePrefix}}apiClient.escapeString({{{paramName}}}.toString())){{/pathParams}}; // query params - List {{localVariablePrefix}}queryParams = new ArrayList(); - Map {{localVariablePrefix}}headerParams = new HashMap(); - Map {{localVariablePrefix}}formParams = new HashMap(); + java.util.List {{localVariablePrefix}}queryParams = new java.util.ArrayList(); + java.util.Map {{localVariablePrefix}}headerParams = new java.util.HashMap(); + java.util.Map {{localVariablePrefix}}formParams = new java.util.HashMap(); {{#queryParams}} {{localVariablePrefix}}queryParams.addAll({{localVariablePrefix}}apiClient.parameterToPairs("{{#collectionFormat}}{{{collectionFormat}}}{{/collectionFormat}}", "{{baseName}}", {{paramName}})); diff --git a/modules/swagger-codegen/src/main/resources/Java/libraries/okhttp-gson/api.mustache b/modules/swagger-codegen/src/main/resources/Java/libraries/okhttp-gson/api.mustache index b272687c7fd..d1f38f0ac35 100644 --- a/modules/swagger-codegen/src/main/resources/Java/libraries/okhttp-gson/api.mustache +++ b/modules/swagger-codegen/src/main/resources/Java/libraries/okhttp-gson/api.mustache @@ -14,15 +14,9 @@ import com.squareup.okhttp.Call; import java.lang.reflect.Type; -import java.util.*; - {{#imports}}import {{import}}; {{/imports}} -import java.io.File; -import java.util.Map; -import java.util.HashMap; - {{#operations}} public class {{classname}} { private ApiClient {{localVariablePrefix}}apiClient; @@ -58,15 +52,15 @@ public class {{classname}} { String {{localVariablePrefix}}path = "{{path}}".replaceAll("\\{format\\}","json"){{#pathParams}} .replaceAll("\\{" + "{{baseName}}" + "\\}", {{localVariablePrefix}}apiClient.escapeString({{{paramName}}}.toString())){{/pathParams}}; - List {{localVariablePrefix}}queryParams = new ArrayList();{{#queryParams}} + java.util.List {{localVariablePrefix}}queryParams = new java.util.ArrayList();{{#queryParams}} if ({{paramName}} != null) {{localVariablePrefix}}queryParams.addAll({{localVariablePrefix}}apiClient.parameterToPairs("{{#collectionFormat}}{{{collectionFormat}}}{{/collectionFormat}}", "{{baseName}}", {{paramName}}));{{/queryParams}} - Map {{localVariablePrefix}}headerParams = new HashMap();{{#headerParams}} + java.util.Map {{localVariablePrefix}}headerParams = new java.util.HashMap();{{#headerParams}} if ({{paramName}} != null) {{localVariablePrefix}}headerParams.put("{{baseName}}", {{localVariablePrefix}}apiClient.parameterToString({{paramName}}));{{/headerParams}} - Map {{localVariablePrefix}}formParams = new HashMap();{{#formParams}} + java.util.Map {{localVariablePrefix}}formParams = new java.util.HashMap();{{#formParams}} if ({{paramName}} != null) {{localVariablePrefix}}formParams.put("{{baseName}}", {{paramName}});{{/formParams}} diff --git a/modules/swagger-codegen/src/main/resources/Java/libraries/retrofit/api.mustache b/modules/swagger-codegen/src/main/resources/Java/libraries/retrofit/api.mustache index 89850d92bdc..28d2d29f8d1 100644 --- a/modules/swagger-codegen/src/main/resources/Java/libraries/retrofit/api.mustache +++ b/modules/swagger-codegen/src/main/resources/Java/libraries/retrofit/api.mustache @@ -5,7 +5,6 @@ import {{modelPackage}}.*; import retrofit.Callback; import retrofit.http.*; import retrofit.mime.*; -import java.util.*; {{#imports}}import {{import}}; {{/imports}} @@ -22,7 +21,7 @@ public interface {{classname}} { */ {{#formParams}}{{#-first}} {{#isMultipart}}@Multipart{{/isMultipart}}{{^isMultipart}}@FormUrlEncoded{{/isMultipart}}{{/-first}}{{/formParams}} - @{{httpMethod}}("{{path}}") + @{{httpMethod}}("{{path}}") {{#returnType}}{{{returnType}}}{{/returnType}}{{^returnType}}Object{{/returnType}} {{nickname}}({{^allParams}});{{/allParams}} {{#allParams}}{{>libraries/retrofit/queryParams}}{{>libraries/retrofit/pathParams}}{{>libraries/retrofit/headerParams}}{{>libraries/retrofit/bodyParams}}{{>libraries/retrofit/formParams}}{{#hasMore}}, {{/hasMore}}{{^hasMore}} );{{/hasMore}}{{/allParams}} @@ -31,15 +30,15 @@ public interface {{classname}} { * {{summary}} * Async method {{#allParams}} * @param {{paramName}} {{description}} -{{/allParams}} * @param cb callback method +{{/allParams}} * @param cb callback method * @return void */ {{#formParams}}{{#-first}} {{#isMultipart}}@Multipart{{/isMultipart}}{{^isMultipart}}@FormUrlEncoded{{/isMultipart}}{{/-first}}{{/formParams}} - @{{httpMethod}}("{{path}}") + @{{httpMethod}}("{{path}}") void {{nickname}}( {{#allParams}}{{>libraries/retrofit/queryParams}}{{>libraries/retrofit/pathParams}}{{>libraries/retrofit/headerParams}}{{>libraries/retrofit/bodyParams}}{{>libraries/retrofit/formParams}}, {{/allParams}}Callback<{{#returnType}}{{{returnType}}}{{/returnType}}{{^returnType}}Object{{/returnType}}> cb - ); + ); {{/operation}} } -{{/operations}} \ No newline at end of file +{{/operations}} From ab34dc56979b2acc2ecad697169e6a2ca0ccceee Mon Sep 17 00:00:00 2001 From: xhh Date: Thu, 8 Oct 2015 21:21:43 +0800 Subject: [PATCH 02/28] Rebuild Java cilents of the Petstore sample --- .../java/io/swagger/client/api/PetApi.java | 72 ++++++++--------- .../java/io/swagger/client/api/StoreApi.java | 41 ++++------ .../java/io/swagger/client/api/UserApi.java | 63 +++++++-------- .../java/io/swagger/client/model/Order.java | 9 +-- .../java/io/swagger/client/model/Pet.java | 15 ++-- .../java/io/swagger/client/api/PetApi.java | 68 +++++++--------- .../java/io/swagger/client/api/StoreApi.java | 39 ++++----- .../java/io/swagger/client/api/UserApi.java | 61 +++++++------- .../java/io/swagger/client/model/Order.java | 13 +-- .../java/io/swagger/client/model/Pet.java | 19 ++--- .../java/io/swagger/client/api/PetApi.java | 78 +++++++++--------- .../java/io/swagger/client/api/StoreApi.java | 41 ++++------ .../java/io/swagger/client/api/UserApi.java | 67 +++++++-------- .../java/io/swagger/client/model/Order.java | 7 +- .../java/io/swagger/client/model/Pet.java | 13 ++- .../java/io/swagger/client/api/PetApi.java | 81 +++++++++---------- .../java/io/swagger/client/api/StoreApi.java | 40 +++++---- .../java/io/swagger/client/api/UserApi.java | 74 +++++++++-------- .../java/io/swagger/client/model/Order.java | 7 +- .../java/io/swagger/client/model/Pet.java | 13 ++- 20 files changed, 373 insertions(+), 448 deletions(-) diff --git a/samples/client/petstore/java/default/src/main/java/io/swagger/client/api/PetApi.java b/samples/client/petstore/java/default/src/main/java/io/swagger/client/api/PetApi.java index ca9111f4176..4f503f934cb 100644 --- a/samples/client/petstore/java/default/src/main/java/io/swagger/client/api/PetApi.java +++ b/samples/client/petstore/java/default/src/main/java/io/swagger/client/api/PetApi.java @@ -6,18 +6,10 @@ import io.swagger.client.Configuration; import io.swagger.client.Pair; import io.swagger.client.TypeRef; -import io.swagger.client.model.*; - -import java.util.*; - import io.swagger.client.model.Pet; import java.io.File; -import java.io.File; -import java.util.Map; -import java.util.HashMap; - -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-09-30T16:27:52.437+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-08T20:57:43.997+08:00") public class PetApi { private ApiClient apiClient; @@ -52,9 +44,9 @@ public class PetApi { String path = "/pet".replaceAll("\\{format\\}","json"); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); @@ -99,9 +91,9 @@ public class PetApi { String path = "/pet".replaceAll("\\{format\\}","json"); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); @@ -136,9 +128,9 @@ public class PetApi { * Finds Pets by status * Multiple status values can be provided with comma seperated strings * @param status Status values that need to be considered for filter - * @return List + * @return java.util.List */ - public List findPetsByStatus (List status) throws ApiException { + public java.util.List findPetsByStatus (java.util.List status) throws ApiException { Object postBody = null; byte[] postBinaryBody = null; @@ -146,9 +138,9 @@ public class PetApi { String path = "/pet/findByStatus".replaceAll("\\{format\\}","json"); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); queryParams.addAll(apiClient.parameterToPairs("multi", "status", status)); @@ -174,7 +166,7 @@ public class PetApi { - TypeRef returnType = new TypeRef>() {}; + TypeRef returnType = new TypeRef>() {}; return apiClient.invokeAPI(path, "GET", queryParams, postBody, postBinaryBody, headerParams, formParams, accept, contentType, authNames, returnType); @@ -186,9 +178,9 @@ public class PetApi { * Finds Pets by tags * Muliple tags can be provided with comma seperated strings. Use tag1, tag2, tag3 for testing. * @param tags Tags to filter by - * @return List + * @return java.util.List */ - public List findPetsByTags (List tags) throws ApiException { + public java.util.List findPetsByTags (java.util.List tags) throws ApiException { Object postBody = null; byte[] postBinaryBody = null; @@ -196,9 +188,9 @@ public class PetApi { String path = "/pet/findByTags".replaceAll("\\{format\\}","json"); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); queryParams.addAll(apiClient.parameterToPairs("multi", "tags", tags)); @@ -224,7 +216,7 @@ public class PetApi { - TypeRef returnType = new TypeRef>() {}; + TypeRef returnType = new TypeRef>() {}; return apiClient.invokeAPI(path, "GET", queryParams, postBody, postBinaryBody, headerParams, formParams, accept, contentType, authNames, returnType); @@ -252,9 +244,9 @@ public class PetApi { .replaceAll("\\{" + "petId" + "\\}", apiClient.escapeString(petId.toString())); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); @@ -272,7 +264,7 @@ public class PetApi { }; final String contentType = apiClient.selectHeaderContentType(contentTypes); - String[] authNames = new String[] { "api_key", "petstore_auth" }; + String[] authNames = new String[] { "petstore_auth", "api_key" }; @@ -308,9 +300,9 @@ public class PetApi { .replaceAll("\\{" + "petId" + "\\}", apiClient.escapeString(petId.toString())); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); @@ -366,9 +358,9 @@ public class PetApi { .replaceAll("\\{" + "petId" + "\\}", apiClient.escapeString(petId.toString())); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); @@ -423,9 +415,9 @@ public class PetApi { .replaceAll("\\{" + "petId" + "\\}", apiClient.escapeString(petId.toString())); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); diff --git a/samples/client/petstore/java/default/src/main/java/io/swagger/client/api/StoreApi.java b/samples/client/petstore/java/default/src/main/java/io/swagger/client/api/StoreApi.java index f0628c595c9..4d861dcb5d8 100644 --- a/samples/client/petstore/java/default/src/main/java/io/swagger/client/api/StoreApi.java +++ b/samples/client/petstore/java/default/src/main/java/io/swagger/client/api/StoreApi.java @@ -6,18 +6,9 @@ import io.swagger.client.Configuration; import io.swagger.client.Pair; import io.swagger.client.TypeRef; -import io.swagger.client.model.*; - -import java.util.*; - -import java.util.Map; import io.swagger.client.model.Order; -import java.io.File; -import java.util.Map; -import java.util.HashMap; - -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-09-30T16:27:52.437+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-08T20:57:43.997+08:00") public class StoreApi { private ApiClient apiClient; @@ -41,9 +32,9 @@ public class StoreApi { /** * Returns pet inventories by status * Returns a map of status codes to quantities - * @return Map + * @return java.util.Map */ - public Map getInventory () throws ApiException { + public java.util.Map getInventory () throws ApiException { Object postBody = null; byte[] postBinaryBody = null; @@ -51,9 +42,9 @@ public class StoreApi { String path = "/store/inventory".replaceAll("\\{format\\}","json"); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); @@ -77,7 +68,7 @@ public class StoreApi { - TypeRef returnType = new TypeRef>() {}; + TypeRef returnType = new TypeRef>() {}; return apiClient.invokeAPI(path, "GET", queryParams, postBody, postBinaryBody, headerParams, formParams, accept, contentType, authNames, returnType); @@ -99,9 +90,9 @@ public class StoreApi { String path = "/store/order".replaceAll("\\{format\\}","json"); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); @@ -153,9 +144,9 @@ public class StoreApi { .replaceAll("\\{" + "orderId" + "\\}", apiClient.escapeString(orderId.toString())); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); @@ -207,9 +198,9 @@ public class StoreApi { .replaceAll("\\{" + "orderId" + "\\}", apiClient.escapeString(orderId.toString())); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); diff --git a/samples/client/petstore/java/default/src/main/java/io/swagger/client/api/UserApi.java b/samples/client/petstore/java/default/src/main/java/io/swagger/client/api/UserApi.java index 3412c565b37..e2e0e90b18d 100644 --- a/samples/client/petstore/java/default/src/main/java/io/swagger/client/api/UserApi.java +++ b/samples/client/petstore/java/default/src/main/java/io/swagger/client/api/UserApi.java @@ -6,18 +6,9 @@ import io.swagger.client.Configuration; import io.swagger.client.Pair; import io.swagger.client.TypeRef; -import io.swagger.client.model.*; - -import java.util.*; - import io.swagger.client.model.User; -import java.util.*; -import java.io.File; -import java.util.Map; -import java.util.HashMap; - -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-09-30T16:27:52.437+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-08T20:57:43.997+08:00") public class UserApi { private ApiClient apiClient; @@ -52,9 +43,9 @@ public class UserApi { String path = "/user".replaceAll("\\{format\\}","json"); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); @@ -91,7 +82,7 @@ public class UserApi { * @param body List of user object * @return void */ - public void createUsersWithArrayInput (List body) throws ApiException { + public void createUsersWithArrayInput (java.util.List body) throws ApiException { Object postBody = body; byte[] postBinaryBody = null; @@ -99,9 +90,9 @@ public class UserApi { String path = "/user/createWithArray".replaceAll("\\{format\\}","json"); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); @@ -138,7 +129,7 @@ public class UserApi { * @param body List of user object * @return void */ - public void createUsersWithListInput (List body) throws ApiException { + public void createUsersWithListInput (java.util.List body) throws ApiException { Object postBody = body; byte[] postBinaryBody = null; @@ -146,9 +137,9 @@ public class UserApi { String path = "/user/createWithList".replaceAll("\\{format\\}","json"); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); @@ -194,9 +185,9 @@ public class UserApi { String path = "/user/login".replaceAll("\\{format\\}","json"); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); queryParams.addAll(apiClient.parameterToPairs("", "username", username)); @@ -245,9 +236,9 @@ public class UserApi { String path = "/user/logout".replaceAll("\\{format\\}","json"); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); @@ -298,9 +289,9 @@ public class UserApi { .replaceAll("\\{" + "username" + "\\}", apiClient.escapeString(username.toString())); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); @@ -353,9 +344,9 @@ public class UserApi { .replaceAll("\\{" + "username" + "\\}", apiClient.escapeString(username.toString())); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); @@ -406,9 +397,9 @@ public class UserApi { .replaceAll("\\{" + "username" + "\\}", apiClient.escapeString(username.toString())); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); diff --git a/samples/client/petstore/java/default/src/main/java/io/swagger/client/model/Order.java b/samples/client/petstore/java/default/src/main/java/io/swagger/client/model/Order.java index b51be0c52e0..22320fbb39b 100644 --- a/samples/client/petstore/java/default/src/main/java/io/swagger/client/model/Order.java +++ b/samples/client/petstore/java/default/src/main/java/io/swagger/client/model/Order.java @@ -1,7 +1,6 @@ package io.swagger.client.model; import io.swagger.client.StringUtil; -import java.util.Date; @@ -10,13 +9,13 @@ import com.fasterxml.jackson.annotation.JsonProperty; @ApiModel(description = "") -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-09-30T16:27:52.437+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-08T20:57:43.997+08:00") public class Order { private Long id = null; private Long petId = null; private Integer quantity = null; - private Date shipDate = null; + private java.util.Date shipDate = null; public enum StatusEnum { PLACED("placed"), @@ -79,10 +78,10 @@ public enum StatusEnum { **/ @ApiModelProperty(value = "") @JsonProperty("shipDate") - public Date getShipDate() { + public java.util.Date getShipDate() { return shipDate; } - public void setShipDate(Date shipDate) { + public void setShipDate(java.util.Date shipDate) { this.shipDate = shipDate; } diff --git a/samples/client/petstore/java/default/src/main/java/io/swagger/client/model/Pet.java b/samples/client/petstore/java/default/src/main/java/io/swagger/client/model/Pet.java index aca4848ff98..fc0db631e60 100644 --- a/samples/client/petstore/java/default/src/main/java/io/swagger/client/model/Pet.java +++ b/samples/client/petstore/java/default/src/main/java/io/swagger/client/model/Pet.java @@ -3,7 +3,6 @@ package io.swagger.client.model; import io.swagger.client.StringUtil; import io.swagger.client.model.Category; import io.swagger.client.model.Tag; -import java.util.*; @@ -12,14 +11,14 @@ import com.fasterxml.jackson.annotation.JsonProperty; @ApiModel(description = "") -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-09-30T16:27:52.437+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-08T20:57:43.997+08:00") public class Pet { private Long id = null; private Category category = null; private String name = null; - private List photoUrls = new ArrayList(); - private List tags = new ArrayList(); + private java.util.List photoUrls = new java.util.ArrayList(); + private java.util.List tags = new java.util.ArrayList(); public enum StatusEnum { AVAILABLE("available"), @@ -81,10 +80,10 @@ public enum StatusEnum { **/ @ApiModelProperty(required = true, value = "") @JsonProperty("photoUrls") - public List getPhotoUrls() { + public java.util.List getPhotoUrls() { return photoUrls; } - public void setPhotoUrls(List photoUrls) { + public void setPhotoUrls(java.util.List photoUrls) { this.photoUrls = photoUrls; } @@ -93,10 +92,10 @@ public enum StatusEnum { **/ @ApiModelProperty(value = "") @JsonProperty("tags") - public List getTags() { + public java.util.List getTags() { return tags; } - public void setTags(List tags) { + public void setTags(java.util.List tags) { this.tags = tags; } diff --git a/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/api/PetApi.java b/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/api/PetApi.java index 26e0f275c8e..56c0b1e173c 100644 --- a/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/api/PetApi.java +++ b/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/api/PetApi.java @@ -8,16 +8,10 @@ import io.swagger.client.TypeRef; import io.swagger.client.model.*; -import java.util.*; - import io.swagger.client.model.Pet; import java.io.File; -import java.io.File; -import java.util.Map; -import java.util.HashMap; - -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-09-11T11:35:51.678+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-08T20:57:48.684+08:00") public class PetApi { private ApiClient apiClient; @@ -51,9 +45,9 @@ public class PetApi { String path = "/pet".replaceAll("\\{format\\}","json"); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); @@ -91,9 +85,9 @@ public class PetApi { String path = "/pet".replaceAll("\\{format\\}","json"); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); @@ -122,18 +116,18 @@ public class PetApi { * Finds Pets by status * Multiple status values can be provided with comma seperated strings * @param status Status values that need to be considered for filter - * @return List + * @return java.util.List */ - public List findPetsByStatus (List status) throws ApiException { + public java.util.List findPetsByStatus (java.util.List status) throws ApiException { Object postBody = null; // create path and map variables String path = "/pet/findByStatus".replaceAll("\\{format\\}","json"); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); queryParams.addAll(apiClient.parameterToPairs("multi", "status", status)); @@ -156,7 +150,7 @@ public class PetApi { String[] authNames = new String[] { "petstore_auth" }; - TypeRef returnType = new TypeRef>() {}; + TypeRef returnType = new TypeRef>() {}; return apiClient.invokeAPI(path, "GET", queryParams, postBody, headerParams, formParams, accept, contentType, authNames, returnType); } @@ -165,18 +159,18 @@ public class PetApi { * Finds Pets by tags * Muliple tags can be provided with comma seperated strings. Use tag1, tag2, tag3 for testing. * @param tags Tags to filter by - * @return List + * @return java.util.List */ - public List findPetsByTags (List tags) throws ApiException { + public java.util.List findPetsByTags (java.util.List tags) throws ApiException { Object postBody = null; // create path and map variables String path = "/pet/findByTags".replaceAll("\\{format\\}","json"); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); queryParams.addAll(apiClient.parameterToPairs("multi", "tags", tags)); @@ -199,7 +193,7 @@ public class PetApi { String[] authNames = new String[] { "petstore_auth" }; - TypeRef returnType = new TypeRef>() {}; + TypeRef returnType = new TypeRef>() {}; return apiClient.invokeAPI(path, "GET", queryParams, postBody, headerParams, formParams, accept, contentType, authNames, returnType); } @@ -223,9 +217,9 @@ public class PetApi { .replaceAll("\\{" + "petId" + "\\}", apiClient.escapeString(petId.toString())); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); @@ -272,9 +266,9 @@ public class PetApi { .replaceAll("\\{" + "petId" + "\\}", apiClient.escapeString(petId.toString())); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); @@ -323,9 +317,9 @@ public class PetApi { .replaceAll("\\{" + "petId" + "\\}", apiClient.escapeString(petId.toString())); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); @@ -373,9 +367,9 @@ public class PetApi { .replaceAll("\\{" + "petId" + "\\}", apiClient.escapeString(petId.toString())); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); diff --git a/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/api/StoreApi.java b/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/api/StoreApi.java index c95256c69aa..5f8a9fb13d8 100644 --- a/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/api/StoreApi.java +++ b/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/api/StoreApi.java @@ -8,16 +8,9 @@ import io.swagger.client.TypeRef; import io.swagger.client.model.*; -import java.util.*; - -import java.util.Map; import io.swagger.client.model.Order; -import java.io.File; -import java.util.Map; -import java.util.HashMap; - -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-09-11T11:35:51.678+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-08T20:57:48.684+08:00") public class StoreApi { private ApiClient apiClient; @@ -41,18 +34,18 @@ public class StoreApi { /** * Returns pet inventories by status * Returns a map of status codes to quantities - * @return Map + * @return java.util.Map */ - public Map getInventory () throws ApiException { + public java.util.Map getInventory () throws ApiException { Object postBody = null; // create path and map variables String path = "/store/inventory".replaceAll("\\{format\\}","json"); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); @@ -73,7 +66,7 @@ public class StoreApi { String[] authNames = new String[] { "api_key" }; - TypeRef returnType = new TypeRef>() {}; + TypeRef returnType = new TypeRef>() {}; return apiClient.invokeAPI(path, "GET", queryParams, postBody, headerParams, formParams, accept, contentType, authNames, returnType); } @@ -91,9 +84,9 @@ public class StoreApi { String path = "/store/order".replaceAll("\\{format\\}","json"); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); @@ -138,9 +131,9 @@ public class StoreApi { .replaceAll("\\{" + "orderId" + "\\}", apiClient.escapeString(orderId.toString())); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); @@ -185,9 +178,9 @@ public class StoreApi { .replaceAll("\\{" + "orderId" + "\\}", apiClient.escapeString(orderId.toString())); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); diff --git a/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/api/UserApi.java b/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/api/UserApi.java index 26c8d4b035f..36199161b16 100644 --- a/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/api/UserApi.java +++ b/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/api/UserApi.java @@ -8,16 +8,9 @@ import io.swagger.client.TypeRef; import io.swagger.client.model.*; -import java.util.*; - import io.swagger.client.model.User; -import java.util.*; -import java.io.File; -import java.util.Map; -import java.util.HashMap; - -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-09-11T11:35:51.678+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-08T20:57:48.684+08:00") public class UserApi { private ApiClient apiClient; @@ -51,9 +44,9 @@ public class UserApi { String path = "/user".replaceAll("\\{format\\}","json"); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); @@ -84,16 +77,16 @@ public class UserApi { * @param body List of user object * @return void */ - public void createUsersWithArrayInput (List body) throws ApiException { + public void createUsersWithArrayInput (java.util.List body) throws ApiException { Object postBody = body; // create path and map variables String path = "/user/createWithArray".replaceAll("\\{format\\}","json"); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); @@ -124,16 +117,16 @@ public class UserApi { * @param body List of user object * @return void */ - public void createUsersWithListInput (List body) throws ApiException { + public void createUsersWithListInput (java.util.List body) throws ApiException { Object postBody = body; // create path and map variables String path = "/user/createWithList".replaceAll("\\{format\\}","json"); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); @@ -172,9 +165,9 @@ public class UserApi { String path = "/user/login".replaceAll("\\{format\\}","json"); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); queryParams.addAll(apiClient.parameterToPairs("", "username", username)); @@ -216,9 +209,9 @@ public class UserApi { String path = "/user/logout".replaceAll("\\{format\\}","json"); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); @@ -262,9 +255,9 @@ public class UserApi { .replaceAll("\\{" + "username" + "\\}", apiClient.escapeString(username.toString())); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); @@ -310,9 +303,9 @@ public class UserApi { .replaceAll("\\{" + "username" + "\\}", apiClient.escapeString(username.toString())); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); @@ -356,9 +349,9 @@ public class UserApi { .replaceAll("\\{" + "username" + "\\}", apiClient.escapeString(username.toString())); // query params - List queryParams = new ArrayList(); - Map headerParams = new HashMap(); - Map formParams = new HashMap(); + java.util.List queryParams = new java.util.ArrayList(); + java.util.Map headerParams = new java.util.HashMap(); + java.util.Map formParams = new java.util.HashMap(); diff --git a/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/model/Order.java b/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/model/Order.java index 868c59a783d..5b952459dde 100644 --- a/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/model/Order.java +++ b/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/model/Order.java @@ -1,7 +1,6 @@ package io.swagger.client.model; import io.swagger.client.StringUtil; -import java.util.Date; @@ -10,16 +9,18 @@ import com.fasterxml.jackson.annotation.JsonProperty; @ApiModel(description = "") -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-09-11T11:35:51.678+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-08T20:57:48.684+08:00") public class Order { private Long id = null; private Long petId = null; private Integer quantity = null; - private Date shipDate = null; + private java.util.Date shipDate = null; public enum StatusEnum { - PLACED("placed"), APPROVED("approved"), DELIVERED("delivered"); + PLACED("placed"), + APPROVED("approved"), + DELIVERED("delivered"); private String value; @@ -77,10 +78,10 @@ public enum StatusEnum { **/ @ApiModelProperty(value = "") @JsonProperty("shipDate") - public Date getShipDate() { + public java.util.Date getShipDate() { return shipDate; } - public void setShipDate(Date shipDate) { + public void setShipDate(java.util.Date shipDate) { this.shipDate = shipDate; } diff --git a/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/model/Pet.java b/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/model/Pet.java index 2a4a0b6c93d..1e205686fd4 100644 --- a/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/model/Pet.java +++ b/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/model/Pet.java @@ -2,7 +2,6 @@ package io.swagger.client.model; import io.swagger.client.StringUtil; import io.swagger.client.model.Category; -import java.util.*; import io.swagger.client.model.Tag; @@ -12,17 +11,19 @@ import com.fasterxml.jackson.annotation.JsonProperty; @ApiModel(description = "") -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-09-11T11:35:51.678+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-08T20:57:48.684+08:00") public class Pet { private Long id = null; private Category category = null; private String name = null; - private List photoUrls = new ArrayList(); - private List tags = new ArrayList(); + private java.util.List photoUrls = new java.util.ArrayList(); + private java.util.List tags = new java.util.ArrayList(); public enum StatusEnum { - AVAILABLE("available"), PENDING("pending"), SOLD("sold"); + AVAILABLE("available"), + PENDING("pending"), + SOLD("sold"); private String value; @@ -79,10 +80,10 @@ public enum StatusEnum { **/ @ApiModelProperty(required = true, value = "") @JsonProperty("photoUrls") - public List getPhotoUrls() { + public java.util.List getPhotoUrls() { return photoUrls; } - public void setPhotoUrls(List photoUrls) { + public void setPhotoUrls(java.util.List photoUrls) { this.photoUrls = photoUrls; } @@ -91,10 +92,10 @@ public enum StatusEnum { **/ @ApiModelProperty(value = "") @JsonProperty("tags") - public List getTags() { + public java.util.List getTags() { return tags; } - public void setTags(List tags) { + public void setTags(java.util.List tags) { this.tags = tags; } diff --git a/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/api/PetApi.java b/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/api/PetApi.java index debe576dc9d..78bde833079 100644 --- a/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/api/PetApi.java +++ b/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/api/PetApi.java @@ -14,15 +14,9 @@ import com.squareup.okhttp.Call; import java.lang.reflect.Type; -import java.util.*; - import io.swagger.client.model.Pet; import java.io.File; -import java.io.File; -import java.util.Map; -import java.util.HashMap; - public class PetApi { private ApiClient apiClient; @@ -51,11 +45,11 @@ public class PetApi { // create path and map variables String path = "/pet".replaceAll("\\{format\\}","json"); - List queryParams = new ArrayList(); + java.util.List queryParams = new java.util.ArrayList(); - Map headerParams = new HashMap(); + java.util.Map headerParams = new java.util.HashMap(); - Map formParams = new HashMap(); + java.util.Map formParams = new java.util.HashMap(); final String[] accepts = { "application/json", "application/xml" @@ -104,11 +98,11 @@ public class PetApi { // create path and map variables String path = "/pet".replaceAll("\\{format\\}","json"); - List queryParams = new ArrayList(); + java.util.List queryParams = new java.util.ArrayList(); - Map headerParams = new HashMap(); + java.util.Map headerParams = new java.util.HashMap(); - Map formParams = new HashMap(); + java.util.Map formParams = new java.util.HashMap(); final String[] accepts = { "application/json", "application/xml" @@ -150,20 +144,20 @@ public class PetApi { } /* Build call for findPetsByStatus */ - private Call findPetsByStatusCall(List status) throws ApiException { + private Call findPetsByStatusCall(java.util.List status) throws ApiException { Object postBody = null; // create path and map variables String path = "/pet/findByStatus".replaceAll("\\{format\\}","json"); - List queryParams = new ArrayList(); + java.util.List queryParams = new java.util.ArrayList(); if (status != null) queryParams.addAll(apiClient.parameterToPairs("multi", "status", status)); - Map headerParams = new HashMap(); + java.util.Map headerParams = new java.util.HashMap(); - Map formParams = new HashMap(); + java.util.Map formParams = new java.util.HashMap(); final String[] accepts = { "application/json", "application/xml" @@ -185,11 +179,11 @@ public class PetApi { * Finds Pets by status * Multiple status values can be provided with comma seperated strings * @param status Status values that need to be considered for filter - * @return List + * @return java.util.List */ - public List findPetsByStatus(List status) throws ApiException { + public java.util.List findPetsByStatus(java.util.List status) throws ApiException { Call call = findPetsByStatusCall(status); - Type returnType = new TypeToken>(){}.getType(); + Type returnType = new TypeToken>(){}.getType(); return apiClient.execute(call, returnType); } @@ -200,28 +194,28 @@ public class PetApi { * @param callback The callback to be executed when the API call finishes * @return The request call */ - public Call findPetsByStatusAsync(List status, ApiCallback> callback) throws ApiException { + public Call findPetsByStatusAsync(java.util.List status, ApiCallback> callback) throws ApiException { Call call = findPetsByStatusCall(status); - Type returnType = new TypeToken>(){}.getType(); + Type returnType = new TypeToken>(){}.getType(); apiClient.executeAsync(call, returnType, callback); return call; } /* Build call for findPetsByTags */ - private Call findPetsByTagsCall(List tags) throws ApiException { + private Call findPetsByTagsCall(java.util.List tags) throws ApiException { Object postBody = null; // create path and map variables String path = "/pet/findByTags".replaceAll("\\{format\\}","json"); - List queryParams = new ArrayList(); + java.util.List queryParams = new java.util.ArrayList(); if (tags != null) queryParams.addAll(apiClient.parameterToPairs("multi", "tags", tags)); - Map headerParams = new HashMap(); + java.util.Map headerParams = new java.util.HashMap(); - Map formParams = new HashMap(); + java.util.Map formParams = new java.util.HashMap(); final String[] accepts = { "application/json", "application/xml" @@ -243,11 +237,11 @@ public class PetApi { * Finds Pets by tags * Muliple tags can be provided with comma seperated strings. Use tag1, tag2, tag3 for testing. * @param tags Tags to filter by - * @return List + * @return java.util.List */ - public List findPetsByTags(List tags) throws ApiException { + public java.util.List findPetsByTags(java.util.List tags) throws ApiException { Call call = findPetsByTagsCall(tags); - Type returnType = new TypeToken>(){}.getType(); + Type returnType = new TypeToken>(){}.getType(); return apiClient.execute(call, returnType); } @@ -258,9 +252,9 @@ public class PetApi { * @param callback The callback to be executed when the API call finishes * @return The request call */ - public Call findPetsByTagsAsync(List tags, ApiCallback> callback) throws ApiException { + public Call findPetsByTagsAsync(java.util.List tags, ApiCallback> callback) throws ApiException { Call call = findPetsByTagsCall(tags); - Type returnType = new TypeToken>(){}.getType(); + Type returnType = new TypeToken>(){}.getType(); apiClient.executeAsync(call, returnType, callback); return call; } @@ -279,11 +273,11 @@ public class PetApi { String path = "/pet/{petId}".replaceAll("\\{format\\}","json") .replaceAll("\\{" + "petId" + "\\}", apiClient.escapeString(petId.toString())); - List queryParams = new ArrayList(); + java.util.List queryParams = new java.util.ArrayList(); - Map headerParams = new HashMap(); + java.util.Map headerParams = new java.util.HashMap(); - Map formParams = new HashMap(); + java.util.Map formParams = new java.util.HashMap(); final String[] accepts = { "application/json", "application/xml" @@ -341,11 +335,11 @@ public class PetApi { String path = "/pet/{petId}".replaceAll("\\{format\\}","json") .replaceAll("\\{" + "petId" + "\\}", apiClient.escapeString(petId.toString())); - List queryParams = new ArrayList(); + java.util.List queryParams = new java.util.ArrayList(); - Map headerParams = new HashMap(); + java.util.Map headerParams = new java.util.HashMap(); - Map formParams = new HashMap(); + java.util.Map formParams = new java.util.HashMap(); if (name != null) formParams.put("name", name); if (status != null) @@ -408,13 +402,13 @@ public class PetApi { String path = "/pet/{petId}".replaceAll("\\{format\\}","json") .replaceAll("\\{" + "petId" + "\\}", apiClient.escapeString(petId.toString())); - List queryParams = new ArrayList(); + java.util.List queryParams = new java.util.ArrayList(); - Map headerParams = new HashMap(); + java.util.Map headerParams = new java.util.HashMap(); if (apiKey != null) headerParams.put("api_key", apiClient.parameterToString(apiKey)); - Map formParams = new HashMap(); + java.util.Map formParams = new java.util.HashMap(); final String[] accepts = { "application/json", "application/xml" @@ -471,11 +465,11 @@ public class PetApi { String path = "/pet/{petId}/uploadImage".replaceAll("\\{format\\}","json") .replaceAll("\\{" + "petId" + "\\}", apiClient.escapeString(petId.toString())); - List queryParams = new ArrayList(); + java.util.List queryParams = new java.util.ArrayList(); - Map headerParams = new HashMap(); + java.util.Map headerParams = new java.util.HashMap(); - Map formParams = new HashMap(); + java.util.Map formParams = new java.util.HashMap(); if (additionalMetadata != null) formParams.put("additionalMetadata", additionalMetadata); if (file != null) diff --git a/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/api/StoreApi.java b/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/api/StoreApi.java index a3fb14bb521..ff7f02ecf56 100644 --- a/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/api/StoreApi.java +++ b/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/api/StoreApi.java @@ -14,15 +14,8 @@ import com.squareup.okhttp.Call; import java.lang.reflect.Type; -import java.util.*; - -import java.util.Map; import io.swagger.client.model.Order; -import java.io.File; -import java.util.Map; -import java.util.HashMap; - public class StoreApi { private ApiClient apiClient; @@ -51,11 +44,11 @@ public class StoreApi { // create path and map variables String path = "/store/inventory".replaceAll("\\{format\\}","json"); - List queryParams = new ArrayList(); + java.util.List queryParams = new java.util.ArrayList(); - Map headerParams = new HashMap(); + java.util.Map headerParams = new java.util.HashMap(); - Map formParams = new HashMap(); + java.util.Map formParams = new java.util.HashMap(); final String[] accepts = { "application/json", "application/xml" @@ -76,11 +69,11 @@ public class StoreApi { /** * Returns pet inventories by status * Returns a map of status codes to quantities - * @return Map + * @return java.util.Map */ - public Map getInventory() throws ApiException { + public java.util.Map getInventory() throws ApiException { Call call = getInventoryCall(); - Type returnType = new TypeToken>(){}.getType(); + Type returnType = new TypeToken>(){}.getType(); return apiClient.execute(call, returnType); } @@ -90,9 +83,9 @@ public class StoreApi { * @param callback The callback to be executed when the API call finishes * @return The request call */ - public Call getInventoryAsync(ApiCallback> callback) throws ApiException { + public Call getInventoryAsync(ApiCallback> callback) throws ApiException { Call call = getInventoryCall(); - Type returnType = new TypeToken>(){}.getType(); + Type returnType = new TypeToken>(){}.getType(); apiClient.executeAsync(call, returnType, callback); return call; } @@ -105,11 +98,11 @@ public class StoreApi { // create path and map variables String path = "/store/order".replaceAll("\\{format\\}","json"); - List queryParams = new ArrayList(); + java.util.List queryParams = new java.util.ArrayList(); - Map headerParams = new HashMap(); + java.util.Map headerParams = new java.util.HashMap(); - Map formParams = new HashMap(); + java.util.Map formParams = new java.util.HashMap(); final String[] accepts = { "application/json", "application/xml" @@ -167,11 +160,11 @@ public class StoreApi { String path = "/store/order/{orderId}".replaceAll("\\{format\\}","json") .replaceAll("\\{" + "orderId" + "\\}", apiClient.escapeString(orderId.toString())); - List queryParams = new ArrayList(); + java.util.List queryParams = new java.util.ArrayList(); - Map headerParams = new HashMap(); + java.util.Map headerParams = new java.util.HashMap(); - Map formParams = new HashMap(); + java.util.Map formParams = new java.util.HashMap(); final String[] accepts = { "application/json", "application/xml" @@ -229,11 +222,11 @@ public class StoreApi { String path = "/store/order/{orderId}".replaceAll("\\{format\\}","json") .replaceAll("\\{" + "orderId" + "\\}", apiClient.escapeString(orderId.toString())); - List queryParams = new ArrayList(); + java.util.List queryParams = new java.util.ArrayList(); - Map headerParams = new HashMap(); + java.util.Map headerParams = new java.util.HashMap(); - Map formParams = new HashMap(); + java.util.Map formParams = new java.util.HashMap(); final String[] accepts = { "application/json", "application/xml" diff --git a/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/api/UserApi.java b/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/api/UserApi.java index ce1bae64a46..dccd7003b2b 100644 --- a/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/api/UserApi.java +++ b/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/api/UserApi.java @@ -14,14 +14,7 @@ import com.squareup.okhttp.Call; import java.lang.reflect.Type; -import java.util.*; - import io.swagger.client.model.User; -import java.util.*; - -import java.io.File; -import java.util.Map; -import java.util.HashMap; public class UserApi { private ApiClient apiClient; @@ -51,11 +44,11 @@ public class UserApi { // create path and map variables String path = "/user".replaceAll("\\{format\\}","json"); - List queryParams = new ArrayList(); + java.util.List queryParams = new java.util.ArrayList(); - Map headerParams = new HashMap(); + java.util.Map headerParams = new java.util.HashMap(); - Map formParams = new HashMap(); + java.util.Map formParams = new java.util.HashMap(); final String[] accepts = { "application/json", "application/xml" @@ -97,18 +90,18 @@ public class UserApi { } /* Build call for createUsersWithArrayInput */ - private Call createUsersWithArrayInputCall(List body) throws ApiException { + private Call createUsersWithArrayInputCall(java.util.List body) throws ApiException { Object postBody = body; // create path and map variables String path = "/user/createWithArray".replaceAll("\\{format\\}","json"); - List queryParams = new ArrayList(); + java.util.List queryParams = new java.util.ArrayList(); - Map headerParams = new HashMap(); + java.util.Map headerParams = new java.util.HashMap(); - Map formParams = new HashMap(); + java.util.Map formParams = new java.util.HashMap(); final String[] accepts = { "application/json", "application/xml" @@ -131,7 +124,7 @@ public class UserApi { * * @param body List of user object */ - public void createUsersWithArrayInput(List body) throws ApiException { + public void createUsersWithArrayInput(java.util.List body) throws ApiException { Call call = createUsersWithArrayInputCall(body); apiClient.execute(call); } @@ -143,25 +136,25 @@ public class UserApi { * @param callback The callback to be executed when the API call finishes * @return The request call */ - public Call createUsersWithArrayInputAsync(List body, ApiCallback callback) throws ApiException { + public Call createUsersWithArrayInputAsync(java.util.List body, ApiCallback callback) throws ApiException { Call call = createUsersWithArrayInputCall(body); apiClient.executeAsync(call, callback); return call; } /* Build call for createUsersWithListInput */ - private Call createUsersWithListInputCall(List body) throws ApiException { + private Call createUsersWithListInputCall(java.util.List body) throws ApiException { Object postBody = body; // create path and map variables String path = "/user/createWithList".replaceAll("\\{format\\}","json"); - List queryParams = new ArrayList(); + java.util.List queryParams = new java.util.ArrayList(); - Map headerParams = new HashMap(); + java.util.Map headerParams = new java.util.HashMap(); - Map formParams = new HashMap(); + java.util.Map formParams = new java.util.HashMap(); final String[] accepts = { "application/json", "application/xml" @@ -184,7 +177,7 @@ public class UserApi { * * @param body List of user object */ - public void createUsersWithListInput(List body) throws ApiException { + public void createUsersWithListInput(java.util.List body) throws ApiException { Call call = createUsersWithListInputCall(body); apiClient.execute(call); } @@ -196,7 +189,7 @@ public class UserApi { * @param callback The callback to be executed when the API call finishes * @return The request call */ - public Call createUsersWithListInputAsync(List body, ApiCallback callback) throws ApiException { + public Call createUsersWithListInputAsync(java.util.List body, ApiCallback callback) throws ApiException { Call call = createUsersWithListInputCall(body); apiClient.executeAsync(call, callback); return call; @@ -210,15 +203,15 @@ public class UserApi { // create path and map variables String path = "/user/login".replaceAll("\\{format\\}","json"); - List queryParams = new ArrayList(); + java.util.List queryParams = new java.util.ArrayList(); if (username != null) queryParams.addAll(apiClient.parameterToPairs("", "username", username)); if (password != null) queryParams.addAll(apiClient.parameterToPairs("", "password", password)); - Map headerParams = new HashMap(); + java.util.Map headerParams = new java.util.HashMap(); - Map formParams = new HashMap(); + java.util.Map formParams = new java.util.HashMap(); final String[] accepts = { "application/json", "application/xml" @@ -272,11 +265,11 @@ public class UserApi { // create path and map variables String path = "/user/logout".replaceAll("\\{format\\}","json"); - List queryParams = new ArrayList(); + java.util.List queryParams = new java.util.ArrayList(); - Map headerParams = new HashMap(); + java.util.Map headerParams = new java.util.HashMap(); - Map formParams = new HashMap(); + java.util.Map formParams = new java.util.HashMap(); final String[] accepts = { "application/json", "application/xml" @@ -329,11 +322,11 @@ public class UserApi { String path = "/user/{username}".replaceAll("\\{format\\}","json") .replaceAll("\\{" + "username" + "\\}", apiClient.escapeString(username.toString())); - List queryParams = new ArrayList(); + java.util.List queryParams = new java.util.ArrayList(); - Map headerParams = new HashMap(); + java.util.Map headerParams = new java.util.HashMap(); - Map formParams = new HashMap(); + java.util.Map formParams = new java.util.HashMap(); final String[] accepts = { "application/json", "application/xml" @@ -391,11 +384,11 @@ public class UserApi { String path = "/user/{username}".replaceAll("\\{format\\}","json") .replaceAll("\\{" + "username" + "\\}", apiClient.escapeString(username.toString())); - List queryParams = new ArrayList(); + java.util.List queryParams = new java.util.ArrayList(); - Map headerParams = new HashMap(); + java.util.Map headerParams = new java.util.HashMap(); - Map formParams = new HashMap(); + java.util.Map formParams = new java.util.HashMap(); final String[] accepts = { "application/json", "application/xml" @@ -452,11 +445,11 @@ public class UserApi { String path = "/user/{username}".replaceAll("\\{format\\}","json") .replaceAll("\\{" + "username" + "\\}", apiClient.escapeString(username.toString())); - List queryParams = new ArrayList(); + java.util.List queryParams = new java.util.ArrayList(); - Map headerParams = new HashMap(); + java.util.Map headerParams = new java.util.HashMap(); - Map formParams = new HashMap(); + java.util.Map formParams = new java.util.HashMap(); final String[] accepts = { "application/json", "application/xml" diff --git a/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/model/Order.java b/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/model/Order.java index df8e77b6fb3..57c9f791e97 100644 --- a/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/model/Order.java +++ b/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/model/Order.java @@ -1,7 +1,6 @@ package io.swagger.client.model; import io.swagger.client.StringUtil; -import java.util.Date; import com.google.gson.annotations.SerializedName; @@ -24,7 +23,7 @@ public class Order { private Integer quantity = null; @SerializedName("shipDate") - private Date shipDate = null; + private java.util.Date shipDate = null; public enum StatusEnum { @@ -93,10 +92,10 @@ public enum StatusEnum { /** **/ @ApiModelProperty(value = "") - public Date getShipDate() { + public java.util.Date getShipDate() { return shipDate; } - public void setShipDate(Date shipDate) { + public void setShipDate(java.util.Date shipDate) { this.shipDate = shipDate; } diff --git a/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/model/Pet.java b/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/model/Pet.java index 9ab5457e26a..4b214d56c01 100644 --- a/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/model/Pet.java +++ b/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/model/Pet.java @@ -2,7 +2,6 @@ package io.swagger.client.model; import io.swagger.client.StringUtil; import io.swagger.client.model.Category; -import java.util.*; import io.swagger.client.model.Tag; import com.google.gson.annotations.SerializedName; @@ -26,10 +25,10 @@ public class Pet { private String name = null; @SerializedName("photoUrls") - private List photoUrls = new ArrayList(); + private java.util.List photoUrls = new java.util.ArrayList(); @SerializedName("tags") - private List tags = new ArrayList(); + private java.util.List tags = new java.util.ArrayList(); public enum StatusEnum { @@ -95,10 +94,10 @@ public enum StatusEnum { /** **/ @ApiModelProperty(required = true, value = "") - public List getPhotoUrls() { + public java.util.List getPhotoUrls() { return photoUrls; } - public void setPhotoUrls(List photoUrls) { + public void setPhotoUrls(java.util.List photoUrls) { this.photoUrls = photoUrls; } @@ -106,10 +105,10 @@ public enum StatusEnum { /** **/ @ApiModelProperty(value = "") - public List getTags() { + public java.util.List getTags() { return tags; } - public void setTags(List tags) { + public void setTags(java.util.List tags) { this.tags = tags; } diff --git a/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/PetApi.java b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/PetApi.java index cd4dbe866a5..568e17b6cfc 100644 --- a/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/PetApi.java +++ b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/PetApi.java @@ -5,7 +5,6 @@ import io.swagger.client.model.*; import retrofit.Callback; import retrofit.http.*; import retrofit.mime.*; -import java.util.*; import io.swagger.client.model.Pet; import java.io.File; @@ -20,7 +19,7 @@ public interface PetApi { * @return Void */ - @PUT("/pet") + @PUT("/pet") Void updatePet( @Body Pet body ); @@ -29,14 +28,14 @@ public interface PetApi { * Update an existing pet * Async method * @param body Pet object that needs to be added to the store - * @param cb callback method + * @param cb callback method * @return void */ - @PUT("/pet") + @PUT("/pet") void updatePet( @Body Pet body, Callback cb - ); + ); /** * Add a new pet to the store @@ -46,7 +45,7 @@ public interface PetApi { * @return Void */ - @POST("/pet") + @POST("/pet") Void addPet( @Body Pet body ); @@ -55,66 +54,66 @@ public interface PetApi { * Add a new pet to the store * Async method * @param body Pet object that needs to be added to the store - * @param cb callback method + * @param cb callback method * @return void */ - @POST("/pet") + @POST("/pet") void addPet( @Body Pet body, Callback cb - ); + ); /** * Finds Pets by status * Sync method * Multiple status values can be provided with comma seperated strings * @param status Status values that need to be considered for filter - * @return List + * @return java.util.List */ - @GET("/pet/findByStatus") - List findPetsByStatus( - @Query("status") List status + @GET("/pet/findByStatus") + java.util.List findPetsByStatus( + @Query("status") java.util.List status ); /** * Finds Pets by status * Async method * @param status Status values that need to be considered for filter - * @param cb callback method + * @param cb callback method * @return void */ - @GET("/pet/findByStatus") + @GET("/pet/findByStatus") void findPetsByStatus( - @Query("status") List status, Callback> cb - ); + @Query("status") java.util.List status, Callback> cb + ); /** * Finds Pets by tags * Sync method * Muliple tags can be provided with comma seperated strings. Use tag1, tag2, tag3 for testing. * @param tags Tags to filter by - * @return List + * @return java.util.List */ - @GET("/pet/findByTags") - List findPetsByTags( - @Query("tags") List tags + @GET("/pet/findByTags") + java.util.List findPetsByTags( + @Query("tags") java.util.List tags ); /** * Finds Pets by tags * Async method * @param tags Tags to filter by - * @param cb callback method + * @param cb callback method * @return void */ - @GET("/pet/findByTags") + @GET("/pet/findByTags") void findPetsByTags( - @Query("tags") List tags, Callback> cb - ); + @Query("tags") java.util.List tags, Callback> cb + ); /** * Find pet by ID @@ -124,7 +123,7 @@ public interface PetApi { * @return Pet */ - @GET("/pet/{petId}") + @GET("/pet/{petId}") Pet getPetById( @Path("petId") Long petId ); @@ -133,14 +132,14 @@ public interface PetApi { * Find pet by ID * Async method * @param petId ID of pet that needs to be fetched - * @param cb callback method + * @param cb callback method * @return void */ - @GET("/pet/{petId}") + @GET("/pet/{petId}") void getPetById( @Path("petId") Long petId, Callback cb - ); + ); /** * Updates a pet in the store with form data @@ -153,7 +152,7 @@ public interface PetApi { */ @FormUrlEncoded - @POST("/pet/{petId}") + @POST("/pet/{petId}") Void updatePetWithForm( @Path("petId") String petId, @Field("name") String name, @Field("status") String status ); @@ -164,15 +163,15 @@ public interface PetApi { * @param petId ID of pet that needs to be updated * @param name Updated name of the pet * @param status Updated status of the pet - * @param cb callback method + * @param cb callback method * @return void */ @FormUrlEncoded - @POST("/pet/{petId}") + @POST("/pet/{petId}") void updatePetWithForm( @Path("petId") String petId, @Field("name") String name, @Field("status") String status, Callback cb - ); + ); /** * Deletes a pet @@ -183,7 +182,7 @@ public interface PetApi { * @return Void */ - @DELETE("/pet/{petId}") + @DELETE("/pet/{petId}") Void deletePet( @Path("petId") Long petId, @Header("api_key") String apiKey ); @@ -193,14 +192,14 @@ public interface PetApi { * Async method * @param petId Pet id to delete * @param apiKey - * @param cb callback method + * @param cb callback method * @return void */ - @DELETE("/pet/{petId}") + @DELETE("/pet/{petId}") void deletePet( @Path("petId") Long petId, @Header("api_key") String apiKey, Callback cb - ); + ); /** * uploads an image @@ -213,7 +212,7 @@ public interface PetApi { */ @Multipart - @POST("/pet/{petId}/uploadImage") + @POST("/pet/{petId}/uploadImage") Void uploadFile( @Path("petId") Long petId, @Part("additionalMetadata") String additionalMetadata, @Part("file") TypedFile file ); @@ -224,14 +223,14 @@ public interface PetApi { * @param petId ID of pet to update * @param additionalMetadata Additional data to pass to server * @param file file to upload - * @param cb callback method + * @param cb callback method * @return void */ @Multipart - @POST("/pet/{petId}/uploadImage") + @POST("/pet/{petId}/uploadImage") void uploadFile( @Path("petId") Long petId, @Part("additionalMetadata") String additionalMetadata, @Part("file") TypedFile file, Callback cb - ); + ); } diff --git a/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/StoreApi.java b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/StoreApi.java index 1c0a8291d02..ce9e9456859 100644 --- a/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/StoreApi.java +++ b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/StoreApi.java @@ -5,9 +5,7 @@ import io.swagger.client.model.*; import retrofit.Callback; import retrofit.http.*; import retrofit.mime.*; -import java.util.*; -import java.util.Map; import io.swagger.client.model.Order; public interface StoreApi { @@ -16,24 +14,24 @@ public interface StoreApi { * Returns pet inventories by status * Sync method * Returns a map of status codes to quantities - * @return Map + * @return java.util.Map */ - @GET("/store/inventory") - Map getInventory(); + @GET("/store/inventory") + java.util.Map getInventory(); /** * Returns pet inventories by status * Async method - * @param cb callback method + * @param cb callback method * @return void */ - @GET("/store/inventory") + @GET("/store/inventory") void getInventory( - Callback> cb - ); + Callback> cb + ); /** * Place an order for a pet @@ -43,7 +41,7 @@ public interface StoreApi { * @return Order */ - @POST("/store/order") + @POST("/store/order") Order placeOrder( @Body Order body ); @@ -52,14 +50,14 @@ public interface StoreApi { * Place an order for a pet * Async method * @param body order placed for purchasing the pet - * @param cb callback method + * @param cb callback method * @return void */ - @POST("/store/order") + @POST("/store/order") void placeOrder( @Body Order body, Callback cb - ); + ); /** * Find purchase order by ID @@ -69,7 +67,7 @@ public interface StoreApi { * @return Order */ - @GET("/store/order/{orderId}") + @GET("/store/order/{orderId}") Order getOrderById( @Path("orderId") String orderId ); @@ -78,14 +76,14 @@ public interface StoreApi { * Find purchase order by ID * Async method * @param orderId ID of pet that needs to be fetched - * @param cb callback method + * @param cb callback method * @return void */ - @GET("/store/order/{orderId}") + @GET("/store/order/{orderId}") void getOrderById( @Path("orderId") String orderId, Callback cb - ); + ); /** * Delete purchase order by ID @@ -95,7 +93,7 @@ public interface StoreApi { * @return Void */ - @DELETE("/store/order/{orderId}") + @DELETE("/store/order/{orderId}") Void deleteOrder( @Path("orderId") String orderId ); @@ -104,13 +102,13 @@ public interface StoreApi { * Delete purchase order by ID * Async method * @param orderId ID of the order that needs to be deleted - * @param cb callback method + * @param cb callback method * @return void */ - @DELETE("/store/order/{orderId}") + @DELETE("/store/order/{orderId}") void deleteOrder( @Path("orderId") String orderId, Callback cb - ); + ); } diff --git a/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/UserApi.java b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/UserApi.java index 162222bc0f1..57b8f66f427 100644 --- a/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/UserApi.java +++ b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/UserApi.java @@ -5,10 +5,8 @@ import io.swagger.client.model.*; import retrofit.Callback; import retrofit.http.*; import retrofit.mime.*; -import java.util.*; import io.swagger.client.model.User; -import java.util.*; public interface UserApi { @@ -20,7 +18,7 @@ public interface UserApi { * @return Void */ - @POST("/user") + @POST("/user") Void createUser( @Body User body ); @@ -29,14 +27,14 @@ public interface UserApi { * Create user * Async method * @param body Created user object - * @param cb callback method + * @param cb callback method * @return void */ - @POST("/user") + @POST("/user") void createUser( @Body User body, Callback cb - ); + ); /** * Creates list of users with given input array @@ -46,23 +44,23 @@ public interface UserApi { * @return Void */ - @POST("/user/createWithArray") + @POST("/user/createWithArray") Void createUsersWithArrayInput( - @Body List body + @Body java.util.List body ); /** * Creates list of users with given input array * Async method * @param body List of user object - * @param cb callback method + * @param cb callback method * @return void */ - @POST("/user/createWithArray") + @POST("/user/createWithArray") void createUsersWithArrayInput( - @Body List body, Callback cb - ); + @Body java.util.List body, Callback cb + ); /** * Creates list of users with given input array @@ -72,23 +70,23 @@ public interface UserApi { * @return Void */ - @POST("/user/createWithList") + @POST("/user/createWithList") Void createUsersWithListInput( - @Body List body + @Body java.util.List body ); /** * Creates list of users with given input array * Async method * @param body List of user object - * @param cb callback method + * @param cb callback method * @return void */ - @POST("/user/createWithList") + @POST("/user/createWithList") void createUsersWithListInput( - @Body List body, Callback cb - ); + @Body java.util.List body, Callback cb + ); /** * Logs user into the system @@ -99,7 +97,7 @@ public interface UserApi { * @return String */ - @GET("/user/login") + @GET("/user/login") String loginUser( @Query("username") String username, @Query("password") String password ); @@ -109,14 +107,14 @@ public interface UserApi { * Async method * @param username The user name for login * @param password The password for login in clear text - * @param cb callback method + * @param cb callback method * @return void */ - @GET("/user/login") + @GET("/user/login") void loginUser( @Query("username") String username, @Query("password") String password, Callback cb - ); + ); /** * Logs out current logged in user session @@ -125,21 +123,21 @@ public interface UserApi { * @return Void */ - @GET("/user/logout") + @GET("/user/logout") Void logoutUser(); /** * Logs out current logged in user session * Async method - * @param cb callback method + * @param cb callback method * @return void */ - @GET("/user/logout") + @GET("/user/logout") void logoutUser( Callback cb - ); + ); /** * Get user by user name @@ -149,7 +147,7 @@ public interface UserApi { * @return User */ - @GET("/user/{username}") + @GET("/user/{username}") User getUserByName( @Path("username") String username ); @@ -158,14 +156,14 @@ public interface UserApi { * Get user by user name * Async method * @param username The name that needs to be fetched. Use user1 for testing. - * @param cb callback method + * @param cb callback method * @return void */ - @GET("/user/{username}") + @GET("/user/{username}") void getUserByName( @Path("username") String username, Callback cb - ); + ); /** * Updated user @@ -176,7 +174,7 @@ public interface UserApi { * @return Void */ - @PUT("/user/{username}") + @PUT("/user/{username}") Void updateUser( @Path("username") String username, @Body User body ); @@ -186,14 +184,14 @@ public interface UserApi { * Async method * @param username name that need to be deleted * @param body Updated user object - * @param cb callback method + * @param cb callback method * @return void */ - @PUT("/user/{username}") + @PUT("/user/{username}") void updateUser( @Path("username") String username, @Body User body, Callback cb - ); + ); /** * Delete user @@ -203,7 +201,7 @@ public interface UserApi { * @return Void */ - @DELETE("/user/{username}") + @DELETE("/user/{username}") Void deleteUser( @Path("username") String username ); @@ -212,13 +210,13 @@ public interface UserApi { * Delete user * Async method * @param username The name that needs to be deleted - * @param cb callback method + * @param cb callback method * @return void */ - @DELETE("/user/{username}") + @DELETE("/user/{username}") void deleteUser( @Path("username") String username, Callback cb - ); + ); } diff --git a/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/model/Order.java b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/model/Order.java index df8e77b6fb3..57c9f791e97 100644 --- a/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/model/Order.java +++ b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/model/Order.java @@ -1,7 +1,6 @@ package io.swagger.client.model; import io.swagger.client.StringUtil; -import java.util.Date; import com.google.gson.annotations.SerializedName; @@ -24,7 +23,7 @@ public class Order { private Integer quantity = null; @SerializedName("shipDate") - private Date shipDate = null; + private java.util.Date shipDate = null; public enum StatusEnum { @@ -93,10 +92,10 @@ public enum StatusEnum { /** **/ @ApiModelProperty(value = "") - public Date getShipDate() { + public java.util.Date getShipDate() { return shipDate; } - public void setShipDate(Date shipDate) { + public void setShipDate(java.util.Date shipDate) { this.shipDate = shipDate; } diff --git a/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/model/Pet.java b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/model/Pet.java index 9ab5457e26a..4b214d56c01 100644 --- a/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/model/Pet.java +++ b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/model/Pet.java @@ -2,7 +2,6 @@ package io.swagger.client.model; import io.swagger.client.StringUtil; import io.swagger.client.model.Category; -import java.util.*; import io.swagger.client.model.Tag; import com.google.gson.annotations.SerializedName; @@ -26,10 +25,10 @@ public class Pet { private String name = null; @SerializedName("photoUrls") - private List photoUrls = new ArrayList(); + private java.util.List photoUrls = new java.util.ArrayList(); @SerializedName("tags") - private List tags = new ArrayList(); + private java.util.List tags = new java.util.ArrayList(); public enum StatusEnum { @@ -95,10 +94,10 @@ public enum StatusEnum { /** **/ @ApiModelProperty(required = true, value = "") - public List getPhotoUrls() { + public java.util.List getPhotoUrls() { return photoUrls; } - public void setPhotoUrls(List photoUrls) { + public void setPhotoUrls(java.util.List photoUrls) { this.photoUrls = photoUrls; } @@ -106,10 +105,10 @@ public enum StatusEnum { /** **/ @ApiModelProperty(value = "") - public List getTags() { + public java.util.List getTags() { return tags; } - public void setTags(List tags) { + public void setTags(java.util.List tags) { this.tags = tags; } From aa0fbada0737839c7e62f8043d59b323be00bc1d Mon Sep 17 00:00:00 2001 From: xhh Date: Fri, 9 Oct 2015 22:07:43 +0800 Subject: [PATCH 03/28] Add a "fullJavaUtil" option to Java clients to toggle whether to use full qualified name (with full package prefix) for classes under java.util --- .../io/swagger/codegen/DefaultCodegen.java | 15 +++- .../codegen/languages/JavaClientCodegen.java | 49 +++++++++++- .../src/main/resources/Java/api.mustache | 10 ++- .../Java/libraries/jersey2/api.mustache | 12 +-- .../Java/libraries/okhttp-gson/api.mustache | 15 ++-- .../Java/libraries/retrofit/api.mustache | 6 +- .../java/io/swagger/client/api/PetApi.java | 64 +++++++-------- .../java/io/swagger/client/api/StoreApi.java | 35 ++++---- .../java/io/swagger/client/api/UserApi.java | 57 ++++++------- .../java/io/swagger/client/model/Order.java | 9 ++- .../java/io/swagger/client/model/Pet.java | 15 ++-- .../java/io/swagger/client/api/PetApi.java | 66 ++++++++-------- .../java/io/swagger/client/api/StoreApi.java | 37 ++++----- .../java/io/swagger/client/api/UserApi.java | 59 +++++++------- .../java/io/swagger/client/model/Order.java | 9 ++- .../java/io/swagger/client/model/Pet.java | 15 ++-- .../java/io/swagger/client/api/PetApi.java | 79 +++++++++---------- .../java/io/swagger/client/api/StoreApi.java | 42 +++++----- .../java/io/swagger/client/api/UserApi.java | 68 ++++++++-------- .../java/io/swagger/client/model/Order.java | 7 +- .../java/io/swagger/client/model/Pet.java | 13 +-- .../java/io/swagger/client/api/PetApi.java | 20 ++--- .../java/io/swagger/client/api/StoreApi.java | 11 +-- .../java/io/swagger/client/api/UserApi.java | 13 +-- .../java/io/swagger/client/model/Order.java | 7 +- .../java/io/swagger/client/model/Pet.java | 13 +-- 26 files changed, 412 insertions(+), 334 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 55868c0acaf..b5f544a749b 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 @@ -311,14 +311,15 @@ public class DefaultCodegen { ); typeMapping = new HashMap(); - typeMapping.put("array", "java.util.List"); - typeMapping.put("map", "java.util.Map"); + typeMapping.put("array", "List"); + typeMapping.put("map", "Map"); + typeMapping.put("List", "List"); typeMapping.put("boolean", "Boolean"); typeMapping.put("string", "String"); typeMapping.put("int", "Integer"); typeMapping.put("float", "Float"); typeMapping.put("number", "BigDecimal"); - typeMapping.put("DateTime", "java.util.Date"); + typeMapping.put("DateTime", "Date"); typeMapping.put("long", "Long"); typeMapping.put("short", "Short"); typeMapping.put("char", "String"); @@ -336,7 +337,15 @@ public class DefaultCodegen { importMapping.put("BigDecimal", "java.math.BigDecimal"); importMapping.put("UUID", "java.util.UUID"); importMapping.put("File", "java.io.File"); + importMapping.put("Date", "java.util.Date"); importMapping.put("Timestamp", "java.sql.Timestamp"); + importMapping.put("Map", "java.util.Map"); + importMapping.put("HashMap", "java.util.HashMap"); + importMapping.put("Array", "java.util.List"); + importMapping.put("ArrayList", "java.util.ArrayList"); + importMapping.put("List", "java.util.*"); + importMapping.put("Set", "java.util.*"); + importMapping.put("DateTime", "org.joda.time.*"); importMapping.put("LocalDateTime", "org.joda.time.*"); importMapping.put("LocalDate", "org.joda.time.*"); importMapping.put("LocalTime", "org.joda.time.*"); diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java index 1276c2dde6c..5d61f1b5932 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java @@ -37,6 +37,8 @@ public class JavaClientCodegen extends DefaultCodegen implements CodegenConfig { protected String artifactVersion = "1.0.0"; protected String sourceFolder = "src/main/java"; protected String localVariablePrefix = ""; + protected boolean fullJavaUtil = false; + protected String javaUtilPrefix = ""; protected Boolean serializableModel = false; public JavaClientCodegen() { @@ -71,8 +73,8 @@ public class JavaClientCodegen extends DefaultCodegen implements CodegenConfig { "Object", "byte[]") ); - instantiationTypes.put("array", "java.util.ArrayList"); - instantiationTypes.put("map", "java.util.HashMap"); + instantiationTypes.put("array", "ArrayList"); + instantiationTypes.put("map", "HashMap"); cliOptions.add(new CliOption(CodegenConstants.INVOKER_PACKAGE, CodegenConstants.INVOKER_PACKAGE_DESC)); cliOptions.add(new CliOption(CodegenConstants.GROUP_ID, CodegenConstants.GROUP_ID_DESC)); @@ -81,6 +83,7 @@ public class JavaClientCodegen extends DefaultCodegen implements CodegenConfig { cliOptions.add(new CliOption(CodegenConstants.SOURCE_FOLDER, CodegenConstants.SOURCE_FOLDER_DESC)); cliOptions.add(new CliOption(CodegenConstants.LOCAL_VARIABLE_PREFIX, CodegenConstants.LOCAL_VARIABLE_PREFIX_DESC)); cliOptions.add(new CliOption(CodegenConstants.SERIALIZABLE_MODEL, CodegenConstants.SERIALIZABLE_MODEL_DESC)); + cliOptions.add(new CliOption("fullJavaUtil", "whether to use full qualified name for classes under java.util (default to false)")); supportedLibraries.put("", "HTTP client: Jersey client 1.18. JSON processing: Jackson 2.4.2"); supportedLibraries.put("jersey2", "HTTP client: Jersey client 2.6"); @@ -152,6 +155,32 @@ public class JavaClientCodegen extends DefaultCodegen implements CodegenConfig { // need to put back serializableModel (boolean) into additionalProperties as value in additionalProperties is string additionalProperties.put(CodegenConstants.SERIALIZABLE_MODEL, serializableModel); + if (additionalProperties.containsKey("fullJavaUtil")) { + fullJavaUtil = Boolean.valueOf(additionalProperties.get("fullJavaUtil").toString()); + } + if (fullJavaUtil) { + javaUtilPrefix = "java.util."; + } + additionalProperties.put("fullJavaUtil", fullJavaUtil); + additionalProperties.put("javaUtilPrefix", javaUtilPrefix); + + if (fullJavaUtil) { + typeMapping.put("array", "java.util.List"); + typeMapping.put("map", "java.util.Map"); + typeMapping.put("DateTime", "java.util.Date"); + typeMapping.remove("List"); + importMapping.remove("Date"); + importMapping.remove("Map"); + importMapping.remove("HashMap"); + importMapping.remove("Array"); + importMapping.remove("ArrayList"); + importMapping.remove("List"); + importMapping.remove("Set"); + importMapping.remove("DateTime"); + instantiationTypes.put("array", "java.util.ArrayList"); + instantiationTypes.put("map", "java.util.HashMap"); + } + this.sanitizeConfig(); final String invokerFolder = (sourceFolder + File.separator + invokerPackage).replace(".", File.separator); @@ -294,10 +323,22 @@ public class JavaClientCodegen extends DefaultCodegen implements CodegenConfig { public String toDefaultValue(Property p) { if (p instanceof ArrayProperty) { final ArrayProperty ap = (ArrayProperty) p; - return String.format("new java.util.ArrayList<%s>()", getTypeDeclaration(ap.getItems())); + final String pattern; + if (fullJavaUtil) { + pattern = "new java.util.ArrayList<%s>()"; + } else { + pattern = "new ArrayList<%s>()"; + } + return String.format(pattern, getTypeDeclaration(ap.getItems())); } else if (p instanceof MapProperty) { final MapProperty ap = (MapProperty) p; - return String.format("new java.util.HashMap()", getTypeDeclaration(ap.getAdditionalProperties())); + final String pattern; + if (fullJavaUtil) { + pattern = "new java.util.HashMap()"; + } else { + pattern = "new HashMap()"; + } + return String.format(pattern, getTypeDeclaration(ap.getAdditionalProperties())); } return super.toDefaultValue(p); } diff --git a/modules/swagger-codegen/src/main/resources/Java/api.mustache b/modules/swagger-codegen/src/main/resources/Java/api.mustache index 38ebc1c54ab..08d28ebd51b 100644 --- a/modules/swagger-codegen/src/main/resources/Java/api.mustache +++ b/modules/swagger-codegen/src/main/resources/Java/api.mustache @@ -9,6 +9,10 @@ import {{invokerPackage}}.TypeRef; {{#imports}}import {{import}}; {{/imports}} +{{^fullJavaUtil}} +import java.util.*; +{{/fullJavaUtil}} + {{>generatedAnnotation}} {{#operations}} public class {{classname}} { @@ -51,9 +55,9 @@ public class {{classname}} { .replaceAll("\\{" + "{{baseName}}" + "\\}", {{localVariablePrefix}}apiClient.escapeString({{{paramName}}}.toString())){{/pathParams}}; // query params - java.util.List {{localVariablePrefix}}queryParams = new java.util.ArrayList(); - java.util.Map {{localVariablePrefix}}headerParams = new java.util.HashMap(); - java.util.Map {{localVariablePrefix}}formParams = new java.util.HashMap(); + {{javaUtilPrefix}}List {{localVariablePrefix}}queryParams = new {{javaUtilPrefix}}ArrayList(); + {{javaUtilPrefix}}Map {{localVariablePrefix}}headerParams = new {{javaUtilPrefix}}HashMap(); + {{javaUtilPrefix}}Map {{localVariablePrefix}}formParams = new {{javaUtilPrefix}}HashMap(); {{#queryParams}} {{localVariablePrefix}}queryParams.addAll({{localVariablePrefix}}apiClient.parameterToPairs("{{#collectionFormat}}{{{collectionFormat}}}{{/collectionFormat}}", "{{baseName}}", {{paramName}})); diff --git a/modules/swagger-codegen/src/main/resources/Java/libraries/jersey2/api.mustache b/modules/swagger-codegen/src/main/resources/Java/libraries/jersey2/api.mustache index 532f1ef78cf..10f2fa2f744 100644 --- a/modules/swagger-codegen/src/main/resources/Java/libraries/jersey2/api.mustache +++ b/modules/swagger-codegen/src/main/resources/Java/libraries/jersey2/api.mustache @@ -6,11 +6,13 @@ import {{invokerPackage}}.Configuration; import {{invokerPackage}}.Pair; import {{invokerPackage}}.TypeRef; -import {{modelPackage}}.*; - {{#imports}}import {{import}}; {{/imports}} +{{^fullJavaUtil}} +import java.util.*; +{{/fullJavaUtil}} + {{>generatedAnnotation}} {{#operations}} public class {{classname}} { @@ -52,9 +54,9 @@ public class {{classname}} { .replaceAll("\\{" + "{{baseName}}" + "\\}", {{localVariablePrefix}}apiClient.escapeString({{{paramName}}}.toString())){{/pathParams}}; // query params - java.util.List {{localVariablePrefix}}queryParams = new java.util.ArrayList(); - java.util.Map {{localVariablePrefix}}headerParams = new java.util.HashMap(); - java.util.Map {{localVariablePrefix}}formParams = new java.util.HashMap(); + {{javaUtilPrefix}}List {{localVariablePrefix}}queryParams = new {{javaUtilPrefix}}ArrayList(); + {{javaUtilPrefix}}Map {{localVariablePrefix}}headerParams = new {{javaUtilPrefix}}HashMap(); + {{javaUtilPrefix}}Map {{localVariablePrefix}}formParams = new {{javaUtilPrefix}}HashMap(); {{#queryParams}} {{localVariablePrefix}}queryParams.addAll({{localVariablePrefix}}apiClient.parameterToPairs("{{#collectionFormat}}{{{collectionFormat}}}{{/collectionFormat}}", "{{baseName}}", {{paramName}})); diff --git a/modules/swagger-codegen/src/main/resources/Java/libraries/okhttp-gson/api.mustache b/modules/swagger-codegen/src/main/resources/Java/libraries/okhttp-gson/api.mustache index d1f38f0ac35..efb1a14f27d 100644 --- a/modules/swagger-codegen/src/main/resources/Java/libraries/okhttp-gson/api.mustache +++ b/modules/swagger-codegen/src/main/resources/Java/libraries/okhttp-gson/api.mustache @@ -6,17 +6,18 @@ import {{invokerPackage}}.ApiException; import {{invokerPackage}}.Configuration; import {{invokerPackage}}.Pair; -import {{modelPackage}}.*; - import com.google.gson.reflect.TypeToken; import com.squareup.okhttp.Call; -import java.lang.reflect.Type; - {{#imports}}import {{import}}; {{/imports}} +import java.lang.reflect.Type; +{{^fullJavaUtil}} +import java.util.*; +{{/fullJavaUtil}} + {{#operations}} public class {{classname}} { private ApiClient {{localVariablePrefix}}apiClient; @@ -52,15 +53,15 @@ public class {{classname}} { String {{localVariablePrefix}}path = "{{path}}".replaceAll("\\{format\\}","json"){{#pathParams}} .replaceAll("\\{" + "{{baseName}}" + "\\}", {{localVariablePrefix}}apiClient.escapeString({{{paramName}}}.toString())){{/pathParams}}; - java.util.List {{localVariablePrefix}}queryParams = new java.util.ArrayList();{{#queryParams}} + {{javaUtilPrefix}}List {{localVariablePrefix}}queryParams = new {{javaUtilPrefix}}ArrayList();{{#queryParams}} if ({{paramName}} != null) {{localVariablePrefix}}queryParams.addAll({{localVariablePrefix}}apiClient.parameterToPairs("{{#collectionFormat}}{{{collectionFormat}}}{{/collectionFormat}}", "{{baseName}}", {{paramName}}));{{/queryParams}} - java.util.Map {{localVariablePrefix}}headerParams = new java.util.HashMap();{{#headerParams}} + {{javaUtilPrefix}}Map {{localVariablePrefix}}headerParams = new {{javaUtilPrefix}}HashMap();{{#headerParams}} if ({{paramName}} != null) {{localVariablePrefix}}headerParams.put("{{baseName}}", {{localVariablePrefix}}apiClient.parameterToString({{paramName}}));{{/headerParams}} - java.util.Map {{localVariablePrefix}}formParams = new java.util.HashMap();{{#formParams}} + {{javaUtilPrefix}}Map {{localVariablePrefix}}formParams = new {{javaUtilPrefix}}HashMap();{{#formParams}} if ({{paramName}} != null) {{localVariablePrefix}}formParams.put("{{baseName}}", {{paramName}});{{/formParams}} diff --git a/modules/swagger-codegen/src/main/resources/Java/libraries/retrofit/api.mustache b/modules/swagger-codegen/src/main/resources/Java/libraries/retrofit/api.mustache index 28d2d29f8d1..b41e18aff47 100644 --- a/modules/swagger-codegen/src/main/resources/Java/libraries/retrofit/api.mustache +++ b/modules/swagger-codegen/src/main/resources/Java/libraries/retrofit/api.mustache @@ -1,7 +1,5 @@ package {{package}}; -import {{modelPackage}}.*; - import retrofit.Callback; import retrofit.http.*; import retrofit.mime.*; @@ -9,6 +7,10 @@ import retrofit.mime.*; {{#imports}}import {{import}}; {{/imports}} +{{^fullJavaUtil}} +import java.util.*; +{{/fullJavaUtil}} + {{#operations}} public interface {{classname}} { {{#operation}} diff --git a/samples/client/petstore/java/default/src/main/java/io/swagger/client/api/PetApi.java b/samples/client/petstore/java/default/src/main/java/io/swagger/client/api/PetApi.java index 4f503f934cb..8715238ae14 100644 --- a/samples/client/petstore/java/default/src/main/java/io/swagger/client/api/PetApi.java +++ b/samples/client/petstore/java/default/src/main/java/io/swagger/client/api/PetApi.java @@ -9,7 +9,9 @@ import io.swagger.client.TypeRef; import io.swagger.client.model.Pet; import java.io.File; -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-08T20:57:43.997+08:00") +import java.util.*; + +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-09T21:30:27.235+08:00") public class PetApi { private ApiClient apiClient; @@ -44,9 +46,9 @@ public class PetApi { String path = "/pet".replaceAll("\\{format\\}","json"); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); @@ -91,9 +93,9 @@ public class PetApi { String path = "/pet".replaceAll("\\{format\\}","json"); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); @@ -128,9 +130,9 @@ public class PetApi { * Finds Pets by status * Multiple status values can be provided with comma seperated strings * @param status Status values that need to be considered for filter - * @return java.util.List + * @return List */ - public java.util.List findPetsByStatus (java.util.List status) throws ApiException { + public List findPetsByStatus (List status) throws ApiException { Object postBody = null; byte[] postBinaryBody = null; @@ -138,9 +140,9 @@ public class PetApi { String path = "/pet/findByStatus".replaceAll("\\{format\\}","json"); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); queryParams.addAll(apiClient.parameterToPairs("multi", "status", status)); @@ -166,7 +168,7 @@ public class PetApi { - TypeRef returnType = new TypeRef>() {}; + TypeRef returnType = new TypeRef>() {}; return apiClient.invokeAPI(path, "GET", queryParams, postBody, postBinaryBody, headerParams, formParams, accept, contentType, authNames, returnType); @@ -178,9 +180,9 @@ public class PetApi { * Finds Pets by tags * Muliple tags can be provided with comma seperated strings. Use tag1, tag2, tag3 for testing. * @param tags Tags to filter by - * @return java.util.List + * @return List */ - public java.util.List findPetsByTags (java.util.List tags) throws ApiException { + public List findPetsByTags (List tags) throws ApiException { Object postBody = null; byte[] postBinaryBody = null; @@ -188,9 +190,9 @@ public class PetApi { String path = "/pet/findByTags".replaceAll("\\{format\\}","json"); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); queryParams.addAll(apiClient.parameterToPairs("multi", "tags", tags)); @@ -216,7 +218,7 @@ public class PetApi { - TypeRef returnType = new TypeRef>() {}; + TypeRef returnType = new TypeRef>() {}; return apiClient.invokeAPI(path, "GET", queryParams, postBody, postBinaryBody, headerParams, formParams, accept, contentType, authNames, returnType); @@ -244,9 +246,9 @@ public class PetApi { .replaceAll("\\{" + "petId" + "\\}", apiClient.escapeString(petId.toString())); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); @@ -300,9 +302,9 @@ public class PetApi { .replaceAll("\\{" + "petId" + "\\}", apiClient.escapeString(petId.toString())); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); @@ -358,9 +360,9 @@ public class PetApi { .replaceAll("\\{" + "petId" + "\\}", apiClient.escapeString(petId.toString())); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); @@ -415,9 +417,9 @@ public class PetApi { .replaceAll("\\{" + "petId" + "\\}", apiClient.escapeString(petId.toString())); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); diff --git a/samples/client/petstore/java/default/src/main/java/io/swagger/client/api/StoreApi.java b/samples/client/petstore/java/default/src/main/java/io/swagger/client/api/StoreApi.java index 4d861dcb5d8..916b16e17ff 100644 --- a/samples/client/petstore/java/default/src/main/java/io/swagger/client/api/StoreApi.java +++ b/samples/client/petstore/java/default/src/main/java/io/swagger/client/api/StoreApi.java @@ -6,9 +6,12 @@ import io.swagger.client.Configuration; import io.swagger.client.Pair; import io.swagger.client.TypeRef; +import java.util.Map; import io.swagger.client.model.Order; -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-08T20:57:43.997+08:00") +import java.util.*; + +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-09T21:30:27.235+08:00") public class StoreApi { private ApiClient apiClient; @@ -32,9 +35,9 @@ public class StoreApi { /** * Returns pet inventories by status * Returns a map of status codes to quantities - * @return java.util.Map + * @return Map */ - public java.util.Map getInventory () throws ApiException { + public Map getInventory () throws ApiException { Object postBody = null; byte[] postBinaryBody = null; @@ -42,9 +45,9 @@ public class StoreApi { String path = "/store/inventory".replaceAll("\\{format\\}","json"); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); @@ -68,7 +71,7 @@ public class StoreApi { - TypeRef returnType = new TypeRef>() {}; + TypeRef returnType = new TypeRef>() {}; return apiClient.invokeAPI(path, "GET", queryParams, postBody, postBinaryBody, headerParams, formParams, accept, contentType, authNames, returnType); @@ -90,9 +93,9 @@ public class StoreApi { String path = "/store/order".replaceAll("\\{format\\}","json"); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); @@ -144,9 +147,9 @@ public class StoreApi { .replaceAll("\\{" + "orderId" + "\\}", apiClient.escapeString(orderId.toString())); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); @@ -198,9 +201,9 @@ public class StoreApi { .replaceAll("\\{" + "orderId" + "\\}", apiClient.escapeString(orderId.toString())); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); diff --git a/samples/client/petstore/java/default/src/main/java/io/swagger/client/api/UserApi.java b/samples/client/petstore/java/default/src/main/java/io/swagger/client/api/UserApi.java index e2e0e90b18d..80ee07041f7 100644 --- a/samples/client/petstore/java/default/src/main/java/io/swagger/client/api/UserApi.java +++ b/samples/client/petstore/java/default/src/main/java/io/swagger/client/api/UserApi.java @@ -7,8 +7,11 @@ import io.swagger.client.Pair; import io.swagger.client.TypeRef; import io.swagger.client.model.User; +import java.util.*; -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-08T20:57:43.997+08:00") +import java.util.*; + +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-09T21:30:27.235+08:00") public class UserApi { private ApiClient apiClient; @@ -43,9 +46,9 @@ public class UserApi { String path = "/user".replaceAll("\\{format\\}","json"); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); @@ -82,7 +85,7 @@ public class UserApi { * @param body List of user object * @return void */ - public void createUsersWithArrayInput (java.util.List body) throws ApiException { + public void createUsersWithArrayInput (List body) throws ApiException { Object postBody = body; byte[] postBinaryBody = null; @@ -90,9 +93,9 @@ public class UserApi { String path = "/user/createWithArray".replaceAll("\\{format\\}","json"); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); @@ -129,7 +132,7 @@ public class UserApi { * @param body List of user object * @return void */ - public void createUsersWithListInput (java.util.List body) throws ApiException { + public void createUsersWithListInput (List body) throws ApiException { Object postBody = body; byte[] postBinaryBody = null; @@ -137,9 +140,9 @@ public class UserApi { String path = "/user/createWithList".replaceAll("\\{format\\}","json"); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); @@ -185,9 +188,9 @@ public class UserApi { String path = "/user/login".replaceAll("\\{format\\}","json"); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); queryParams.addAll(apiClient.parameterToPairs("", "username", username)); @@ -236,9 +239,9 @@ public class UserApi { String path = "/user/logout".replaceAll("\\{format\\}","json"); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); @@ -289,9 +292,9 @@ public class UserApi { .replaceAll("\\{" + "username" + "\\}", apiClient.escapeString(username.toString())); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); @@ -344,9 +347,9 @@ public class UserApi { .replaceAll("\\{" + "username" + "\\}", apiClient.escapeString(username.toString())); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); @@ -397,9 +400,9 @@ public class UserApi { .replaceAll("\\{" + "username" + "\\}", apiClient.escapeString(username.toString())); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); diff --git a/samples/client/petstore/java/default/src/main/java/io/swagger/client/model/Order.java b/samples/client/petstore/java/default/src/main/java/io/swagger/client/model/Order.java index 22320fbb39b..84582f97320 100644 --- a/samples/client/petstore/java/default/src/main/java/io/swagger/client/model/Order.java +++ b/samples/client/petstore/java/default/src/main/java/io/swagger/client/model/Order.java @@ -1,6 +1,7 @@ package io.swagger.client.model; import io.swagger.client.StringUtil; +import java.util.Date; @@ -9,13 +10,13 @@ import com.fasterxml.jackson.annotation.JsonProperty; @ApiModel(description = "") -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-08T20:57:43.997+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-09T21:30:27.235+08:00") public class Order { private Long id = null; private Long petId = null; private Integer quantity = null; - private java.util.Date shipDate = null; + private Date shipDate = null; public enum StatusEnum { PLACED("placed"), @@ -78,10 +79,10 @@ public enum StatusEnum { **/ @ApiModelProperty(value = "") @JsonProperty("shipDate") - public java.util.Date getShipDate() { + public Date getShipDate() { return shipDate; } - public void setShipDate(java.util.Date shipDate) { + public void setShipDate(Date shipDate) { this.shipDate = shipDate; } diff --git a/samples/client/petstore/java/default/src/main/java/io/swagger/client/model/Pet.java b/samples/client/petstore/java/default/src/main/java/io/swagger/client/model/Pet.java index fc0db631e60..3076f4a5be9 100644 --- a/samples/client/petstore/java/default/src/main/java/io/swagger/client/model/Pet.java +++ b/samples/client/petstore/java/default/src/main/java/io/swagger/client/model/Pet.java @@ -2,6 +2,7 @@ package io.swagger.client.model; import io.swagger.client.StringUtil; import io.swagger.client.model.Category; +import java.util.*; import io.swagger.client.model.Tag; @@ -11,14 +12,14 @@ import com.fasterxml.jackson.annotation.JsonProperty; @ApiModel(description = "") -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-08T20:57:43.997+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-09T21:30:27.235+08:00") public class Pet { private Long id = null; private Category category = null; private String name = null; - private java.util.List photoUrls = new java.util.ArrayList(); - private java.util.List tags = new java.util.ArrayList(); + private List photoUrls = new ArrayList(); + private List tags = new ArrayList(); public enum StatusEnum { AVAILABLE("available"), @@ -80,10 +81,10 @@ public enum StatusEnum { **/ @ApiModelProperty(required = true, value = "") @JsonProperty("photoUrls") - public java.util.List getPhotoUrls() { + public List getPhotoUrls() { return photoUrls; } - public void setPhotoUrls(java.util.List photoUrls) { + public void setPhotoUrls(List photoUrls) { this.photoUrls = photoUrls; } @@ -92,10 +93,10 @@ public enum StatusEnum { **/ @ApiModelProperty(value = "") @JsonProperty("tags") - public java.util.List getTags() { + public List getTags() { return tags; } - public void setTags(java.util.List tags) { + public void setTags(List tags) { this.tags = tags; } diff --git a/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/api/PetApi.java b/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/api/PetApi.java index 56c0b1e173c..b979fd08134 100644 --- a/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/api/PetApi.java +++ b/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/api/PetApi.java @@ -6,12 +6,12 @@ import io.swagger.client.Configuration; import io.swagger.client.Pair; import io.swagger.client.TypeRef; -import io.swagger.client.model.*; - import io.swagger.client.model.Pet; import java.io.File; -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-08T20:57:48.684+08:00") +import java.util.*; + +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-09T21:30:19.416+08:00") public class PetApi { private ApiClient apiClient; @@ -45,9 +45,9 @@ public class PetApi { String path = "/pet".replaceAll("\\{format\\}","json"); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); @@ -85,9 +85,9 @@ public class PetApi { String path = "/pet".replaceAll("\\{format\\}","json"); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); @@ -116,18 +116,18 @@ public class PetApi { * Finds Pets by status * Multiple status values can be provided with comma seperated strings * @param status Status values that need to be considered for filter - * @return java.util.List + * @return List */ - public java.util.List findPetsByStatus (java.util.List status) throws ApiException { + public List findPetsByStatus (List status) throws ApiException { Object postBody = null; // create path and map variables String path = "/pet/findByStatus".replaceAll("\\{format\\}","json"); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); queryParams.addAll(apiClient.parameterToPairs("multi", "status", status)); @@ -150,7 +150,7 @@ public class PetApi { String[] authNames = new String[] { "petstore_auth" }; - TypeRef returnType = new TypeRef>() {}; + TypeRef returnType = new TypeRef>() {}; return apiClient.invokeAPI(path, "GET", queryParams, postBody, headerParams, formParams, accept, contentType, authNames, returnType); } @@ -159,18 +159,18 @@ public class PetApi { * Finds Pets by tags * Muliple tags can be provided with comma seperated strings. Use tag1, tag2, tag3 for testing. * @param tags Tags to filter by - * @return java.util.List + * @return List */ - public java.util.List findPetsByTags (java.util.List tags) throws ApiException { + public List findPetsByTags (List tags) throws ApiException { Object postBody = null; // create path and map variables String path = "/pet/findByTags".replaceAll("\\{format\\}","json"); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); queryParams.addAll(apiClient.parameterToPairs("multi", "tags", tags)); @@ -193,7 +193,7 @@ public class PetApi { String[] authNames = new String[] { "petstore_auth" }; - TypeRef returnType = new TypeRef>() {}; + TypeRef returnType = new TypeRef>() {}; return apiClient.invokeAPI(path, "GET", queryParams, postBody, headerParams, formParams, accept, contentType, authNames, returnType); } @@ -217,9 +217,9 @@ public class PetApi { .replaceAll("\\{" + "petId" + "\\}", apiClient.escapeString(petId.toString())); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); @@ -266,9 +266,9 @@ public class PetApi { .replaceAll("\\{" + "petId" + "\\}", apiClient.escapeString(petId.toString())); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); @@ -317,9 +317,9 @@ public class PetApi { .replaceAll("\\{" + "petId" + "\\}", apiClient.escapeString(petId.toString())); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); @@ -367,9 +367,9 @@ public class PetApi { .replaceAll("\\{" + "petId" + "\\}", apiClient.escapeString(petId.toString())); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); diff --git a/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/api/StoreApi.java b/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/api/StoreApi.java index 5f8a9fb13d8..d011bca1417 100644 --- a/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/api/StoreApi.java +++ b/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/api/StoreApi.java @@ -6,11 +6,12 @@ import io.swagger.client.Configuration; import io.swagger.client.Pair; import io.swagger.client.TypeRef; -import io.swagger.client.model.*; - +import java.util.Map; import io.swagger.client.model.Order; -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-08T20:57:48.684+08:00") +import java.util.*; + +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-09T21:30:19.416+08:00") public class StoreApi { private ApiClient apiClient; @@ -34,18 +35,18 @@ public class StoreApi { /** * Returns pet inventories by status * Returns a map of status codes to quantities - * @return java.util.Map + * @return Map */ - public java.util.Map getInventory () throws ApiException { + public Map getInventory () throws ApiException { Object postBody = null; // create path and map variables String path = "/store/inventory".replaceAll("\\{format\\}","json"); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); @@ -66,7 +67,7 @@ public class StoreApi { String[] authNames = new String[] { "api_key" }; - TypeRef returnType = new TypeRef>() {}; + TypeRef returnType = new TypeRef>() {}; return apiClient.invokeAPI(path, "GET", queryParams, postBody, headerParams, formParams, accept, contentType, authNames, returnType); } @@ -84,9 +85,9 @@ public class StoreApi { String path = "/store/order".replaceAll("\\{format\\}","json"); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); @@ -131,9 +132,9 @@ public class StoreApi { .replaceAll("\\{" + "orderId" + "\\}", apiClient.escapeString(orderId.toString())); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); @@ -178,9 +179,9 @@ public class StoreApi { .replaceAll("\\{" + "orderId" + "\\}", apiClient.escapeString(orderId.toString())); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); diff --git a/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/api/UserApi.java b/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/api/UserApi.java index 36199161b16..1c811a06a3b 100644 --- a/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/api/UserApi.java +++ b/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/api/UserApi.java @@ -6,11 +6,12 @@ import io.swagger.client.Configuration; import io.swagger.client.Pair; import io.swagger.client.TypeRef; -import io.swagger.client.model.*; - import io.swagger.client.model.User; +import java.util.*; -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-08T20:57:48.684+08:00") +import java.util.*; + +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-09T21:30:19.416+08:00") public class UserApi { private ApiClient apiClient; @@ -44,9 +45,9 @@ public class UserApi { String path = "/user".replaceAll("\\{format\\}","json"); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); @@ -77,16 +78,16 @@ public class UserApi { * @param body List of user object * @return void */ - public void createUsersWithArrayInput (java.util.List body) throws ApiException { + public void createUsersWithArrayInput (List body) throws ApiException { Object postBody = body; // create path and map variables String path = "/user/createWithArray".replaceAll("\\{format\\}","json"); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); @@ -117,16 +118,16 @@ public class UserApi { * @param body List of user object * @return void */ - public void createUsersWithListInput (java.util.List body) throws ApiException { + public void createUsersWithListInput (List body) throws ApiException { Object postBody = body; // create path and map variables String path = "/user/createWithList".replaceAll("\\{format\\}","json"); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); @@ -165,9 +166,9 @@ public class UserApi { String path = "/user/login".replaceAll("\\{format\\}","json"); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); queryParams.addAll(apiClient.parameterToPairs("", "username", username)); @@ -209,9 +210,9 @@ public class UserApi { String path = "/user/logout".replaceAll("\\{format\\}","json"); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); @@ -255,9 +256,9 @@ public class UserApi { .replaceAll("\\{" + "username" + "\\}", apiClient.escapeString(username.toString())); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); @@ -303,9 +304,9 @@ public class UserApi { .replaceAll("\\{" + "username" + "\\}", apiClient.escapeString(username.toString())); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); @@ -349,9 +350,9 @@ public class UserApi { .replaceAll("\\{" + "username" + "\\}", apiClient.escapeString(username.toString())); // query params - java.util.List queryParams = new java.util.ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); - java.util.Map formParams = new java.util.HashMap(); + List queryParams = new ArrayList(); + Map headerParams = new HashMap(); + Map formParams = new HashMap(); diff --git a/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/model/Order.java b/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/model/Order.java index 5b952459dde..2f091e48085 100644 --- a/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/model/Order.java +++ b/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/model/Order.java @@ -1,6 +1,7 @@ package io.swagger.client.model; import io.swagger.client.StringUtil; +import java.util.Date; @@ -9,13 +10,13 @@ import com.fasterxml.jackson.annotation.JsonProperty; @ApiModel(description = "") -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-08T20:57:48.684+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-09T21:30:19.416+08:00") public class Order { private Long id = null; private Long petId = null; private Integer quantity = null; - private java.util.Date shipDate = null; + private Date shipDate = null; public enum StatusEnum { PLACED("placed"), @@ -78,10 +79,10 @@ public enum StatusEnum { **/ @ApiModelProperty(value = "") @JsonProperty("shipDate") - public java.util.Date getShipDate() { + public Date getShipDate() { return shipDate; } - public void setShipDate(java.util.Date shipDate) { + public void setShipDate(Date shipDate) { this.shipDate = shipDate; } diff --git a/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/model/Pet.java b/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/model/Pet.java index 1e205686fd4..784478c84f9 100644 --- a/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/model/Pet.java +++ b/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/model/Pet.java @@ -2,6 +2,7 @@ package io.swagger.client.model; import io.swagger.client.StringUtil; import io.swagger.client.model.Category; +import java.util.*; import io.swagger.client.model.Tag; @@ -11,14 +12,14 @@ import com.fasterxml.jackson.annotation.JsonProperty; @ApiModel(description = "") -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-08T20:57:48.684+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-09T21:30:19.416+08:00") public class Pet { private Long id = null; private Category category = null; private String name = null; - private java.util.List photoUrls = new java.util.ArrayList(); - private java.util.List tags = new java.util.ArrayList(); + private List photoUrls = new ArrayList(); + private List tags = new ArrayList(); public enum StatusEnum { AVAILABLE("available"), @@ -80,10 +81,10 @@ public enum StatusEnum { **/ @ApiModelProperty(required = true, value = "") @JsonProperty("photoUrls") - public java.util.List getPhotoUrls() { + public List getPhotoUrls() { return photoUrls; } - public void setPhotoUrls(java.util.List photoUrls) { + public void setPhotoUrls(List photoUrls) { this.photoUrls = photoUrls; } @@ -92,10 +93,10 @@ public enum StatusEnum { **/ @ApiModelProperty(value = "") @JsonProperty("tags") - public java.util.List getTags() { + public List getTags() { return tags; } - public void setTags(java.util.List tags) { + public void setTags(List tags) { this.tags = tags; } diff --git a/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/api/PetApi.java b/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/api/PetApi.java index 78bde833079..596596b935a 100644 --- a/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/api/PetApi.java +++ b/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/api/PetApi.java @@ -6,17 +6,16 @@ import io.swagger.client.ApiException; import io.swagger.client.Configuration; import io.swagger.client.Pair; -import io.swagger.client.model.*; - import com.google.gson.reflect.TypeToken; import com.squareup.okhttp.Call; -import java.lang.reflect.Type; - import io.swagger.client.model.Pet; import java.io.File; +import java.lang.reflect.Type; +import java.util.*; + public class PetApi { private ApiClient apiClient; @@ -45,11 +44,11 @@ public class PetApi { // create path and map variables String path = "/pet".replaceAll("\\{format\\}","json"); - java.util.List queryParams = new java.util.ArrayList(); + List queryParams = new ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); + Map headerParams = new HashMap(); - java.util.Map formParams = new java.util.HashMap(); + Map formParams = new HashMap(); final String[] accepts = { "application/json", "application/xml" @@ -98,11 +97,11 @@ public class PetApi { // create path and map variables String path = "/pet".replaceAll("\\{format\\}","json"); - java.util.List queryParams = new java.util.ArrayList(); + List queryParams = new ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); + Map headerParams = new HashMap(); - java.util.Map formParams = new java.util.HashMap(); + Map formParams = new HashMap(); final String[] accepts = { "application/json", "application/xml" @@ -144,20 +143,20 @@ public class PetApi { } /* Build call for findPetsByStatus */ - private Call findPetsByStatusCall(java.util.List status) throws ApiException { + private Call findPetsByStatusCall(List status) throws ApiException { Object postBody = null; // create path and map variables String path = "/pet/findByStatus".replaceAll("\\{format\\}","json"); - java.util.List queryParams = new java.util.ArrayList(); + List queryParams = new ArrayList(); if (status != null) queryParams.addAll(apiClient.parameterToPairs("multi", "status", status)); - java.util.Map headerParams = new java.util.HashMap(); + Map headerParams = new HashMap(); - java.util.Map formParams = new java.util.HashMap(); + Map formParams = new HashMap(); final String[] accepts = { "application/json", "application/xml" @@ -179,11 +178,11 @@ public class PetApi { * Finds Pets by status * Multiple status values can be provided with comma seperated strings * @param status Status values that need to be considered for filter - * @return java.util.List + * @return List */ - public java.util.List findPetsByStatus(java.util.List status) throws ApiException { + public List findPetsByStatus(List status) throws ApiException { Call call = findPetsByStatusCall(status); - Type returnType = new TypeToken>(){}.getType(); + Type returnType = new TypeToken>(){}.getType(); return apiClient.execute(call, returnType); } @@ -194,28 +193,28 @@ public class PetApi { * @param callback The callback to be executed when the API call finishes * @return The request call */ - public Call findPetsByStatusAsync(java.util.List status, ApiCallback> callback) throws ApiException { + public Call findPetsByStatusAsync(List status, ApiCallback> callback) throws ApiException { Call call = findPetsByStatusCall(status); - Type returnType = new TypeToken>(){}.getType(); + Type returnType = new TypeToken>(){}.getType(); apiClient.executeAsync(call, returnType, callback); return call; } /* Build call for findPetsByTags */ - private Call findPetsByTagsCall(java.util.List tags) throws ApiException { + private Call findPetsByTagsCall(List tags) throws ApiException { Object postBody = null; // create path and map variables String path = "/pet/findByTags".replaceAll("\\{format\\}","json"); - java.util.List queryParams = new java.util.ArrayList(); + List queryParams = new ArrayList(); if (tags != null) queryParams.addAll(apiClient.parameterToPairs("multi", "tags", tags)); - java.util.Map headerParams = new java.util.HashMap(); + Map headerParams = new HashMap(); - java.util.Map formParams = new java.util.HashMap(); + Map formParams = new HashMap(); final String[] accepts = { "application/json", "application/xml" @@ -237,11 +236,11 @@ public class PetApi { * Finds Pets by tags * Muliple tags can be provided with comma seperated strings. Use tag1, tag2, tag3 for testing. * @param tags Tags to filter by - * @return java.util.List + * @return List */ - public java.util.List findPetsByTags(java.util.List tags) throws ApiException { + public List findPetsByTags(List tags) throws ApiException { Call call = findPetsByTagsCall(tags); - Type returnType = new TypeToken>(){}.getType(); + Type returnType = new TypeToken>(){}.getType(); return apiClient.execute(call, returnType); } @@ -252,9 +251,9 @@ public class PetApi { * @param callback The callback to be executed when the API call finishes * @return The request call */ - public Call findPetsByTagsAsync(java.util.List tags, ApiCallback> callback) throws ApiException { + public Call findPetsByTagsAsync(List tags, ApiCallback> callback) throws ApiException { Call call = findPetsByTagsCall(tags); - Type returnType = new TypeToken>(){}.getType(); + Type returnType = new TypeToken>(){}.getType(); apiClient.executeAsync(call, returnType, callback); return call; } @@ -273,11 +272,11 @@ public class PetApi { String path = "/pet/{petId}".replaceAll("\\{format\\}","json") .replaceAll("\\{" + "petId" + "\\}", apiClient.escapeString(petId.toString())); - java.util.List queryParams = new java.util.ArrayList(); + List queryParams = new ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); + Map headerParams = new HashMap(); - java.util.Map formParams = new java.util.HashMap(); + Map formParams = new HashMap(); final String[] accepts = { "application/json", "application/xml" @@ -335,11 +334,11 @@ public class PetApi { String path = "/pet/{petId}".replaceAll("\\{format\\}","json") .replaceAll("\\{" + "petId" + "\\}", apiClient.escapeString(petId.toString())); - java.util.List queryParams = new java.util.ArrayList(); + List queryParams = new ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); + Map headerParams = new HashMap(); - java.util.Map formParams = new java.util.HashMap(); + Map formParams = new HashMap(); if (name != null) formParams.put("name", name); if (status != null) @@ -402,13 +401,13 @@ public class PetApi { String path = "/pet/{petId}".replaceAll("\\{format\\}","json") .replaceAll("\\{" + "petId" + "\\}", apiClient.escapeString(petId.toString())); - java.util.List queryParams = new java.util.ArrayList(); + List queryParams = new ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); + Map headerParams = new HashMap(); if (apiKey != null) headerParams.put("api_key", apiClient.parameterToString(apiKey)); - java.util.Map formParams = new java.util.HashMap(); + Map formParams = new HashMap(); final String[] accepts = { "application/json", "application/xml" @@ -465,11 +464,11 @@ public class PetApi { String path = "/pet/{petId}/uploadImage".replaceAll("\\{format\\}","json") .replaceAll("\\{" + "petId" + "\\}", apiClient.escapeString(petId.toString())); - java.util.List queryParams = new java.util.ArrayList(); + List queryParams = new ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); + Map headerParams = new HashMap(); - java.util.Map formParams = new java.util.HashMap(); + Map formParams = new HashMap(); if (additionalMetadata != null) formParams.put("additionalMetadata", additionalMetadata); if (file != null) diff --git a/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/api/StoreApi.java b/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/api/StoreApi.java index ff7f02ecf56..cb780538e18 100644 --- a/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/api/StoreApi.java +++ b/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/api/StoreApi.java @@ -6,16 +6,16 @@ import io.swagger.client.ApiException; import io.swagger.client.Configuration; import io.swagger.client.Pair; -import io.swagger.client.model.*; - import com.google.gson.reflect.TypeToken; import com.squareup.okhttp.Call; -import java.lang.reflect.Type; - +import java.util.Map; import io.swagger.client.model.Order; +import java.lang.reflect.Type; +import java.util.*; + public class StoreApi { private ApiClient apiClient; @@ -44,11 +44,11 @@ public class StoreApi { // create path and map variables String path = "/store/inventory".replaceAll("\\{format\\}","json"); - java.util.List queryParams = new java.util.ArrayList(); + List queryParams = new ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); + Map headerParams = new HashMap(); - java.util.Map formParams = new java.util.HashMap(); + Map formParams = new HashMap(); final String[] accepts = { "application/json", "application/xml" @@ -69,11 +69,11 @@ public class StoreApi { /** * Returns pet inventories by status * Returns a map of status codes to quantities - * @return java.util.Map + * @return Map */ - public java.util.Map getInventory() throws ApiException { + public Map getInventory() throws ApiException { Call call = getInventoryCall(); - Type returnType = new TypeToken>(){}.getType(); + Type returnType = new TypeToken>(){}.getType(); return apiClient.execute(call, returnType); } @@ -83,9 +83,9 @@ public class StoreApi { * @param callback The callback to be executed when the API call finishes * @return The request call */ - public Call getInventoryAsync(ApiCallback> callback) throws ApiException { + public Call getInventoryAsync(ApiCallback> callback) throws ApiException { Call call = getInventoryCall(); - Type returnType = new TypeToken>(){}.getType(); + Type returnType = new TypeToken>(){}.getType(); apiClient.executeAsync(call, returnType, callback); return call; } @@ -98,11 +98,11 @@ public class StoreApi { // create path and map variables String path = "/store/order".replaceAll("\\{format\\}","json"); - java.util.List queryParams = new java.util.ArrayList(); + List queryParams = new ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); + Map headerParams = new HashMap(); - java.util.Map formParams = new java.util.HashMap(); + Map formParams = new HashMap(); final String[] accepts = { "application/json", "application/xml" @@ -160,11 +160,11 @@ public class StoreApi { String path = "/store/order/{orderId}".replaceAll("\\{format\\}","json") .replaceAll("\\{" + "orderId" + "\\}", apiClient.escapeString(orderId.toString())); - java.util.List queryParams = new java.util.ArrayList(); + List queryParams = new ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); + Map headerParams = new HashMap(); - java.util.Map formParams = new java.util.HashMap(); + Map formParams = new HashMap(); final String[] accepts = { "application/json", "application/xml" @@ -222,11 +222,11 @@ public class StoreApi { String path = "/store/order/{orderId}".replaceAll("\\{format\\}","json") .replaceAll("\\{" + "orderId" + "\\}", apiClient.escapeString(orderId.toString())); - java.util.List queryParams = new java.util.ArrayList(); + List queryParams = new ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); + Map headerParams = new HashMap(); - java.util.Map formParams = new java.util.HashMap(); + Map formParams = new HashMap(); final String[] accepts = { "application/json", "application/xml" diff --git a/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/api/UserApi.java b/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/api/UserApi.java index dccd7003b2b..a04470b3b40 100644 --- a/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/api/UserApi.java +++ b/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/api/UserApi.java @@ -6,15 +6,15 @@ import io.swagger.client.ApiException; import io.swagger.client.Configuration; import io.swagger.client.Pair; -import io.swagger.client.model.*; - import com.google.gson.reflect.TypeToken; import com.squareup.okhttp.Call; -import java.lang.reflect.Type; - import io.swagger.client.model.User; +import java.util.*; + +import java.lang.reflect.Type; +import java.util.*; public class UserApi { private ApiClient apiClient; @@ -44,11 +44,11 @@ public class UserApi { // create path and map variables String path = "/user".replaceAll("\\{format\\}","json"); - java.util.List queryParams = new java.util.ArrayList(); + List queryParams = new ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); + Map headerParams = new HashMap(); - java.util.Map formParams = new java.util.HashMap(); + Map formParams = new HashMap(); final String[] accepts = { "application/json", "application/xml" @@ -90,18 +90,18 @@ public class UserApi { } /* Build call for createUsersWithArrayInput */ - private Call createUsersWithArrayInputCall(java.util.List body) throws ApiException { + private Call createUsersWithArrayInputCall(List body) throws ApiException { Object postBody = body; // create path and map variables String path = "/user/createWithArray".replaceAll("\\{format\\}","json"); - java.util.List queryParams = new java.util.ArrayList(); + List queryParams = new ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); + Map headerParams = new HashMap(); - java.util.Map formParams = new java.util.HashMap(); + Map formParams = new HashMap(); final String[] accepts = { "application/json", "application/xml" @@ -124,7 +124,7 @@ public class UserApi { * * @param body List of user object */ - public void createUsersWithArrayInput(java.util.List body) throws ApiException { + public void createUsersWithArrayInput(List body) throws ApiException { Call call = createUsersWithArrayInputCall(body); apiClient.execute(call); } @@ -136,25 +136,25 @@ public class UserApi { * @param callback The callback to be executed when the API call finishes * @return The request call */ - public Call createUsersWithArrayInputAsync(java.util.List body, ApiCallback callback) throws ApiException { + public Call createUsersWithArrayInputAsync(List body, ApiCallback callback) throws ApiException { Call call = createUsersWithArrayInputCall(body); apiClient.executeAsync(call, callback); return call; } /* Build call for createUsersWithListInput */ - private Call createUsersWithListInputCall(java.util.List body) throws ApiException { + private Call createUsersWithListInputCall(List body) throws ApiException { Object postBody = body; // create path and map variables String path = "/user/createWithList".replaceAll("\\{format\\}","json"); - java.util.List queryParams = new java.util.ArrayList(); + List queryParams = new ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); + Map headerParams = new HashMap(); - java.util.Map formParams = new java.util.HashMap(); + Map formParams = new HashMap(); final String[] accepts = { "application/json", "application/xml" @@ -177,7 +177,7 @@ public class UserApi { * * @param body List of user object */ - public void createUsersWithListInput(java.util.List body) throws ApiException { + public void createUsersWithListInput(List body) throws ApiException { Call call = createUsersWithListInputCall(body); apiClient.execute(call); } @@ -189,7 +189,7 @@ public class UserApi { * @param callback The callback to be executed when the API call finishes * @return The request call */ - public Call createUsersWithListInputAsync(java.util.List body, ApiCallback callback) throws ApiException { + public Call createUsersWithListInputAsync(List body, ApiCallback callback) throws ApiException { Call call = createUsersWithListInputCall(body); apiClient.executeAsync(call, callback); return call; @@ -203,15 +203,15 @@ public class UserApi { // create path and map variables String path = "/user/login".replaceAll("\\{format\\}","json"); - java.util.List queryParams = new java.util.ArrayList(); + List queryParams = new ArrayList(); if (username != null) queryParams.addAll(apiClient.parameterToPairs("", "username", username)); if (password != null) queryParams.addAll(apiClient.parameterToPairs("", "password", password)); - java.util.Map headerParams = new java.util.HashMap(); + Map headerParams = new HashMap(); - java.util.Map formParams = new java.util.HashMap(); + Map formParams = new HashMap(); final String[] accepts = { "application/json", "application/xml" @@ -265,11 +265,11 @@ public class UserApi { // create path and map variables String path = "/user/logout".replaceAll("\\{format\\}","json"); - java.util.List queryParams = new java.util.ArrayList(); + List queryParams = new ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); + Map headerParams = new HashMap(); - java.util.Map formParams = new java.util.HashMap(); + Map formParams = new HashMap(); final String[] accepts = { "application/json", "application/xml" @@ -322,11 +322,11 @@ public class UserApi { String path = "/user/{username}".replaceAll("\\{format\\}","json") .replaceAll("\\{" + "username" + "\\}", apiClient.escapeString(username.toString())); - java.util.List queryParams = new java.util.ArrayList(); + List queryParams = new ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); + Map headerParams = new HashMap(); - java.util.Map formParams = new java.util.HashMap(); + Map formParams = new HashMap(); final String[] accepts = { "application/json", "application/xml" @@ -384,11 +384,11 @@ public class UserApi { String path = "/user/{username}".replaceAll("\\{format\\}","json") .replaceAll("\\{" + "username" + "\\}", apiClient.escapeString(username.toString())); - java.util.List queryParams = new java.util.ArrayList(); + List queryParams = new ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); + Map headerParams = new HashMap(); - java.util.Map formParams = new java.util.HashMap(); + Map formParams = new HashMap(); final String[] accepts = { "application/json", "application/xml" @@ -445,11 +445,11 @@ public class UserApi { String path = "/user/{username}".replaceAll("\\{format\\}","json") .replaceAll("\\{" + "username" + "\\}", apiClient.escapeString(username.toString())); - java.util.List queryParams = new java.util.ArrayList(); + List queryParams = new ArrayList(); - java.util.Map headerParams = new java.util.HashMap(); + Map headerParams = new HashMap(); - java.util.Map formParams = new java.util.HashMap(); + Map formParams = new HashMap(); final String[] accepts = { "application/json", "application/xml" diff --git a/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/model/Order.java b/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/model/Order.java index 57c9f791e97..df8e77b6fb3 100644 --- a/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/model/Order.java +++ b/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/model/Order.java @@ -1,6 +1,7 @@ package io.swagger.client.model; import io.swagger.client.StringUtil; +import java.util.Date; import com.google.gson.annotations.SerializedName; @@ -23,7 +24,7 @@ public class Order { private Integer quantity = null; @SerializedName("shipDate") - private java.util.Date shipDate = null; + private Date shipDate = null; public enum StatusEnum { @@ -92,10 +93,10 @@ public enum StatusEnum { /** **/ @ApiModelProperty(value = "") - public java.util.Date getShipDate() { + public Date getShipDate() { return shipDate; } - public void setShipDate(java.util.Date shipDate) { + public void setShipDate(Date shipDate) { this.shipDate = shipDate; } diff --git a/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/model/Pet.java b/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/model/Pet.java index 4b214d56c01..9ab5457e26a 100644 --- a/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/model/Pet.java +++ b/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/model/Pet.java @@ -2,6 +2,7 @@ package io.swagger.client.model; import io.swagger.client.StringUtil; import io.swagger.client.model.Category; +import java.util.*; import io.swagger.client.model.Tag; import com.google.gson.annotations.SerializedName; @@ -25,10 +26,10 @@ public class Pet { private String name = null; @SerializedName("photoUrls") - private java.util.List photoUrls = new java.util.ArrayList(); + private List photoUrls = new ArrayList(); @SerializedName("tags") - private java.util.List tags = new java.util.ArrayList(); + private List tags = new ArrayList(); public enum StatusEnum { @@ -94,10 +95,10 @@ public enum StatusEnum { /** **/ @ApiModelProperty(required = true, value = "") - public java.util.List getPhotoUrls() { + public List getPhotoUrls() { return photoUrls; } - public void setPhotoUrls(java.util.List photoUrls) { + public void setPhotoUrls(List photoUrls) { this.photoUrls = photoUrls; } @@ -105,10 +106,10 @@ public enum StatusEnum { /** **/ @ApiModelProperty(value = "") - public java.util.List getTags() { + public List getTags() { return tags; } - public void setTags(java.util.List tags) { + public void setTags(List tags) { this.tags = tags; } diff --git a/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/PetApi.java b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/PetApi.java index 568e17b6cfc..f6b29f11a2a 100644 --- a/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/PetApi.java +++ b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/PetApi.java @@ -1,7 +1,5 @@ package io.swagger.client.api; -import io.swagger.client.model.*; - import retrofit.Callback; import retrofit.http.*; import retrofit.mime.*; @@ -9,6 +7,8 @@ import retrofit.mime.*; import io.swagger.client.model.Pet; import java.io.File; +import java.util.*; + public interface PetApi { /** @@ -68,12 +68,12 @@ public interface PetApi { * Sync method * Multiple status values can be provided with comma seperated strings * @param status Status values that need to be considered for filter - * @return java.util.List + * @return List */ @GET("/pet/findByStatus") - java.util.List findPetsByStatus( - @Query("status") java.util.List status + List findPetsByStatus( + @Query("status") List status ); /** @@ -86,7 +86,7 @@ public interface PetApi { @GET("/pet/findByStatus") void findPetsByStatus( - @Query("status") java.util.List status, Callback> cb + @Query("status") List status, Callback> cb ); /** @@ -94,12 +94,12 @@ public interface PetApi { * Sync method * Muliple tags can be provided with comma seperated strings. Use tag1, tag2, tag3 for testing. * @param tags Tags to filter by - * @return java.util.List + * @return List */ @GET("/pet/findByTags") - java.util.List findPetsByTags( - @Query("tags") java.util.List tags + List findPetsByTags( + @Query("tags") List tags ); /** @@ -112,7 +112,7 @@ public interface PetApi { @GET("/pet/findByTags") void findPetsByTags( - @Query("tags") java.util.List tags, Callback> cb + @Query("tags") List tags, Callback> cb ); /** diff --git a/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/StoreApi.java b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/StoreApi.java index ce9e9456859..16819d04a94 100644 --- a/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/StoreApi.java +++ b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/StoreApi.java @@ -1,24 +1,25 @@ package io.swagger.client.api; -import io.swagger.client.model.*; - import retrofit.Callback; import retrofit.http.*; import retrofit.mime.*; +import java.util.Map; import io.swagger.client.model.Order; +import java.util.*; + public interface StoreApi { /** * Returns pet inventories by status * Sync method * Returns a map of status codes to quantities - * @return java.util.Map + * @return Map */ @GET("/store/inventory") - java.util.Map getInventory(); + Map getInventory(); /** @@ -30,7 +31,7 @@ public interface StoreApi { @GET("/store/inventory") void getInventory( - Callback> cb + Callback> cb ); /** diff --git a/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/UserApi.java b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/UserApi.java index 57b8f66f427..a5bc4d03477 100644 --- a/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/UserApi.java +++ b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/UserApi.java @@ -1,12 +1,13 @@ package io.swagger.client.api; -import io.swagger.client.model.*; - import retrofit.Callback; import retrofit.http.*; import retrofit.mime.*; import io.swagger.client.model.User; +import java.util.*; + +import java.util.*; public interface UserApi { @@ -46,7 +47,7 @@ public interface UserApi { @POST("/user/createWithArray") Void createUsersWithArrayInput( - @Body java.util.List body + @Body List body ); /** @@ -59,7 +60,7 @@ public interface UserApi { @POST("/user/createWithArray") void createUsersWithArrayInput( - @Body java.util.List body, Callback cb + @Body List body, Callback cb ); /** @@ -72,7 +73,7 @@ public interface UserApi { @POST("/user/createWithList") Void createUsersWithListInput( - @Body java.util.List body + @Body List body ); /** @@ -85,7 +86,7 @@ public interface UserApi { @POST("/user/createWithList") void createUsersWithListInput( - @Body java.util.List body, Callback cb + @Body List body, Callback cb ); /** diff --git a/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/model/Order.java b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/model/Order.java index 57c9f791e97..df8e77b6fb3 100644 --- a/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/model/Order.java +++ b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/model/Order.java @@ -1,6 +1,7 @@ package io.swagger.client.model; import io.swagger.client.StringUtil; +import java.util.Date; import com.google.gson.annotations.SerializedName; @@ -23,7 +24,7 @@ public class Order { private Integer quantity = null; @SerializedName("shipDate") - private java.util.Date shipDate = null; + private Date shipDate = null; public enum StatusEnum { @@ -92,10 +93,10 @@ public enum StatusEnum { /** **/ @ApiModelProperty(value = "") - public java.util.Date getShipDate() { + public Date getShipDate() { return shipDate; } - public void setShipDate(java.util.Date shipDate) { + public void setShipDate(Date shipDate) { this.shipDate = shipDate; } diff --git a/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/model/Pet.java b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/model/Pet.java index 4b214d56c01..9ab5457e26a 100644 --- a/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/model/Pet.java +++ b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/model/Pet.java @@ -2,6 +2,7 @@ package io.swagger.client.model; import io.swagger.client.StringUtil; import io.swagger.client.model.Category; +import java.util.*; import io.swagger.client.model.Tag; import com.google.gson.annotations.SerializedName; @@ -25,10 +26,10 @@ public class Pet { private String name = null; @SerializedName("photoUrls") - private java.util.List photoUrls = new java.util.ArrayList(); + private List photoUrls = new ArrayList(); @SerializedName("tags") - private java.util.List tags = new java.util.ArrayList(); + private List tags = new ArrayList(); public enum StatusEnum { @@ -94,10 +95,10 @@ public enum StatusEnum { /** **/ @ApiModelProperty(required = true, value = "") - public java.util.List getPhotoUrls() { + public List getPhotoUrls() { return photoUrls; } - public void setPhotoUrls(java.util.List photoUrls) { + public void setPhotoUrls(List photoUrls) { this.photoUrls = photoUrls; } @@ -105,10 +106,10 @@ public enum StatusEnum { /** **/ @ApiModelProperty(value = "") - public java.util.List getTags() { + public List getTags() { return tags; } - public void setTags(java.util.List tags) { + public void setTags(List tags) { this.tags = tags; } From 43b3acf550a06e98c12990e8929bcc4a3e57dfc7 Mon Sep 17 00:00:00 2001 From: xhh Date: Mon, 12 Oct 2015 16:33:11 +0800 Subject: [PATCH 04/28] Remove duplicate fields from sub-classes of the Java codegen Closes #1308 --- .../codegen/languages/JavaInflectorServerCodegen.java | 6 ++---- .../swagger/codegen/languages/JaxRSServerCodegen.java | 6 ++---- .../codegen/languages/SpringMVCServerCodegen.java | 10 ++-------- 3 files changed, 6 insertions(+), 16 deletions(-) diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaInflectorServerCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaInflectorServerCodegen.java index 56dbdd0e48b..d678515f4cb 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaInflectorServerCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaInflectorServerCodegen.java @@ -22,10 +22,6 @@ import java.util.List; import java.util.Map; public class JavaInflectorServerCodegen extends JavaClientCodegen implements CodegenConfig { - protected String invokerPackage = "io.swagger.handler"; - protected String groupId = "io.swagger"; - protected String artifactId = "swagger-inflector-server"; - protected String artifactVersion = "1.0.0"; protected String title = "Swagger Inflector"; public JavaInflectorServerCodegen() { @@ -35,6 +31,8 @@ public class JavaInflectorServerCodegen extends JavaClientCodegen implements Cod modelTemplateFiles.put("model.mustache", ".java"); apiTemplateFiles.put("api.mustache", ".java"); templateDir = "JavaInflector"; + invokerPackage = "io.swagger.handler"; + artifactId = "swagger-inflector-server"; apiPackage = System.getProperty("swagger.codegen.inflector.apipackage", "io.swagger.handler"); modelPackage = System.getProperty("swagger.codegen.inflector.modelpackage", "io.swagger.model"); diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JaxRSServerCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JaxRSServerCodegen.java index eb0f6be03e9..883b08d8dfa 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JaxRSServerCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JaxRSServerCodegen.java @@ -16,16 +16,14 @@ import java.util.List; import java.util.Map; public class JaxRSServerCodegen extends JavaClientCodegen implements CodegenConfig { - protected String invokerPackage = "io.swagger.api"; - protected String groupId = "io.swagger"; - protected String artifactId = "swagger-jaxrs-server"; - protected String artifactVersion = "1.0.0"; protected String title = "Swagger Server"; public JaxRSServerCodegen() { super.processOpts(); sourceFolder = "src/gen/java"; + invokerPackage = "io.swagger.api"; + artifactId = "swagger-jaxrs-server"; outputFolder = System.getProperty("swagger.codegen.jaxrs.genfolder", "generated-code/javaJaxRS"); modelTemplateFiles.put("model.mustache", ".java"); diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/SpringMVCServerCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/SpringMVCServerCodegen.java index 6bd64b0e4f6..30d10073268 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/SpringMVCServerCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/SpringMVCServerCodegen.java @@ -15,13 +15,7 @@ import java.util.Map; import java.util.Iterator; public class SpringMVCServerCodegen extends JavaClientCodegen implements CodegenConfig { - protected String invokerPackage = "io.swagger.api"; - protected String groupId = "io.swagger"; - protected String artifactId = "swagger-spring-mvc-server"; - protected String artifactVersion = "1.0.0"; - protected String sourceFolder = "src/main/java"; protected String title = "Petstore Server"; - protected String configPackage = ""; public SpringMVCServerCodegen() { @@ -33,7 +27,8 @@ public class SpringMVCServerCodegen extends JavaClientCodegen implements Codegen apiPackage = "io.swagger.api"; modelPackage = "io.swagger.model"; configPackage = "io.swagger.configuration"; - + invokerPackage = "io.swagger.api"; + artifactId = "swagger-spring-mvc-server"; additionalProperties.put(CodegenConstants.INVOKER_PACKAGE, invokerPackage); additionalProperties.put(CodegenConstants.GROUP_ID, groupId); @@ -201,4 +196,3 @@ public class SpringMVCServerCodegen extends JavaClientCodegen implements Codegen return objs; } } - From 5ed52b3e1d2b04d3d55a3f18280dabee9f7215c3 Mon Sep 17 00:00:00 2001 From: cbornet Date: Mon, 12 Oct 2015 16:16:38 +0200 Subject: [PATCH 05/28] add gradle files with android support --- .../codegen/languages/JavaClientCodegen.java | 5 +- .../main/resources/Java/build.gradle.mustache | 107 ++++++++++++++++++ .../resources/Java/gradle.properties.mustache | 2 + .../libraries/jersey2/build.gradle.mustache | 107 ++++++++++++++++++ .../okhttp-gson/build.gradle.mustache | 102 +++++++++++++---- .../libraries/retrofit/build.gradle.mustache | 103 +++++++++++++++++ .../resources/Java/settings.gradle.mustache | 1 + .../client/petstore/java/default/build.gradle | 107 ++++++++++++++++++ .../petstore/java/default/gradle.properties | 2 + .../petstore/java/default/settings.gradle | 1 + .../client/petstore/java/jersey2/build.gradle | 107 ++++++++++++++++++ .../petstore/java/jersey2/gradle.properties | 2 + .../petstore/java/jersey2/settings.gradle | 1 + .../petstore/java/okhttp-gson/build.gradle | 102 +++++++++++++---- .../java/okhttp-gson/gradle.properties | 2 + .../petstore/java/okhttp-gson/settings.gradle | 1 + .../petstore/java/retrofit/build.gradle | 103 +++++++++++++++++ .../petstore/java/retrofit/gradle.properties | 2 + .../petstore/java/retrofit/settings.gradle | 1 + 19 files changed, 818 insertions(+), 40 deletions(-) create mode 100644 modules/swagger-codegen/src/main/resources/Java/build.gradle.mustache create mode 100644 modules/swagger-codegen/src/main/resources/Java/gradle.properties.mustache create mode 100644 modules/swagger-codegen/src/main/resources/Java/libraries/jersey2/build.gradle.mustache create mode 100644 modules/swagger-codegen/src/main/resources/Java/libraries/retrofit/build.gradle.mustache create mode 100644 modules/swagger-codegen/src/main/resources/Java/settings.gradle.mustache create mode 100644 samples/client/petstore/java/default/build.gradle create mode 100644 samples/client/petstore/java/default/gradle.properties create mode 100644 samples/client/petstore/java/default/settings.gradle create mode 100644 samples/client/petstore/java/jersey2/build.gradle create mode 100644 samples/client/petstore/java/jersey2/gradle.properties create mode 100644 samples/client/petstore/java/jersey2/settings.gradle create mode 100644 samples/client/petstore/java/okhttp-gson/gradle.properties create mode 100644 samples/client/petstore/java/okhttp-gson/settings.gradle create mode 100644 samples/client/petstore/java/retrofit/build.gradle create mode 100644 samples/client/petstore/java/retrofit/gradle.properties create mode 100644 samples/client/petstore/java/retrofit/settings.gradle diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java index 360dc9c0f2f..1d56c340dea 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java @@ -156,6 +156,9 @@ public class JavaClientCodegen extends DefaultCodegen implements CodegenConfig { final String invokerFolder = (sourceFolder + File.separator + invokerPackage).replace(".", File.separator); supportingFiles.add(new SupportingFile("pom.mustache", "", "pom.xml")); + supportingFiles.add(new SupportingFile("build.gradle.mustache", "", "build.gradle")); + supportingFiles.add(new SupportingFile("settings.gradle.mustache", "", "settings.gradle")); + supportingFiles.add(new SupportingFile("gradle.properties.mustache", "", "gradle.properties")); supportingFiles.add(new SupportingFile("ApiClient.mustache", invokerFolder, "ApiClient.java")); supportingFiles.add(new SupportingFile("StringUtil.mustache", invokerFolder, "StringUtil.java")); @@ -177,8 +180,6 @@ public class JavaClientCodegen extends DefaultCodegen implements CodegenConfig { if ("okhttp-gson".equals(getLibrary())) { // the "okhttp-gson" library template requires "ApiCallback.mustache" for async call supportingFiles.add(new SupportingFile("ApiCallback.mustache", invokerFolder, "ApiCallback.java")); - // "build.gradle" is for development with Gradle - supportingFiles.add(new SupportingFile("build.gradle.mustache", "", "build.gradle")); // "build.sbt" is for development with SBT supportingFiles.add(new SupportingFile("build.sbt.mustache", "", "build.sbt")); } else if ("retrofit".equals(getLibrary())) { diff --git a/modules/swagger-codegen/src/main/resources/Java/build.gradle.mustache b/modules/swagger-codegen/src/main/resources/Java/build.gradle.mustache new file mode 100644 index 00000000000..971dcd816a4 --- /dev/null +++ b/modules/swagger-codegen/src/main/resources/Java/build.gradle.mustache @@ -0,0 +1,107 @@ +group = '{{groupId}}' +version = '{{artifactVersion}}' + +buildscript { + repositories { + jcenter() + } + dependencies { + classpath 'com.android.tools.build:gradle:1.2.2' + classpath 'com.github.dcendents:android-maven-plugin:1.2' + } +} + +repositories { + jcenter() +} + + +if(hasProperty('target') && target == 'android') { + + apply plugin: 'com.android.library' + apply plugin: 'com.github.dcendents.android-maven' + + android { + compileSdkVersion 22 + buildToolsVersion '22.0.0' + defaultConfig { + minSdkVersion 14 + targetSdkVersion 22 + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_7 + targetCompatibility JavaVersion.VERSION_1_7 + } + + // Rename the aar correctly + libraryVariants.all { variant -> + variant.outputs.each { output -> + def outputFile = output.outputFile + if (outputFile != null && outputFile.name.endsWith('.aar')) { + def fileName = "${project.name}-${variant.baseName}-${version}.aar" + output.outputFile = new File(outputFile.parent, fileName) + } + } + } + } + + afterEvaluate { + android.libraryVariants.all { variant -> + def task = project.tasks.create "jar${variant.name.capitalize()}", Jar + task.description = "Create jar artifact for ${variant.name}" + task.dependsOn variant.javaCompile + task.from variant.javaCompile.destinationDir + task.destinationDir = project.file("${project.buildDir}/outputs/jar") + task.archiveName = "${project.name}-${variant.baseName}-${version}.jar" + artifacts.add('archives', task); + } + } + + task sourcesJar(type: Jar) { + from android.sourceSets.main.java.srcDirs + classifier = 'sources' + } + + artifacts { + archives sourcesJar + } + +} else { + + apply plugin: 'java' + apply plugin: 'maven' + + sourceCompatibility = JavaVersion.VERSION_1_7 + targetCompatibility = JavaVersion.VERSION_1_7 + + install { + repositories.mavenInstaller { + pom.artifactId = '{{artifactId}}' + } + } + + task execute(type:JavaExec) { + main = System.getProperty('mainClass') + classpath = sourceSets.main.runtimeClasspath + } +} + +ext { + swagger_annotations_version = "1.5.0" + jackson_version = "2.4.2" + jersey_version = "1.18" + jodatime_version = "2.3" + junit_version = "4.8.1" +} + +dependencies { + compile "io.swagger:swagger-annotations:$swagger_annotations_version" + compile "com.sun.jersey:jersey-client:$jersey_version" + compile "com.sun.jersey.contribs:jersey-multipart:$jersey_version" + compile "com.fasterxml.jackson.core:jackson-core:$jackson_version" + compile "com.fasterxml.jackson.core:jackson-annotations:$jackson_version" + compile "com.fasterxml.jackson.core:jackson-databind:$jackson_version" + compile "com.fasterxml.jackson.datatype:jackson-datatype-joda:2.1.5" + compile "joda-time:joda-time:$jodatime_version" + testCompile "junit:junit:$junit_version" +} diff --git a/modules/swagger-codegen/src/main/resources/Java/gradle.properties.mustache b/modules/swagger-codegen/src/main/resources/Java/gradle.properties.mustache new file mode 100644 index 00000000000..05644f0754a --- /dev/null +++ b/modules/swagger-codegen/src/main/resources/Java/gradle.properties.mustache @@ -0,0 +1,2 @@ +# Uncomment to build for Android +#target = android \ No newline at end of file diff --git a/modules/swagger-codegen/src/main/resources/Java/libraries/jersey2/build.gradle.mustache b/modules/swagger-codegen/src/main/resources/Java/libraries/jersey2/build.gradle.mustache new file mode 100644 index 00000000000..548c1854e5e --- /dev/null +++ b/modules/swagger-codegen/src/main/resources/Java/libraries/jersey2/build.gradle.mustache @@ -0,0 +1,107 @@ +group = '{{groupId}}' +version = '{{artifactVersion}}' + +buildscript { + repositories { + jcenter() + } + dependencies { + classpath 'com.android.tools.build:gradle:1.2.2' + classpath 'com.github.dcendents:android-maven-plugin:1.2' + } +} + +repositories { + jcenter() +} + + +if(hasProperty('target') && target == 'android') { + + apply plugin: 'com.android.library' + apply plugin: 'com.github.dcendents.android-maven' + + android { + compileSdkVersion 22 + buildToolsVersion '22.0.0' + defaultConfig { + minSdkVersion 14 + targetSdkVersion 22 + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_7 + targetCompatibility JavaVersion.VERSION_1_7 + } + + // Rename the aar correctly + libraryVariants.all { variant -> + variant.outputs.each { output -> + def outputFile = output.outputFile + if (outputFile != null && outputFile.name.endsWith('.aar')) { + def fileName = "${project.name}-${variant.baseName}-${version}.aar" + output.outputFile = new File(outputFile.parent, fileName) + } + } + } + } + + afterEvaluate { + android.libraryVariants.all { variant -> + def task = project.tasks.create "jar${variant.name.capitalize()}", Jar + task.description = "Create jar artifact for ${variant.name}" + task.dependsOn variant.javaCompile + task.from variant.javaCompile.destinationDir + task.destinationDir = project.file("${project.buildDir}/outputs/jar") + task.archiveName = "${project.name}-${variant.baseName}-${version}.jar" + artifacts.add('archives', task); + } + } + + task sourcesJar(type: Jar) { + from android.sourceSets.main.java.srcDirs + classifier = 'sources' + } + + artifacts { + archives sourcesJar + } + +} else { + + apply plugin: 'java' + apply plugin: 'maven' + + sourceCompatibility = JavaVersion.VERSION_1_7 + targetCompatibility = JavaVersion.VERSION_1_7 + + install { + repositories.mavenInstaller { + pom.artifactId = '{{artifactId}}' + } + } + + task execute(type:JavaExec) { + main = System.getProperty('mainClass') + classpath = sourceSets.main.runtimeClasspath + } +} + +ext { + swagger_annotations_version = "1.5.0" + jackson_version = "2.4.2" + jersey_version = "2.6" + jodatime_version = "2.3" + junit_version = "4.8.1" +} + +dependencies { + compile "io.swagger:swagger-annotations:$swagger_annotations_version" + compile "org.glassfish.jersey.core:jersey-client:$jersey_version" + compile "org.glassfish.jersey.media:jersey-media-multipart:$jersey_version" + compile "com.fasterxml.jackson.core:jackson-core:$jackson_version" + compile "com.fasterxml.jackson.core:jackson-annotations:$jackson_version" + compile "com.fasterxml.jackson.core:jackson-databind:$jackson_version" + compile "com.fasterxml.jackson.datatype:jackson-datatype-joda:2.1.5" + compile "joda-time:joda-time:$jodatime_version" + testCompile "junit:junit:$junit_version" +} diff --git a/modules/swagger-codegen/src/main/resources/Java/libraries/okhttp-gson/build.gradle.mustache b/modules/swagger-codegen/src/main/resources/Java/libraries/okhttp-gson/build.gradle.mustache index 02e1caa673a..289f9a6df72 100644 --- a/modules/swagger-codegen/src/main/resources/Java/libraries/okhttp-gson/build.gradle.mustache +++ b/modules/swagger-codegen/src/main/resources/Java/libraries/okhttp-gson/build.gradle.mustache @@ -1,11 +1,89 @@ -apply plugin: 'java' -apply plugin: 'maven' +group = '{{groupId}}' +version = '{{artifactVersion}}' -sourceCompatibility = JavaVersion.VERSION_1_7 -targetCompatibility = JavaVersion.VERSION_1_7 +buildscript { + repositories { + jcenter() + } + dependencies { + classpath 'com.android.tools.build:gradle:1.2.2' + classpath 'com.github.dcendents:android-maven-plugin:1.2' + } +} repositories { - mavenCentral() + jcenter() +} + + +if(hasProperty('target') && target == 'android') { + + apply plugin: 'com.android.library' + apply plugin: 'com.github.dcendents.android-maven' + + android { + compileSdkVersion 22 + buildToolsVersion '22.0.0' + defaultConfig { + minSdkVersion 14 + targetSdkVersion 22 + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_7 + targetCompatibility JavaVersion.VERSION_1_7 + } + + // Rename the aar correctly + libraryVariants.all { variant -> + variant.outputs.each { output -> + def outputFile = output.outputFile + if (outputFile != null && outputFile.name.endsWith('.aar')) { + def fileName = "${project.name}-${variant.baseName}-${version}.aar" + output.outputFile = new File(outputFile.parent, fileName) + } + } + } + } + + afterEvaluate { + android.libraryVariants.all { variant -> + def task = project.tasks.create "jar${variant.name.capitalize()}", Jar + task.description = "Create jar artifact for ${variant.name}" + task.dependsOn variant.javaCompile + task.from variant.javaCompile.destinationDir + task.destinationDir = project.file("${project.buildDir}/outputs/jar") + task.archiveName = "${project.name}-${variant.baseName}-${version}.jar" + artifacts.add('archives', task); + } + } + + task sourcesJar(type: Jar) { + from android.sourceSets.main.java.srcDirs + classifier = 'sources' + } + + artifacts { + archives sourcesJar + } + +} else { + + apply plugin: 'java' + apply plugin: 'maven' + + sourceCompatibility = JavaVersion.VERSION_1_7 + targetCompatibility = JavaVersion.VERSION_1_7 + + install { + repositories.mavenInstaller { + pom.artifactId = '{{artifactId}}' + } + } + + task execute(type:JavaExec) { + main = System.getProperty('mainClass') + classpath = sourceSets.main.runtimeClasspath + } } dependencies { @@ -15,17 +93,3 @@ dependencies { compile 'com.brsanthu:migbase64:2.2' testCompile 'junit:junit:4.8.1' } - -group = '{{groupId}}' -version = '{{artifactVersion}}' - -install { - repositories.mavenInstaller { - pom.artifactId = '{{artifactId}}' - } -} - -task execute(type:JavaExec) { - main = System.getProperty('mainClass') - classpath = sourceSets.main.runtimeClasspath -} diff --git a/modules/swagger-codegen/src/main/resources/Java/libraries/retrofit/build.gradle.mustache b/modules/swagger-codegen/src/main/resources/Java/libraries/retrofit/build.gradle.mustache new file mode 100644 index 00000000000..a285745505a --- /dev/null +++ b/modules/swagger-codegen/src/main/resources/Java/libraries/retrofit/build.gradle.mustache @@ -0,0 +1,103 @@ +group = '{{groupId}}' +version = '{{artifactVersion}}' + +buildscript { + repositories { + jcenter() + } + dependencies { + classpath 'com.android.tools.build:gradle:1.2.2' + classpath 'com.github.dcendents:android-maven-plugin:1.2' + } +} + +repositories { + jcenter() +} + + +if(hasProperty('target') && target == 'android') { + + apply plugin: 'com.android.library' + apply plugin: 'com.github.dcendents.android-maven' + + android { + compileSdkVersion 22 + buildToolsVersion '22.0.0' + defaultConfig { + minSdkVersion 14 + targetSdkVersion 22 + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_7 + targetCompatibility JavaVersion.VERSION_1_7 + } + + // Rename the aar correctly + libraryVariants.all { variant -> + variant.outputs.each { output -> + def outputFile = output.outputFile + if (outputFile != null && outputFile.name.endsWith('.aar')) { + def fileName = "${project.name}-${variant.baseName}-${version}.aar" + output.outputFile = new File(outputFile.parent, fileName) + } + } + } + } + + afterEvaluate { + android.libraryVariants.all { variant -> + def task = project.tasks.create "jar${variant.name.capitalize()}", Jar + task.description = "Create jar artifact for ${variant.name}" + task.dependsOn variant.javaCompile + task.from variant.javaCompile.destinationDir + task.destinationDir = project.file("${project.buildDir}/outputs/jar") + task.archiveName = "${project.name}-${variant.baseName}-${version}.jar" + artifacts.add('archives', task); + } + } + + task sourcesJar(type: Jar) { + from android.sourceSets.main.java.srcDirs + classifier = 'sources' + } + + artifacts { + archives sourcesJar + } + +} else { + + apply plugin: 'java' + apply plugin: 'maven' + + sourceCompatibility = JavaVersion.VERSION_1_7 + targetCompatibility = JavaVersion.VERSION_1_7 + + install { + repositories.mavenInstaller { + pom.artifactId = '{{artifactId}}' + } + } + + task execute(type:JavaExec) { + main = System.getProperty('mainClass') + classpath = sourceSets.main.runtimeClasspath + } +} + +ext { + okhttp_version = "2.3.0" + oltu_version = "1.0.0" + retrofit_version = "1.9.0" + swagger_annotations_version = "1.5.0" + junit_version = "4.12" +} + +dependencies { + compile "com.squareup.okhttp:okhttp:$okhttp_version" + compile "com.squareup.retrofit:retrofit:$retrofit_version" + compile "io.swagger:swagger-annotations:$swagger_annotations_version" + compile "org.apache.oltu.oauth2:org.apache.oltu.oauth2.client:$oltu_version" + testCompile "junit:junit:$junit_version" +} diff --git a/modules/swagger-codegen/src/main/resources/Java/settings.gradle.mustache b/modules/swagger-codegen/src/main/resources/Java/settings.gradle.mustache new file mode 100644 index 00000000000..b8fd6c4c41f --- /dev/null +++ b/modules/swagger-codegen/src/main/resources/Java/settings.gradle.mustache @@ -0,0 +1 @@ +rootProject.name = "{{artifactId}}" \ No newline at end of file diff --git a/samples/client/petstore/java/default/build.gradle b/samples/client/petstore/java/default/build.gradle new file mode 100644 index 00000000000..baa5ce97b01 --- /dev/null +++ b/samples/client/petstore/java/default/build.gradle @@ -0,0 +1,107 @@ +group = 'io.swagger' +version = '1.0.0' + +buildscript { + repositories { + jcenter() + } + dependencies { + classpath 'com.android.tools.build:gradle:1.2.2' + classpath 'com.github.dcendents:android-maven-plugin:1.2' + } +} + +repositories { + jcenter() +} + + +if(hasProperty('target') && target == 'android') { + + apply plugin: 'com.android.library' + apply plugin: 'com.github.dcendents.android-maven' + + android { + compileSdkVersion 22 + buildToolsVersion '22.0.0' + defaultConfig { + minSdkVersion 14 + targetSdkVersion 22 + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_7 + targetCompatibility JavaVersion.VERSION_1_7 + } + + // Rename the aar correctly + libraryVariants.all { variant -> + variant.outputs.each { output -> + def outputFile = output.outputFile + if (outputFile != null && outputFile.name.endsWith('.aar')) { + def fileName = "${project.name}-${variant.baseName}-${version}.aar" + output.outputFile = new File(outputFile.parent, fileName) + } + } + } + } + + afterEvaluate { + android.libraryVariants.all { variant -> + def task = project.tasks.create "jar${variant.name.capitalize()}", Jar + task.description = "Create jar artifact for ${variant.name}" + task.dependsOn variant.javaCompile + task.from variant.javaCompile.destinationDir + task.destinationDir = project.file("${project.buildDir}/outputs/jar") + task.archiveName = "${project.name}-${variant.baseName}-${version}.jar" + artifacts.add('archives', task); + } + } + + task sourcesJar(type: Jar) { + from android.sourceSets.main.java.srcDirs + classifier = 'sources' + } + + artifacts { + archives sourcesJar + } + +} else { + + apply plugin: 'java' + apply plugin: 'maven' + + sourceCompatibility = JavaVersion.VERSION_1_7 + targetCompatibility = JavaVersion.VERSION_1_7 + + install { + repositories.mavenInstaller { + pom.artifactId = 'swagger-java-client' + } + } + + task execute(type:JavaExec) { + main = System.getProperty('mainClass') + classpath = sourceSets.main.runtimeClasspath + } +} + +ext { + swagger_annotations_version = "1.5.0" + jackson_version = "2.4.2" + jersey_version = "1.18" + jodatime_version = "2.3" + junit_version = "4.8.1" +} + +dependencies { + compile "io.swagger:swagger-annotations:$swagger_annotations_version" + compile "com.sun.jersey:jersey-client:$jersey_version" + compile "com.sun.jersey.contribs:jersey-multipart:$jersey_version" + compile "com.fasterxml.jackson.core:jackson-core:$jackson_version" + compile "com.fasterxml.jackson.core:jackson-annotations:$jackson_version" + compile "com.fasterxml.jackson.core:jackson-databind:$jackson_version" + compile "com.fasterxml.jackson.datatype:jackson-datatype-joda:2.1.5" + compile "joda-time:joda-time:$jodatime_version" + testCompile "junit:junit:$junit_version" +} diff --git a/samples/client/petstore/java/default/gradle.properties b/samples/client/petstore/java/default/gradle.properties new file mode 100644 index 00000000000..05644f0754a --- /dev/null +++ b/samples/client/petstore/java/default/gradle.properties @@ -0,0 +1,2 @@ +# Uncomment to build for Android +#target = android \ No newline at end of file diff --git a/samples/client/petstore/java/default/settings.gradle b/samples/client/petstore/java/default/settings.gradle new file mode 100644 index 00000000000..55640f75122 --- /dev/null +++ b/samples/client/petstore/java/default/settings.gradle @@ -0,0 +1 @@ +rootProject.name = "swagger-java-client" \ No newline at end of file diff --git a/samples/client/petstore/java/jersey2/build.gradle b/samples/client/petstore/java/jersey2/build.gradle new file mode 100644 index 00000000000..9727e5693e6 --- /dev/null +++ b/samples/client/petstore/java/jersey2/build.gradle @@ -0,0 +1,107 @@ +group = 'io.swagger' +version = '1.0.0' + +buildscript { + repositories { + jcenter() + } + dependencies { + classpath 'com.android.tools.build:gradle:1.2.2' + classpath 'com.github.dcendents:android-maven-plugin:1.2' + } +} + +repositories { + jcenter() +} + + +if(hasProperty('target') && target == 'android') { + + apply plugin: 'com.android.library' + apply plugin: 'com.github.dcendents.android-maven' + + android { + compileSdkVersion 22 + buildToolsVersion '22.0.0' + defaultConfig { + minSdkVersion 14 + targetSdkVersion 22 + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_7 + targetCompatibility JavaVersion.VERSION_1_7 + } + + // Rename the aar correctly + libraryVariants.all { variant -> + variant.outputs.each { output -> + def outputFile = output.outputFile + if (outputFile != null && outputFile.name.endsWith('.aar')) { + def fileName = "${project.name}-${variant.baseName}-${version}.aar" + output.outputFile = new File(outputFile.parent, fileName) + } + } + } + } + + afterEvaluate { + android.libraryVariants.all { variant -> + def task = project.tasks.create "jar${variant.name.capitalize()}", Jar + task.description = "Create jar artifact for ${variant.name}" + task.dependsOn variant.javaCompile + task.from variant.javaCompile.destinationDir + task.destinationDir = project.file("${project.buildDir}/outputs/jar") + task.archiveName = "${project.name}-${variant.baseName}-${version}.jar" + artifacts.add('archives', task); + } + } + + task sourcesJar(type: Jar) { + from android.sourceSets.main.java.srcDirs + classifier = 'sources' + } + + artifacts { + archives sourcesJar + } + +} else { + + apply plugin: 'java' + apply plugin: 'maven' + + sourceCompatibility = JavaVersion.VERSION_1_7 + targetCompatibility = JavaVersion.VERSION_1_7 + + install { + repositories.mavenInstaller { + pom.artifactId = 'swagger-petstore-jersey2' + } + } + + task execute(type:JavaExec) { + main = System.getProperty('mainClass') + classpath = sourceSets.main.runtimeClasspath + } +} + +ext { + swagger_annotations_version = "1.5.0" + jackson_version = "2.4.2" + jersey_version = "2.6" + jodatime_version = "2.3" + junit_version = "4.8.1" +} + +dependencies { + compile "io.swagger:swagger-annotations:$swagger_annotations_version" + compile "org.glassfish.jersey.core:jersey-client:$jersey_version" + compile "org.glassfish.jersey.media:jersey-media-multipart:$jersey_version" + compile "com.fasterxml.jackson.core:jackson-core:$jackson_version" + compile "com.fasterxml.jackson.core:jackson-annotations:$jackson_version" + compile "com.fasterxml.jackson.core:jackson-databind:$jackson_version" + compile "com.fasterxml.jackson.datatype:jackson-datatype-joda:2.1.5" + compile "joda-time:joda-time:$jodatime_version" + testCompile "junit:junit:$junit_version" +} diff --git a/samples/client/petstore/java/jersey2/gradle.properties b/samples/client/petstore/java/jersey2/gradle.properties new file mode 100644 index 00000000000..05644f0754a --- /dev/null +++ b/samples/client/petstore/java/jersey2/gradle.properties @@ -0,0 +1,2 @@ +# Uncomment to build for Android +#target = android \ No newline at end of file diff --git a/samples/client/petstore/java/jersey2/settings.gradle b/samples/client/petstore/java/jersey2/settings.gradle new file mode 100644 index 00000000000..498d426abee --- /dev/null +++ b/samples/client/petstore/java/jersey2/settings.gradle @@ -0,0 +1 @@ +rootProject.name = "swagger-petstore-jersey2" \ No newline at end of file diff --git a/samples/client/petstore/java/okhttp-gson/build.gradle b/samples/client/petstore/java/okhttp-gson/build.gradle index ada6a992573..eea46b819d0 100644 --- a/samples/client/petstore/java/okhttp-gson/build.gradle +++ b/samples/client/petstore/java/okhttp-gson/build.gradle @@ -1,11 +1,89 @@ -apply plugin: 'java' -apply plugin: 'maven' +group = 'io.swagger' +version = '1.0.0' -sourceCompatibility = JavaVersion.VERSION_1_7 -targetCompatibility = JavaVersion.VERSION_1_7 +buildscript { + repositories { + jcenter() + } + dependencies { + classpath 'com.android.tools.build:gradle:1.2.2' + classpath 'com.github.dcendents:android-maven-plugin:1.2' + } +} repositories { - mavenCentral() + jcenter() +} + + +if(hasProperty('target') && target == 'android') { + + apply plugin: 'com.android.library' + apply plugin: 'com.github.dcendents.android-maven' + + android { + compileSdkVersion 22 + buildToolsVersion '22.0.0' + defaultConfig { + minSdkVersion 14 + targetSdkVersion 22 + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_7 + targetCompatibility JavaVersion.VERSION_1_7 + } + + // Rename the aar correctly + libraryVariants.all { variant -> + variant.outputs.each { output -> + def outputFile = output.outputFile + if (outputFile != null && outputFile.name.endsWith('.aar')) { + def fileName = "${project.name}-${variant.baseName}-${version}.aar" + output.outputFile = new File(outputFile.parent, fileName) + } + } + } + } + + afterEvaluate { + android.libraryVariants.all { variant -> + def task = project.tasks.create "jar${variant.name.capitalize()}", Jar + task.description = "Create jar artifact for ${variant.name}" + task.dependsOn variant.javaCompile + task.from variant.javaCompile.destinationDir + task.destinationDir = project.file("${project.buildDir}/outputs/jar") + task.archiveName = "${project.name}-${variant.baseName}-${version}.jar" + artifacts.add('archives', task); + } + } + + task sourcesJar(type: Jar) { + from android.sourceSets.main.java.srcDirs + classifier = 'sources' + } + + artifacts { + archives sourcesJar + } + +} else { + + apply plugin: 'java' + apply plugin: 'maven' + + sourceCompatibility = JavaVersion.VERSION_1_7 + targetCompatibility = JavaVersion.VERSION_1_7 + + install { + repositories.mavenInstaller { + pom.artifactId = 'swagger-petstore-okhttp-gson' + } + } + + task execute(type:JavaExec) { + main = System.getProperty('mainClass') + classpath = sourceSets.main.runtimeClasspath + } } dependencies { @@ -15,17 +93,3 @@ dependencies { compile 'com.brsanthu:migbase64:2.2' testCompile 'junit:junit:4.8.1' } - -group = 'io.swagger' -version = '1.0.0' - -install { - repositories.mavenInstaller { - pom.artifactId = 'swagger-petstore-okhttp-gson' - } -} - -task execute(type:JavaExec) { - main = System.getProperty('mainClass') - classpath = sourceSets.main.runtimeClasspath -} diff --git a/samples/client/petstore/java/okhttp-gson/gradle.properties b/samples/client/petstore/java/okhttp-gson/gradle.properties new file mode 100644 index 00000000000..05644f0754a --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson/gradle.properties @@ -0,0 +1,2 @@ +# Uncomment to build for Android +#target = android \ No newline at end of file diff --git a/samples/client/petstore/java/okhttp-gson/settings.gradle b/samples/client/petstore/java/okhttp-gson/settings.gradle new file mode 100644 index 00000000000..b73eec84591 --- /dev/null +++ b/samples/client/petstore/java/okhttp-gson/settings.gradle @@ -0,0 +1 @@ +rootProject.name = "swagger-petstore-okhttp-gson" \ No newline at end of file diff --git a/samples/client/petstore/java/retrofit/build.gradle b/samples/client/petstore/java/retrofit/build.gradle new file mode 100644 index 00000000000..710d9da9a54 --- /dev/null +++ b/samples/client/petstore/java/retrofit/build.gradle @@ -0,0 +1,103 @@ +group = 'io.swagger' +version = '1.0.0' + +buildscript { + repositories { + jcenter() + } + dependencies { + classpath 'com.android.tools.build:gradle:1.2.2' + classpath 'com.github.dcendents:android-maven-plugin:1.2' + } +} + +repositories { + jcenter() +} + + +if(hasProperty('target') && target == 'android') { + + apply plugin: 'com.android.library' + apply plugin: 'com.github.dcendents.android-maven' + + android { + compileSdkVersion 22 + buildToolsVersion '22.0.0' + defaultConfig { + minSdkVersion 14 + targetSdkVersion 22 + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_7 + targetCompatibility JavaVersion.VERSION_1_7 + } + + // Rename the aar correctly + libraryVariants.all { variant -> + variant.outputs.each { output -> + def outputFile = output.outputFile + if (outputFile != null && outputFile.name.endsWith('.aar')) { + def fileName = "${project.name}-${variant.baseName}-${version}.aar" + output.outputFile = new File(outputFile.parent, fileName) + } + } + } + } + + afterEvaluate { + android.libraryVariants.all { variant -> + def task = project.tasks.create "jar${variant.name.capitalize()}", Jar + task.description = "Create jar artifact for ${variant.name}" + task.dependsOn variant.javaCompile + task.from variant.javaCompile.destinationDir + task.destinationDir = project.file("${project.buildDir}/outputs/jar") + task.archiveName = "${project.name}-${variant.baseName}-${version}.jar" + artifacts.add('archives', task); + } + } + + task sourcesJar(type: Jar) { + from android.sourceSets.main.java.srcDirs + classifier = 'sources' + } + + artifacts { + archives sourcesJar + } + +} else { + + apply plugin: 'java' + apply plugin: 'maven' + + sourceCompatibility = JavaVersion.VERSION_1_7 + targetCompatibility = JavaVersion.VERSION_1_7 + + install { + repositories.mavenInstaller { + pom.artifactId = 'swagger-petstore-retrofit' + } + } + + task execute(type:JavaExec) { + main = System.getProperty('mainClass') + classpath = sourceSets.main.runtimeClasspath + } +} + +ext { + okhttp_version = "2.3.0" + oltu_version = "1.0.0" + retrofit_version = "1.9.0" + swagger_annotations_version = "1.5.0" + junit_version = "4.12" +} + +dependencies { + compile "com.squareup.okhttp:okhttp:$okhttp_version" + compile "com.squareup.retrofit:retrofit:$retrofit_version" + compile "io.swagger:swagger-annotations:$swagger_annotations_version" + compile "org.apache.oltu.oauth2:org.apache.oltu.oauth2.client:$oltu_version" + testCompile "junit:junit:$junit_version" +} diff --git a/samples/client/petstore/java/retrofit/gradle.properties b/samples/client/petstore/java/retrofit/gradle.properties new file mode 100644 index 00000000000..05644f0754a --- /dev/null +++ b/samples/client/petstore/java/retrofit/gradle.properties @@ -0,0 +1,2 @@ +# Uncomment to build for Android +#target = android \ No newline at end of file diff --git a/samples/client/petstore/java/retrofit/settings.gradle b/samples/client/petstore/java/retrofit/settings.gradle new file mode 100644 index 00000000000..7e540c099de --- /dev/null +++ b/samples/client/petstore/java/retrofit/settings.gradle @@ -0,0 +1 @@ +rootProject.name = "swagger-petstore-retrofit" \ No newline at end of file From 17545e959ac3edf1bd5bca87821b72e16399e9c5 Mon Sep 17 00:00:00 2001 From: xhh Date: Tue, 13 Oct 2015 10:32:07 +0800 Subject: [PATCH 06/28] Handle enum names starting with number in Java client --- .../io/swagger/codegen/languages/JavaClientCodegen.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java index 360dc9c0f2f..df4f07e25e6 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java @@ -426,7 +426,12 @@ public class JavaClientCodegen extends DefaultCodegen implements CodegenConfig { } private String toEnumVarName(String value) { - return value.replaceAll("\\W+", "_").toUpperCase(); + String var = value.replaceAll("\\W+", "_").toUpperCase(); + if (var.matches("\\d.*")) { + return "_" + var; + } else { + return var; + } } private CodegenModel reconcileInlineEnums(CodegenModel codegenModel, CodegenModel parentCodegenModel) { From 1ef51e5ad7ae6dfee448bbd0702bc1b86fd2a2c5 Mon Sep 17 00:00:00 2001 From: xhh Date: Tue, 13 Oct 2015 16:22:02 +0800 Subject: [PATCH 07/28] Apply global security to operations when necessary Closes #1365 --- .../src/main/java/io/swagger/codegen/DefaultGenerator.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultGenerator.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultGenerator.java index a785f45bdf2..94f57d144c5 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultGenerator.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultGenerator.java @@ -12,6 +12,7 @@ import io.swagger.models.License; import io.swagger.models.Model; import io.swagger.models.Operation; import io.swagger.models.Path; +import io.swagger.models.SecurityRequirement; import io.swagger.models.Swagger; import io.swagger.models.auth.OAuth2Definition; import io.swagger.models.auth.SecuritySchemeDefinition; @@ -476,6 +477,12 @@ public class DefaultGenerator extends AbstractGenerator implements Generator { config.addOperationToGroup(sanitizeTag(tag), resourcePath, operation, co, operations); List>> securities = operation.getSecurity(); + if (securities == null && swagger.getSecurity() != null) { + securities = new ArrayList>>(); + for (SecurityRequirement sr : swagger.getSecurity()) { + securities.add(sr.getRequirements()); + } + } if (securities == null) { continue; } From 4e7d893a8e637d1072791a8422d4465412fce657 Mon Sep 17 00:00:00 2001 From: aersamkull Date: Tue, 13 Oct 2015 12:01:34 +0200 Subject: [PATCH 08/28] Updates to TypeScript Templates --- .../resources/TypeScript-Angular/api.mustache | 14 +++++++------- .../resources/TypeScript-Angular/model.mustache | 6 +++--- .../main/resources/TypeScript-node/api.mustache | 16 ++++++++-------- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/modules/swagger-codegen/src/main/resources/TypeScript-Angular/api.mustache b/modules/swagger-codegen/src/main/resources/TypeScript-Angular/api.mustache index 233ead8bee4..2045dd35382 100644 --- a/modules/swagger-codegen/src/main/resources/TypeScript-Angular/api.mustache +++ b/modules/swagger-codegen/src/main/resources/TypeScript-Angular/api.mustache @@ -3,7 +3,7 @@ /* tslint:disable:no-unused-variable member-ordering */ {{#operations}} -module {{package}} { +namespace {{package}} { 'use strict'; {{#description}} @@ -24,16 +24,16 @@ module {{package}} { {{#operation}} public {{nickname}} ({{#allParams}}{{paramName}}{{^required}}?{{/required}}: {{{dataType}}}, {{/allParams}}extraHttpRequestParams?: any ) : ng.IHttpPromise<{{#returnType}}{{{returnType}}}{{/returnType}}{{^returnType}}{}{{/returnType}}> { - var path = this.basePath + '{{path}}'; + let path = this.basePath + '{{path}}'; {{#pathParams}} path = path.replace('{' + '{{baseName}}' + '}', String({{paramName}})); {{/pathParams}} - var queryParameters: any = {}; - var headerParams: any = {}; + let queryParameters: any = {}; + let headerParams: any = {}; {{#hasFormParams}} - var formParams: any = {}; + let formParams: any = {}; {{/hasFormParams}} {{#allParams}} @@ -63,7 +63,7 @@ module {{package}} { formParams['{{baseName}}'] = {{paramName}}; {{/formParams}} - var httpRequestParams: any = { + let httpRequestParams: any = { method: '{{httpMethod}}', url: path, json: {{#hasFormParams}}false{{/hasFormParams}}{{^hasFormParams}}true{{/hasFormParams}}, @@ -76,7 +76,7 @@ module {{package}} { }; if (extraHttpRequestParams) { - for (var k in extraHttpRequestParams) { + for (let k in extraHttpRequestParams) { if (extraHttpRequestParams.hasOwnProperty(k)) { httpRequestParams[k] = extraHttpRequestParams[k]; } diff --git a/modules/swagger-codegen/src/main/resources/TypeScript-Angular/model.mustache b/modules/swagger-codegen/src/main/resources/TypeScript-Angular/model.mustache index b425d14d5e4..5b57ed4dc94 100644 --- a/modules/swagger-codegen/src/main/resources/TypeScript-Angular/model.mustache +++ b/modules/swagger-codegen/src/main/resources/TypeScript-Angular/model.mustache @@ -1,6 +1,6 @@ /// -module {{package}} { +namespace {{package}} { 'use strict'; {{#models}} @@ -10,7 +10,7 @@ module {{package}} { * {{{description}}} */ {{/description}} - export class {{classname}} {{#parent}}extends {{{parent}}} {{/parent}}{ + export interface {{classname}} {{#parent}}extends {{{parent}}} {{/parent}}{ {{#vars}} {{#description}} @@ -23,7 +23,7 @@ module {{package}} { } {{#hasEnums}} - export module {{classname}} { + export namespace {{classname}} { {{#vars}} {{#isEnum}} diff --git a/modules/swagger-codegen/src/main/resources/TypeScript-node/api.mustache b/modules/swagger-codegen/src/main/resources/TypeScript-node/api.mustache index 6528a5d3a22..4d03ae0f424 100644 --- a/modules/swagger-codegen/src/main/resources/TypeScript-node/api.mustache +++ b/modules/swagger-codegen/src/main/resources/TypeScript-node/api.mustache @@ -27,7 +27,7 @@ export class {{classname}} {{#parent}}extends {{{parent}}} {{/parent}}{ } {{#hasEnums}} -export module {{classname}} { +export namespace {{classname}} { {{#vars}} {{#isEnum}} export enum {{datatypeWithEnum}} { {{#allowableValues}}{{#values}} @@ -157,15 +157,15 @@ export class {{classname}} { {{#operation}} public {{nickname}} ({{#allParams}}{{paramName}}{{^required}}?{{/required}}: {{{dataType}}}{{#hasMore}}, {{/hasMore}}{{/allParams}}) : Promise<{ response: http.ClientResponse; {{#returnType}}body: {{{returnType}}}; {{/returnType}} }> { - var path = this.url + this.basePath + '{{path}}'; + let path = this.url + this.basePath + '{{path}}'; {{#pathParams}} path = path.replace('{' + '{{baseName}}' + '}', String({{paramName}})); {{/pathParams}} - var queryParameters: any = {}; - var headerParams: any = {}; - var formParams: any = {}; + let queryParameters: any = {}; + let headerParams: any = {}; + let formParams: any = {}; {{#allParams}}{{#required}} // verify required parameter '{{paramName}}' is set @@ -183,7 +183,7 @@ export class {{classname}} { headerParams['{{baseName}}'] = {{paramName}}; {{/headerParams}} - var useFormData = false; + let useFormData = false; {{#formParams}} if ({{paramName}} !== undefined) { @@ -194,9 +194,9 @@ export class {{classname}} { {{/isFile}} {{/formParams}} - var deferred = promise.defer<{ response: http.ClientResponse; {{#returnType}}body: {{{returnType}}}; {{/returnType}} }>(); + let deferred = promise.defer<{ response: http.ClientResponse; {{#returnType}}body: {{{returnType}}}; {{/returnType}} }>(); - var requestOptions: request.Options = { + let requestOptions: request.Options = { method: '{{httpMethod}}', qs: queryParameters, headers: headerParams, From f603efc419e79dab5b0840f634c8581b5b01dbb2 Mon Sep 17 00:00:00 2001 From: cbornet Date: Tue, 13 Oct 2015 12:18:32 +0200 Subject: [PATCH 09/28] add retrofit to CI verified samples --- pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/pom.xml b/pom.xml index d2cbadb394f..27ce5744278 100644 --- a/pom.xml +++ b/pom.xml @@ -426,6 +426,7 @@ samples/client/petstore/java/default samples/client/petstore/java/jersey2 samples/client/petstore/java/okhttp-gson + samples/client/petstore/java/retrofit samples/client/petstore/scala samples/server/petstore/spring-mvc From 988de07c1798890d0468ecfdcfe32db5a246b119 Mon Sep 17 00:00:00 2001 From: aersamkull Date: Tue, 13 Oct 2015 13:32:01 +0200 Subject: [PATCH 10/28] Fixes noImplicitAny Error --- .../src/main/resources/TypeScript-Angular/api.mustache | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/swagger-codegen/src/main/resources/TypeScript-Angular/api.mustache b/modules/swagger-codegen/src/main/resources/TypeScript-Angular/api.mustache index 2045dd35382..9681634a765 100644 --- a/modules/swagger-codegen/src/main/resources/TypeScript-Angular/api.mustache +++ b/modules/swagger-codegen/src/main/resources/TypeScript-Angular/api.mustache @@ -16,7 +16,7 @@ namespace {{package}} { static $inject: string[] = ['$http', '$httpParamSerializer']; - constructor(private $http: ng.IHttpService, basePath?: string, private $httpParamSerializer?: (any) => any) { + constructor(private $http: ng.IHttpService, basePath?: string, private $httpParamSerializer?: (d: any) => any) { if (basePath) { this.basePath = basePath; } From e4e77d03f561ad380f8d801d41bf4ae645797452 Mon Sep 17 00:00:00 2001 From: xhh Date: Wed, 14 Oct 2015 20:40:10 +0800 Subject: [PATCH 11/28] Add test cases for global security --- .../swagger/codegen/DefaultGeneratorTest.java | 103 ++ .../test/resources/2_0/globalSecurity.json | 983 ++++++++++++++++++ 2 files changed, 1086 insertions(+) create mode 100644 modules/swagger-codegen/src/test/resources/2_0/globalSecurity.json diff --git a/modules/swagger-codegen/src/test/java/io/swagger/codegen/DefaultGeneratorTest.java b/modules/swagger-codegen/src/test/java/io/swagger/codegen/DefaultGeneratorTest.java index 5da6a01763c..18a115c6527 100644 --- a/modules/swagger-codegen/src/test/java/io/swagger/codegen/DefaultGeneratorTest.java +++ b/modules/swagger-codegen/src/test/java/io/swagger/codegen/DefaultGeneratorTest.java @@ -17,11 +17,14 @@ import java.io.OutputStreamWriter; import java.io.Writer; import java.nio.charset.StandardCharsets; import java.util.Arrays; +import java.util.List; +import java.util.Map; import static java.nio.charset.StandardCharsets.UTF_8; import static org.junit.Assert.fail; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertTrue; +import static org.testng.Assert.assertNull; /** * Tests for DefaultGenerator logic @@ -44,6 +47,95 @@ public class DefaultGeneratorTest { folder.delete(); } + @Test + public void testSecurityWithoutGlobal() throws Exception { + final Swagger swagger = new SwaggerParser().read("src/test/resources/2_0/petstore.json"); + CodegenConfig codegenConfig = new JavaClientCodegen(); + + ClientOptInput clientOptInput = new ClientOptInput().opts(new ClientOpts()).swagger(swagger).config(codegenConfig); + + DefaultGenerator gen = new DefaultGenerator(); + gen.opts(clientOptInput); + Map> paths = gen.processPaths(swagger.getPaths()); + + CodegenSecurity cs, apiKey, petstoreAuth; + + // security of "getPetById": api_key, petstore_auth + CodegenOperation getPetById = findCodegenOperationByOperationId(paths, "getPetById"); + assertEquals(getPetById.authMethods.size(), 2); + cs = getPetById.authMethods.get(0); + if ("api_key".equals(cs.name)) { + apiKey = cs; + petstoreAuth = getPetById.authMethods.get(1); + } else { + petstoreAuth = cs; + apiKey = getPetById.authMethods.get(1); + } + assertEquals(apiKey.name, "api_key"); + assertEquals(apiKey.type, "apiKey"); + assertEquals(petstoreAuth.name, "petstore_auth"); + assertEquals(petstoreAuth.type, "oauth2"); + + // security of "updatePetWithForm": petstore_auth + CodegenOperation updatePetWithForm = findCodegenOperationByOperationId(paths, "updatePetWithForm"); + assertEquals(updatePetWithForm.authMethods.size(), 1); + petstoreAuth = updatePetWithForm.authMethods.iterator().next(); + assertEquals(petstoreAuth.name, "petstore_auth"); + assertEquals(petstoreAuth.type, "oauth2"); + + // security of "loginUser": null (no global security either) + CodegenOperation loginUser = findCodegenOperationByOperationId(paths, "loginUser"); + assertNull(loginUser.authMethods); + } + + @Test + public void testSecurityWithGlobal() throws Exception { + final Swagger swagger = new SwaggerParser().read("src/test/resources/2_0/globalSecurity.json"); + CodegenConfig codegenConfig = new JavaClientCodegen(); + + ClientOptInput clientOptInput = new ClientOptInput().opts(new ClientOpts()).swagger(swagger).config(codegenConfig); + + DefaultGenerator gen = new DefaultGenerator(); + gen.opts(clientOptInput); + Map> paths = gen.processPaths(swagger.getPaths()); + + CodegenSecurity cs, apiKey, petstoreAuth; + + // security of "getPetById": api_key, petstore_auth + CodegenOperation getPetById = findCodegenOperationByOperationId(paths, "getPetById"); + assertEquals(getPetById.authMethods.size(), 2); + cs = getPetById.authMethods.get(0); + if ("api_key".equals(cs.name)) { + apiKey = cs; + petstoreAuth = getPetById.authMethods.get(1); + } else { + petstoreAuth = cs; + apiKey = getPetById.authMethods.get(1); + } + assertEquals(apiKey.name, "api_key"); + assertEquals(apiKey.type, "apiKey"); + assertEquals(petstoreAuth.name, "petstore_auth"); + assertEquals(petstoreAuth.type, "oauth2"); + + // security of "updatePetWithForm": petstore_auth + CodegenOperation updatePetWithForm = findCodegenOperationByOperationId(paths, "updatePetWithForm"); + assertEquals(updatePetWithForm.authMethods.size(), 1); + petstoreAuth = updatePetWithForm.authMethods.iterator().next(); + assertEquals(petstoreAuth.name, "petstore_auth"); + assertEquals(petstoreAuth.type, "oauth2"); + + // security of "loginUser": api_key (from global security) + CodegenOperation loginUser = findCodegenOperationByOperationId(paths, "loginUser"); + assertEquals(loginUser.authMethods.size(), 1); + apiKey = loginUser.authMethods.iterator().next(); + assertEquals(apiKey.name, "api_key"); + assertEquals(apiKey.type, "apiKey"); + + // security of "logoutUser": null (override global security) + CodegenOperation logoutUser = findCodegenOperationByOperationId(paths, "logoutUser"); + assertNull(logoutUser.authMethods); + } + @Test public void testSkipOverwrite() throws Exception { final File output = folder.getRoot(); @@ -89,4 +181,15 @@ public class DefaultGeneratorTest { out.close(); } + private CodegenOperation findCodegenOperationByOperationId(Map> paths, String operationId) { + for (List ops : paths.values()) { + for (CodegenOperation co : ops) { + if (operationId.equals(co.operationId)) { + return co; + } + } + } + return null; + } + } diff --git a/modules/swagger-codegen/src/test/resources/2_0/globalSecurity.json b/modules/swagger-codegen/src/test/resources/2_0/globalSecurity.json new file mode 100644 index 00000000000..3d1548e769c --- /dev/null +++ b/modules/swagger-codegen/src/test/resources/2_0/globalSecurity.json @@ -0,0 +1,983 @@ +{ + "swagger": "2.0", + "info": { + "description": "This is a sample server Petstore server. You can find out more about Swagger at http://swagger.io or on irc.freenode.net, #swagger. For this sample, you can use the api key \"special-key\" to test the authorization filters", + "version": "1.0.0", + "title": "Swagger Petstore", + "termsOfService": "http://swagger.io/terms/", + "contact": { + "email": "apiteam@swagger.io" + }, + "license": { + "name": "Apache 2.0", + "url": "http://www.apache.org/licenses/LICENSE-2.0.html" + } + }, + "host": "petstore.swagger.io", + "basePath": "/v2", + "schemes": [ + "http" + ], + "paths": { + "/pet": { + "post": { + "tags": [ + "pet" + ], + "summary": "Add a new pet to the store", + "description": "", + "operationId": "addPet", + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "description": "Pet object that needs to be added to the store", + "required": false, + "schema": { + "$ref": "#/definitions/Pet" + } + } + ], + "responses": { + "405": { + "description": "Invalid input" + } + }, + "security": [ + { + "petstore_auth": [ + "write:pets", + "read:pets" + ] + } + ] + }, + "put": { + "tags": [ + "pet" + ], + "summary": "Update an existing pet", + "description": "", + "operationId": "updatePet", + "consumes": [ + "application/json", + "application/xml" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "description": "Pet object that needs to be added to the store", + "required": false, + "schema": { + "$ref": "#/definitions/Pet" + } + } + ], + "responses": { + "405": { + "description": "Validation exception" + }, + "404": { + "description": "Pet not found" + }, + "400": { + "description": "Invalid ID supplied" + } + }, + "security": [ + { + "petstore_auth": [ + "write:pets", + "read:pets" + ] + } + ] + } + }, + "/pet/findByStatus": { + "get": { + "tags": [ + "pet" + ], + "summary": "Finds Pets by status", + "description": "Multiple status values can be provided with comma seperated strings", + "operationId": "findPetsByStatus", + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "name": "status", + "in": "query", + "description": "Status values that need to be considered for filter", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi", + "default": "available" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Pet" + } + } + }, + "400": { + "description": "Invalid status value" + } + }, + "security": [ + { + "petstore_auth": [ + "write:pets", + "read:pets" + ] + } + ] + } + }, + "/pet/findByTags": { + "get": { + "tags": [ + "pet" + ], + "summary": "Finds Pets by tags", + "description": "Muliple tags can be provided with comma seperated strings. Use tag1, tag2, tag3 for testing.", + "operationId": "findPetsByTags", + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "name": "tags", + "in": "query", + "description": "Tags to filter by", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Pet" + } + } + }, + "400": { + "description": "Invalid tag value" + } + }, + "security": [ + { + "petstore_auth": [ + "write:pets", + "read:pets" + ] + } + ] + } + }, + "/pet/{petId}": { + "get": { + "tags": [ + "pet" + ], + "summary": "Find pet by ID", + "description": "Returns a pet when ID < 10. ID > 10 or nonintegers will simulate API error conditions", + "operationId": "getPetById", + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "name": "petId", + "in": "path", + "description": "ID of pet that needs to be fetched", + "required": true, + "type": "integer", + "format": "int64" + } + ], + "responses": { + "404": { + "description": "Pet not found" + }, + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/Pet" + } + }, + "400": { + "description": "Invalid ID supplied" + } + }, + "security": [ + { + "api_key": [] + }, + { + "petstore_auth": [ + "write:pets", + "read:pets" + ] + } + ] + }, + "post": { + "tags": [ + "pet" + ], + "summary": "Updates a pet in the store with form data", + "description": "", + "operationId": "updatePetWithForm", + "consumes": [ + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "name": "petId", + "in": "path", + "description": "ID of pet that needs to be updated", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "formData", + "description": "Updated name of the pet", + "required": false, + "type": "string" + }, + { + "name": "status", + "in": "formData", + "description": "Updated status of the pet", + "required": false, + "type": "string" + } + ], + "responses": { + "405": { + "description": "Invalid input" + } + }, + "security": [ + { + "petstore_auth": [ + "write:pets", + "read:pets" + ] + } + ] + }, + "delete": { + "tags": [ + "pet" + ], + "summary": "Deletes a pet", + "description": "", + "operationId": "deletePet", + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "name": "api_key", + "in": "header", + "description": "", + "required": false, + "type": "string" + }, + { + "name": "petId", + "in": "path", + "description": "Pet id to delete", + "required": true, + "type": "integer", + "format": "int64" + } + ], + "responses": { + "400": { + "description": "Invalid pet value" + } + }, + "security": [ + { + "petstore_auth": [ + "write:pets", + "read:pets" + ] + } + ] + } + }, + "/pet/{petId}/uploadImage": { + "post": { + "tags": [ + "pet" + ], + "summary": "uploads an image", + "description": "", + "operationId": "uploadFile", + "consumes": [ + "multipart/form-data" + ], + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "name": "petId", + "in": "path", + "description": "ID of pet to update", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "name": "additionalMetadata", + "in": "formData", + "description": "Additional data to pass to server", + "required": false, + "type": "string" + }, + { + "name": "file", + "in": "formData", + "description": "file to upload", + "required": false, + "type": "file" + } + ], + "responses": { + "default": { + "description": "successful operation" + } + }, + "security": [ + { + "petstore_auth": [ + "write:pets", + "read:pets" + ] + } + ] + } + }, + "/store/inventory": { + "get": { + "tags": [ + "store" + ], + "summary": "Returns pet inventories by status", + "description": "Returns a map of status codes to quantities", + "operationId": "getInventory", + "produces": [ + "application/json", + "application/xml" + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "type": "object", + "additionalProperties": { + "type": "integer", + "format": "int32" + } + } + } + }, + "security": [ + { + "api_key": [] + } + ] + } + }, + "/store/order": { + "post": { + "tags": [ + "store" + ], + "summary": "Place an order for a pet", + "description": "", + "operationId": "placeOrder", + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "description": "order placed for purchasing the pet", + "required": false, + "schema": { + "$ref": "#/definitions/Order" + } + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/Order" + } + }, + "400": { + "description": "Invalid Order" + } + } + } + }, + "/store/order/{orderId}": { + "get": { + "tags": [ + "store" + ], + "summary": "Find purchase order by ID", + "description": "For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions", + "operationId": "getOrderById", + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "name": "orderId", + "in": "path", + "description": "ID of pet that needs to be fetched", + "required": true, + "type": "string" + } + ], + "responses": { + "404": { + "description": "Order not found" + }, + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/Order" + } + }, + "400": { + "description": "Invalid ID supplied" + } + } + }, + "delete": { + "tags": [ + "store" + ], + "summary": "Delete purchase order by ID", + "description": "For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors", + "operationId": "deleteOrder", + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "name": "orderId", + "in": "path", + "description": "ID of the order that needs to be deleted", + "required": true, + "type": "string" + } + ], + "responses": { + "404": { + "description": "Order not found" + }, + "400": { + "description": "Invalid ID supplied" + } + } + } + }, + "/user": { + "post": { + "tags": [ + "user" + ], + "summary": "Create user", + "description": "This can only be done by the logged in user.", + "operationId": "createUser", + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "description": "Created user object", + "required": false, + "schema": { + "$ref": "#/definitions/User" + } + } + ], + "responses": { + "default": { + "description": "successful operation" + } + } + } + }, + "/user/createWithArray": { + "post": { + "tags": [ + "user" + ], + "summary": "Creates list of users with given input array", + "description": "", + "operationId": "createUsersWithArrayInput", + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "description": "List of user object", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/User" + } + } + } + ], + "responses": { + "default": { + "description": "successful operation" + } + } + } + }, + "/user/createWithList": { + "post": { + "tags": [ + "user" + ], + "summary": "Creates list of users with given input array", + "description": "", + "operationId": "createUsersWithListInput", + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "description": "List of user object", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/User" + } + } + } + ], + "responses": { + "default": { + "description": "successful operation" + } + } + } + }, + "/user/login": { + "get": { + "tags": [ + "user" + ], + "summary": "Logs user into the system", + "description": "", + "operationId": "loginUser", + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "name": "username", + "in": "query", + "description": "The user name for login", + "required": false, + "type": "string" + }, + { + "name": "password", + "in": "query", + "description": "The password for login in clear text", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "type": "string" + } + }, + "400": { + "description": "Invalid username/password supplied" + } + } + } + }, + "/user/logout": { + "get": { + "tags": [ + "user" + ], + "summary": "Logs out current logged in user session", + "description": "", + "operationId": "logoutUser", + "produces": [ + "application/json", + "application/xml" + ], + "responses": { + "default": { + "description": "successful operation" + } + }, + "security": [] + } + }, + "/user/{username}": { + "get": { + "tags": [ + "user" + ], + "summary": "Get user by user name", + "description": "", + "operationId": "getUserByName", + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "name": "username", + "in": "path", + "description": "The name that needs to be fetched. Use user1 for testing. ", + "required": true, + "type": "string" + } + ], + "responses": { + "404": { + "description": "User not found" + }, + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/User" + }, + "examples": { + "application/json": { + "id": 1, + "username": "johnp", + "firstName": "John", + "lastName": "Public", + "email": "johnp@swagger.io", + "password": "-secret-", + "phone": "0123456789", + "userStatus": 0 + } + } + }, + "400": { + "description": "Invalid username supplied" + } + } + }, + "put": { + "tags": [ + "user" + ], + "summary": "Updated user", + "description": "This can only be done by the logged in user.", + "operationId": "updateUser", + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "name": "username", + "in": "path", + "description": "name that need to be deleted", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "description": "Updated user object", + "required": false, + "schema": { + "$ref": "#/definitions/User" + } + } + ], + "responses": { + "404": { + "description": "User not found" + }, + "400": { + "description": "Invalid user supplied" + } + } + }, + "delete": { + "tags": [ + "user" + ], + "summary": "Delete user", + "description": "This can only be done by the logged in user.", + "operationId": "deleteUser", + "produces": [ + "application/json", + "application/xml" + ], + "parameters": [ + { + "name": "username", + "in": "path", + "description": "The name that needs to be deleted", + "required": true, + "type": "string" + } + ], + "responses": { + "404": { + "description": "User not found" + }, + "400": { + "description": "Invalid username supplied" + } + } + } + } + }, + "securityDefinitions": { + "api_key": { + "type": "apiKey", + "name": "api_key", + "in": "header" + }, + "petstore_auth": { + "type": "oauth2", + "authorizationUrl": "http://petstore.swagger.io/api/oauth/dialog", + "flow": "implicit", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } + } + }, + "security": [ + { + "api_key": [] + } + ], + "definitions": { + "User": { + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "username": { + "type": "string" + }, + "firstName": { + "type": "string" + }, + "lastName": { + "type": "string" + }, + "email": { + "type": "string" + }, + "password": { + "type": "string" + }, + "phone": { + "type": "string" + }, + "userStatus": { + "type": "integer", + "format": "int32", + "description": "User Status" + } + }, + "xml": { + "name": "User" + } + }, + "Category": { + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "name": { + "type": "string" + } + }, + "xml": { + "name": "Category" + } + }, + "Pet": { + "required": [ + "name", + "photoUrls" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "category": { + "$ref": "#/definitions/Category" + }, + "name": { + "type": "string", + "example": "doggie" + }, + "photoUrls": { + "type": "array", + "xml": { + "name": "photoUrl", + "wrapped": true + }, + "items": { + "type": "string" + } + }, + "tags": { + "type": "array", + "xml": { + "name": "tag", + "wrapped": true + }, + "items": { + "$ref": "#/definitions/Tag" + } + }, + "status": { + "type": "string", + "description": "pet status in the store", + "enum": [ + "available", + "pending", + "sold" + ] + } + }, + "xml": { + "name": "Pet" + } + }, + "Tag": { + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "name": { + "type": "string" + } + }, + "xml": { + "name": "Tag" + } + }, + "Order": { + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "petId": { + "type": "integer", + "format": "int64" + }, + "quantity": { + "type": "integer", + "format": "int32" + }, + "shipDate": { + "type": "string", + "format": "date-time" + }, + "status": { + "type": "string", + "description": "Order Status", + "enum": [ + "placed", + "approved", + "delivered" + ] + }, + "complete": { + "type": "boolean" + } + }, + "xml": { + "name": "Order" + } + } + } +} From 6d50ce6a774f1545234b7f8244921226824a6aca Mon Sep 17 00:00:00 2001 From: xhh Date: Thu, 15 Oct 2015 10:34:45 +0800 Subject: [PATCH 12/28] Fix a typo --- .../java/io/swagger/codegen/languages/JavaClientCodegen.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java index 5d61f1b5932..c559cf83f23 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java @@ -83,7 +83,7 @@ public class JavaClientCodegen extends DefaultCodegen implements CodegenConfig { cliOptions.add(new CliOption(CodegenConstants.SOURCE_FOLDER, CodegenConstants.SOURCE_FOLDER_DESC)); cliOptions.add(new CliOption(CodegenConstants.LOCAL_VARIABLE_PREFIX, CodegenConstants.LOCAL_VARIABLE_PREFIX_DESC)); cliOptions.add(new CliOption(CodegenConstants.SERIALIZABLE_MODEL, CodegenConstants.SERIALIZABLE_MODEL_DESC)); - cliOptions.add(new CliOption("fullJavaUtil", "whether to use full qualified name for classes under java.util (default to false)")); + cliOptions.add(new CliOption("fullJavaUtil", "whether to use fully qualified name for classes under java.util (default to false)")); supportedLibraries.put("", "HTTP client: Jersey client 1.18. JSON processing: Jackson 2.4.2"); supportedLibraries.put("jersey2", "HTTP client: Jersey client 2.6"); From bc5a6105676ec32c2f6db5ed30d446d1281acc66 Mon Sep 17 00:00:00 2001 From: xhh Date: Thu, 15 Oct 2015 15:17:30 +0800 Subject: [PATCH 13/28] Use the first security requirement from the array According to swagger spec, "there is a logical OR between the security requirements". The original behavior was to apply the security requirements as the logic AND and skip security requirements that include more that 1 security. --- .../io/swagger/codegen/DefaultGenerator.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultGenerator.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultGenerator.java index 94f57d144c5..1ec9aeb2c57 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultGenerator.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultGenerator.java @@ -483,16 +483,16 @@ public class DefaultGenerator extends AbstractGenerator implements Generator { securities.add(sr.getRequirements()); } } - if (securities == null) { + if (securities == null || securities.isEmpty()) { continue; } Map authMethods = new HashMap(); - for (Map> security : securities) { - if (security.size() != 1) { - //Not sure what to do - continue; - } - String securityName = security.keySet().iterator().next(); + // NOTE: Use only the first security requirement for now. + // See the "security" field of "Swagger Object": + // https://github.com/swagger-api/swagger-spec/blob/master/versions/2.0.md#swagger-object + // "there is a logical OR between the security requirements" + Map> security = securities.get(0); + for (String securityName : security.keySet()) { SecuritySchemeDefinition securityDefinition = fromSecurity(securityName); if (securityDefinition != null) { if(securityDefinition instanceof OAuth2Definition) { @@ -503,7 +503,7 @@ public class DefaultGenerator extends AbstractGenerator implements Generator { oauth2Operation.setFlow(oauth2Definition.getFlow()); oauth2Operation.setTokenUrl(oauth2Definition.getTokenUrl()); oauth2Operation.setScopes(new HashMap()); - for (String scope : security.values().iterator().next()) { + for (String scope : security.get(securityName)) { if (oauth2Definition.getScopes().containsKey(scope)) { oauth2Operation.addScope(scope, oauth2Definition.getScopes().get(scope)); } From 5a76a1b1551f1a83af37f8de32b79b4094c76a2c Mon Sep 17 00:00:00 2001 From: xhh Date: Thu, 15 Oct 2015 16:51:43 +0800 Subject: [PATCH 14/28] Fix tests regarding security --- .../swagger/codegen/DefaultGeneratorTest.java | 34 +++++-------------- 1 file changed, 8 insertions(+), 26 deletions(-) diff --git a/modules/swagger-codegen/src/test/java/io/swagger/codegen/DefaultGeneratorTest.java b/modules/swagger-codegen/src/test/java/io/swagger/codegen/DefaultGeneratorTest.java index 18a115c6527..2828d8994d7 100644 --- a/modules/swagger-codegen/src/test/java/io/swagger/codegen/DefaultGeneratorTest.java +++ b/modules/swagger-codegen/src/test/java/io/swagger/codegen/DefaultGeneratorTest.java @@ -58,23 +58,14 @@ public class DefaultGeneratorTest { gen.opts(clientOptInput); Map> paths = gen.processPaths(swagger.getPaths()); - CodegenSecurity cs, apiKey, petstoreAuth; + CodegenSecurity apiKey, petstoreAuth; - // security of "getPetById": api_key, petstore_auth + // security of "getPetById": api_key CodegenOperation getPetById = findCodegenOperationByOperationId(paths, "getPetById"); - assertEquals(getPetById.authMethods.size(), 2); - cs = getPetById.authMethods.get(0); - if ("api_key".equals(cs.name)) { - apiKey = cs; - petstoreAuth = getPetById.authMethods.get(1); - } else { - petstoreAuth = cs; - apiKey = getPetById.authMethods.get(1); - } + assertEquals(getPetById.authMethods.size(), 1); + apiKey = getPetById.authMethods.iterator().next(); assertEquals(apiKey.name, "api_key"); assertEquals(apiKey.type, "apiKey"); - assertEquals(petstoreAuth.name, "petstore_auth"); - assertEquals(petstoreAuth.type, "oauth2"); // security of "updatePetWithForm": petstore_auth CodegenOperation updatePetWithForm = findCodegenOperationByOperationId(paths, "updatePetWithForm"); @@ -99,23 +90,14 @@ public class DefaultGeneratorTest { gen.opts(clientOptInput); Map> paths = gen.processPaths(swagger.getPaths()); - CodegenSecurity cs, apiKey, petstoreAuth; + CodegenSecurity apiKey, petstoreAuth; - // security of "getPetById": api_key, petstore_auth + // security of "getPetById": api_key CodegenOperation getPetById = findCodegenOperationByOperationId(paths, "getPetById"); - assertEquals(getPetById.authMethods.size(), 2); - cs = getPetById.authMethods.get(0); - if ("api_key".equals(cs.name)) { - apiKey = cs; - petstoreAuth = getPetById.authMethods.get(1); - } else { - petstoreAuth = cs; - apiKey = getPetById.authMethods.get(1); - } + assertEquals(getPetById.authMethods.size(), 1); + apiKey = getPetById.authMethods.iterator().next(); assertEquals(apiKey.name, "api_key"); assertEquals(apiKey.type, "apiKey"); - assertEquals(petstoreAuth.name, "petstore_auth"); - assertEquals(petstoreAuth.type, "oauth2"); // security of "updatePetWithForm": petstore_auth CodegenOperation updatePetWithForm = findCodegenOperationByOperationId(paths, "updatePetWithForm"); From 1c217306076be110bc12752e6df33df0553c2caa Mon Sep 17 00:00:00 2001 From: xhh Date: Thu, 15 Oct 2015 17:56:38 +0800 Subject: [PATCH 15/28] Log a warning on more than 1 security requirements --- .../src/main/java/io/swagger/codegen/DefaultGenerator.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultGenerator.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultGenerator.java index 1ec9aeb2c57..6fc8eecd045 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultGenerator.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultGenerator.java @@ -491,6 +491,9 @@ public class DefaultGenerator extends AbstractGenerator implements Generator { // See the "security" field of "Swagger Object": // https://github.com/swagger-api/swagger-spec/blob/master/versions/2.0.md#swagger-object // "there is a logical OR between the security requirements" + if (securities.size() > 1) { + LOGGER.warn("More than 1 security requirements are found, using only the first one"); + } Map> security = securities.get(0); for (String securityName : security.keySet()) { SecuritySchemeDefinition securityDefinition = fromSecurity(securityName); From 21eb4061408b5a27a065bac15946688123298c47 Mon Sep 17 00:00:00 2001 From: gwen15 Date: Thu, 8 Oct 2015 10:00:59 +0200 Subject: [PATCH 16/28] Fix default long value in java client code generation The generated java code for a Long was "Long id=1;" which is not compilable by javac because "1" is a primitive integer that cannot be cast to a Long object. This fix generates now "Long id=1l;". --- .../io/swagger/codegen/languages/JavaClientCodegen.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java index ec157e6ddff..5f786ca7a3e 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java @@ -12,6 +12,7 @@ import io.swagger.codegen.DefaultCodegen; import io.swagger.codegen.SupportingFile; import io.swagger.models.Model; import io.swagger.models.properties.ArrayProperty; +import io.swagger.models.properties.LongProperty; import io.swagger.models.properties.MapProperty; import io.swagger.models.properties.Property; @@ -340,6 +341,12 @@ public class JavaClientCodegen extends DefaultCodegen implements CodegenConfig { pattern = "new HashMap()"; } return String.format(pattern, getTypeDeclaration(ap.getAdditionalProperties())); + } else if (p instanceof LongProperty) { + LongProperty dp = (LongProperty) p; + if (dp.getDefault() != null) { + return dp.getDefault().toString()+"l"; + } + return "null"; } return super.toDefaultValue(p); } From 0802f94d949c8a470eea0c0d0cc5dd8b050e637a Mon Sep 17 00:00:00 2001 From: gwen15 Date: Tue, 13 Oct 2015 09:41:02 +0200 Subject: [PATCH 17/28] Bug fix: some character replacement where done on the local directories names. The dot character was replaced by the file separator on the whole paths, not only on the package name based part. --- .../codegen/languages/CSharpClientCodegen.java | 13 ++++++------- .../languages/CsharpDotNet2ClientCodegen.java | 10 +++++----- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/CSharpClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/CSharpClientCodegen.java index 4b17715e665..bd3487d06df 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/CSharpClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/CSharpClientCodegen.java @@ -104,13 +104,13 @@ public class CSharpClientCodegen extends DefaultCodegen implements CodegenConfig } additionalProperties.put("clientPackage", clientPackage); - + supportingFiles.add(new SupportingFile("Configuration.mustache", - (sourceFolder + File.separator + clientPackage).replace(".", java.io.File.separator), "Configuration.cs")); + sourceFolder + File.separator + clientPackage.replace(".", java.io.File.separator), "Configuration.cs")); supportingFiles.add(new SupportingFile("ApiClient.mustache", - (sourceFolder + File.separator + clientPackage).replace(".", java.io.File.separator), "ApiClient.cs")); + sourceFolder + File.separator + clientPackage.replace(".", java.io.File.separator), "ApiClient.cs")); supportingFiles.add(new SupportingFile("ApiException.mustache", - (sourceFolder + File.separator + clientPackage).replace(".", java.io.File.separator), "ApiException.cs")); + sourceFolder + File.separator + clientPackage.replace(".", java.io.File.separator), "ApiException.cs")); supportingFiles.add(new SupportingFile("Newtonsoft.Json.dll", "bin", "Newtonsoft.Json.dll")); supportingFiles.add(new SupportingFile("RestSharp.dll", "bin", "RestSharp.dll")); supportingFiles.add(new SupportingFile("compile.mustache", "", "compile.bat")); @@ -137,12 +137,11 @@ public class CSharpClientCodegen extends DefaultCodegen implements CodegenConfig @Override public String apiFileFolder() { - - return outputFolder + File.separator + (sourceFolder + File.separator + apiPackage()).replace('.', File.separatorChar); + return outputFolder + File.separator + sourceFolder + File.separator + apiPackage().replace('.', File.separatorChar); } public String modelFileFolder() { - return outputFolder + File.separator + (sourceFolder + File.separator + modelPackage()).replace('.', File.separatorChar); + return outputFolder + File.separator + sourceFolder + File.separator + modelPackage().replace('.', File.separatorChar); } @Override diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/CsharpDotNet2ClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/CsharpDotNet2ClientCodegen.java index 432e7ae3fa2..9d9757a9131 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/CsharpDotNet2ClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/CsharpDotNet2ClientCodegen.java @@ -108,11 +108,11 @@ public class CsharpDotNet2ClientCodegen extends DefaultCodegen implements Codege } supportingFiles.add(new SupportingFile("Configuration.mustache", - (sourceFolder + File.separator + clientPackage).replace(".", java.io.File.separator), "Configuration.cs")); + sourceFolder + File.separator + clientPackage.replace(".", java.io.File.separator), "Configuration.cs")); supportingFiles.add(new SupportingFile("ApiClient.mustache", - (sourceFolder + File.separator + clientPackage).replace(".", java.io.File.separator), "ApiClient.cs")); + sourceFolder + File.separator + clientPackage.replace(".", java.io.File.separator), "ApiClient.cs")); supportingFiles.add(new SupportingFile("ApiException.mustache", - (sourceFolder + File.separator + clientPackage).replace(".", java.io.File.separator), "ApiException.cs")); + sourceFolder + File.separator + clientPackage.replace(".", java.io.File.separator), "ApiException.cs")); supportingFiles.add(new SupportingFile("packages.config.mustache", "vendor", "packages.config")); supportingFiles.add(new SupportingFile("compile-mono.sh.mustache", "", "compile-mono.sh")); supportingFiles.add(new SupportingFile("README.md", "", "README.md")); @@ -142,11 +142,11 @@ public class CsharpDotNet2ClientCodegen extends DefaultCodegen implements Codege @Override public String apiFileFolder() { - return (outputFolder + File.separator + sourceFolder + File.separator + apiPackage()).replace('.', File.separatorChar); + return outputFolder + File.separator + sourceFolder + File.separator + apiPackage().replace('.', File.separatorChar); } public String modelFileFolder() { - return (outputFolder + File.separator + sourceFolder + File.separator + modelPackage()).replace('.', File.separatorChar); + return outputFolder + File.separator + sourceFolder + File.separator + modelPackage().replace('.', File.separatorChar); } @Override From 97a5a8922fcd8b925eddc1325adbe3cb8936a882 Mon Sep 17 00:00:00 2001 From: akkie Date: Thu, 15 Oct 2015 16:07:35 +0200 Subject: [PATCH 18/28] Allow to disable SSL verification This pull request adds the possibility to disable SSL verification for hosts using a self-signed SSL certificate --- .../src/main/resources/php/ApiClient.mustache | 82 +++++------ .../main/resources/php/configuration.mustache | 128 +++++++++++------- 2 files changed, 124 insertions(+), 86 deletions(-) diff --git a/modules/swagger-codegen/src/main/resources/php/ApiClient.mustache b/modules/swagger-codegen/src/main/resources/php/ApiClient.mustache index 8927cbbecb3..9db41df2aee 100644 --- a/modules/swagger-codegen/src/main/resources/php/ApiClient.mustache +++ b/modules/swagger-codegen/src/main/resources/php/ApiClient.mustache @@ -1,11 +1,11 @@ config = $config; $this->serializer = new ObjectSerializer(); } - + /** * Get the config * @return Configuration @@ -87,7 +87,7 @@ class ApiClient { return $this->config; } - + /** * Get the serializer * @return ObjectSerializer @@ -96,7 +96,7 @@ class ApiClient { return $this->serializer; } - + /** * Get API key (with prefix if set) * @param string $apiKeyIdentifier name of apikey @@ -106,20 +106,20 @@ class ApiClient { $prefix = $this->config->getApiKeyPrefix($apiKeyIdentifier); $apiKey = $this->config->getApiKey($apiKeyIdentifier); - + if (!isset($apiKey)) { return null; } - + if (isset($prefix)) { $keyWithPrefix = $prefix." ".$apiKey; } else { $keyWithPrefix = $apiKey; } - + return $keyWithPrefix; } - + /** * Make the HTTP call (Sync) * @param string $resourcePath path to method endpoint @@ -133,28 +133,28 @@ class ApiClient */ public function callApi($resourcePath, $method, $queryParams, $postData, $headerParams, $responseType=null) { - + $headers = array(); - + // construct the http header $headerParams = array_merge( - (array)$this->config->getDefaultHeaders(), + (array)$this->config->getDefaultHeaders(), (array)$headerParams ); - + foreach ($headerParams as $key => $val) { $headers[] = "$key: $val"; } - + // form data if ($postData and in_array('Content-Type: application/x-www-form-urlencoded', $headers)) { $postData = http_build_query($postData); } else if ((is_object($postData) or is_array($postData)) and !in_array('Content-Type: multipart/form-data', $headers)) { // json model $postData = json_encode($this->serializer->sanitizeForSerialization($postData)); } - + $url = $this->config->getHost() . $resourcePath; - + $curl = curl_init(); // set timeout, if needed if ($this->config->getCurlTimeout() != 0) { @@ -162,13 +162,19 @@ class ApiClient } // return the result on success, rather than just TRUE curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); - + curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); - + + // disable SSL verification, if needed + if ($this->config->getSSLVerification() == false) { + curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); + curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); + } + if (! empty($queryParams)) { $url = ($url . '?' . http_build_query($queryParams)); } - + if ($method == self::$POST) { curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $postData); @@ -190,44 +196,44 @@ class ApiClient throw new ApiException('Method ' . $method . ' is not recognized.'); } curl_setopt($curl, CURLOPT_URL, $url); - + // Set user agent curl_setopt($curl, CURLOPT_USERAGENT, $this->config->getUserAgent()); - + // debugging for curl if ($this->config->getDebug()) { error_log("[DEBUG] HTTP Request body ~BEGIN~\n".print_r($postData, true)."\n~END~\n", 3, $this->config->getDebugFile()); - + curl_setopt($curl, CURLOPT_VERBOSE, 1); curl_setopt($curl, CURLOPT_STDERR, fopen($this->config->getDebugFile(), 'a')); } else { curl_setopt($curl, CURLOPT_VERBOSE, 0); } - + // obtain the HTTP response headers curl_setopt($curl, CURLOPT_HEADER, 1); - + // Make the request $response = curl_exec($curl); $http_header_size = curl_getinfo($curl, CURLINFO_HEADER_SIZE); $http_header = substr($response, 0, $http_header_size); $http_body = substr($response, $http_header_size); $response_info = curl_getinfo($curl); - + // debug HTTP response body if ($this->config->getDebug()) { error_log("[DEBUG] HTTP Response body ~BEGIN~\n".print_r($http_body, true)."\n~END~\n", 3, $this->config->getDebugFile()); } - + // Handle the response if ($response_info['http_code'] == 0) { throw new ApiException("API call to $url timed out: ".serialize($response_info), 0, null, null); } else if ($response_info['http_code'] >= 200 && $response_info['http_code'] <= 299 ) { - // return raw body if response is a file + // return raw body if response is a file if ($responseType == '\SplFileObject') { return array($http_body, $http_header); } - + $data = json_decode($http_body); if (json_last_error() > 0) { // if response is a string $data = $http_body; @@ -240,7 +246,7 @@ class ApiClient } return array($data, $http_header); } - + /** * Return the header 'Accept' based on an array of Accept provided * @@ -258,7 +264,7 @@ class ApiClient return implode(',', $accept); } } - + /** * Return the content type based on an array of content-type provided * diff --git a/modules/swagger-codegen/src/main/resources/php/configuration.mustache b/modules/swagger-codegen/src/main/resources/php/configuration.mustache index 981085c6378..96bc8a1b660 100644 --- a/modules/swagger-codegen/src/main/resources/php/configuration.mustache +++ b/modules/swagger-codegen/src/main/resources/php/configuration.mustache @@ -27,8 +27,8 @@ */ /** - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen + * NOTE: This class is auto generated by the swagger code generator program. + * https://github.com/swagger-api/swagger-codegen * Do not edit the class manually. */ @@ -48,70 +48,70 @@ class Configuration { private static $_defaultConfiguration = null; - - /** + + /** * Associate array to store API key(s) * * @var string[] */ protected $apiKeys = array(); - + /** * Associate array to store API prefix (e.g. Bearer) * * @var string[] */ protected $apiKeyPrefixes = array(); - - /** + + /** * Username for HTTP basic authentication * * @var string */ protected $username = ''; - + /** * Password for HTTP basic authentication * * @var string */ protected $password = ''; - + /** * The default instance of ApiClient * * @var \{{invokerPackage}}\ApiClient */ protected $defaultHeaders = array(); - + /** * The host * * @var string */ protected $host = '{{basePath}}'; - + /** * Timeout (second) of the HTTP request, by default set to 0, no timeout * - * @var string + * @var string */ protected $curlTimeout = 0; - + /** * User agent of the HTTP request, set to "PHP-Swagger" by default * * @var string */ protected $userAgent = "PHP-Swagger/{{artifactVersion}}"; - + /** * Debug switch (default set to false) * * @var bool */ protected $debug = false; - + /** * Debug file location (log to STDOUT by default) * @@ -126,6 +126,15 @@ class Configuration */ protected $tempFolderPath; + /** + * Indicates if SSL verification should be enabled or disabled. + * + * This is useful if the host uses a self-signed SSL certificate. + * + * @var boolean True if the certificate should be validated, false otherwise. + */ + protected $sslVerification = true; + /** * Constructor */ @@ -133,7 +142,7 @@ class Configuration { $this->tempFolderPath = sys_get_temp_dir(); } - + /** * Sets API key * @@ -147,7 +156,7 @@ class Configuration $this->apiKeys[$apiKeyIdentifier] = $key; return $this; } - + /** * Gets API key * @@ -159,7 +168,7 @@ class Configuration { return isset($this->apiKeys[$apiKeyIdentifier]) ? $this->apiKeys[$apiKeyIdentifier] : null; } - + /** * Sets the prefix for API key (e.g. Bearer) * @@ -173,7 +182,7 @@ class Configuration $this->apiKeyPrefixes[$apiKeyIdentifier] = $prefix; return $this; } - + /** * Gets API key prefix * @@ -185,7 +194,7 @@ class Configuration { return isset($this->apiKeyPrefixes[$apiKeyIdentifier]) ? $this->apiKeyPrefixes[$apiKeyIdentifier] : null; } - + /** * Sets the username for HTTP basic authentication * @@ -198,7 +207,7 @@ class Configuration $this->username = $username; return $this; } - + /** * Gets the username for HTTP basic authentication * @@ -208,7 +217,7 @@ class Configuration { return $this->username; } - + /** * Sets the password for HTTP basic authentication * @@ -221,7 +230,7 @@ class Configuration $this->password = $password; return $this; } - + /** * Gets the password for HTTP basic authentication * @@ -231,7 +240,7 @@ class Configuration { return $this->password; } - + /** * Adds a default header * @@ -245,11 +254,11 @@ class Configuration if (!is_string($headerName)) { throw new \InvalidArgumentException('Header name must be a string.'); } - + $this->defaultHeaders[$headerName] = $headerValue; return $this; } - + /** * Gets the default header * @@ -259,7 +268,7 @@ class Configuration { return $this->defaultHeaders; } - + /** * Deletes a default header * @@ -271,7 +280,7 @@ class Configuration { unset($this->defaultHeaders[$headerName]); } - + /** * Sets the host * @@ -284,7 +293,7 @@ class Configuration $this->host = $host; return $this; } - + /** * Gets the host * @@ -294,7 +303,7 @@ class Configuration { return $this->host; } - + /** * Sets the user agent of the api client * @@ -307,11 +316,11 @@ class Configuration if (!is_string($userAgent)) { throw new \InvalidArgumentException('User-agent must be a string.'); } - + $this->userAgent = $userAgent; return $this; } - + /** * Gets the user agent of the api client * @@ -321,7 +330,7 @@ class Configuration { return $this->userAgent; } - + /** * Sets the HTTP timeout value * @@ -334,11 +343,11 @@ class Configuration if (!is_numeric($seconds) || $seconds < 0) { throw new \InvalidArgumentException('Timeout value must be numeric and a non-negative number.'); } - + $this->curlTimeout = $seconds; return $this; } - + /** * Gets the HTTP timeout value * @@ -348,10 +357,10 @@ class Configuration { return $this->curlTimeout; } - + /** * Sets debug flag - * + * * @param bool $debug Debug flag * * @return Configuration @@ -361,7 +370,7 @@ class Configuration $this->debug = $debug; return $this; } - + /** * Gets the debug flag * @@ -371,7 +380,7 @@ class Configuration { return $this->debug; } - + /** * Sets the debug file * @@ -384,7 +393,7 @@ class Configuration $this->debugFile = $debugFile; return $this; } - + /** * Gets the debug file * @@ -394,7 +403,7 @@ class Configuration { return $this->debugFile; } - + /** * Sets the temp folder path * @@ -407,7 +416,7 @@ class Configuration $this->tempFolderPath = $tempFolderPath; return $this; } - + /** * Gets the temp folder path * @@ -417,7 +426,30 @@ class Configuration { return $this->tempFolderPath; } - + + /** + * Sets if SSL verification should be enabled or disabled + * + * @param boolean $sslVerification True if the certificate should be validated, false otherwise + * + * @return Configuration + */ + public function setSSLVerification($sslVerification) + { + $this->sslVerification = $sslVerification; + return $this; + } + + /** + * Gets if SSL verification should be enabled or disabled + * + * @return boolean True if the certificate should be validated, false otherwise + */ + public function getSSLVerification() + { + return $this->sslVerification; + } + /** * Gets the default configuration instance * @@ -428,10 +460,10 @@ class Configuration if (self::$_defaultConfiguration == null) { self::$_defaultConfiguration = new Configuration(); } - + return self::$_defaultConfiguration; } - + /** * Sets the detault configuration instance * @@ -443,7 +475,7 @@ class Configuration { self::$_defaultConfiguration = $config; } - + /** * Gets the essential information for debugging * @@ -457,8 +489,8 @@ class Configuration $report .= " Swagger Spec Version: {{version}}\n"; $report .= " SDK Package Version: {{artifactVersion}}\n"; $report .= " Temp Folder Path: ".self::getDefaultConfiguration()->getTempFolderPath()."\n"; - + return $report; } - + } From 02a9fe2618dab090b4572c8a0c247f51df96330d Mon Sep 17 00:00:00 2001 From: xhh Date: Fri, 16 Oct 2015 10:30:26 +0800 Subject: [PATCH 19/28] Add more test cases for global security --- .../swagger/codegen/DefaultGeneratorTest.java | 33 ++++++++++++++++--- .../test/resources/2_0/globalSecurity.json | 19 +++++++++-- 2 files changed, 46 insertions(+), 6 deletions(-) diff --git a/modules/swagger-codegen/src/test/java/io/swagger/codegen/DefaultGeneratorTest.java b/modules/swagger-codegen/src/test/java/io/swagger/codegen/DefaultGeneratorTest.java index 2828d8994d7..3ed3b131c85 100644 --- a/modules/swagger-codegen/src/test/java/io/swagger/codegen/DefaultGeneratorTest.java +++ b/modules/swagger-codegen/src/test/java/io/swagger/codegen/DefaultGeneratorTest.java @@ -90,7 +90,7 @@ public class DefaultGeneratorTest { gen.opts(clientOptInput); Map> paths = gen.processPaths(swagger.getPaths()); - CodegenSecurity apiKey, petstoreAuth; + CodegenSecurity cs, apiKey, apiKey2, petstoreAuth; // security of "getPetById": api_key CodegenOperation getPetById = findCodegenOperationByOperationId(paths, "getPetById"); @@ -106,16 +106,41 @@ public class DefaultGeneratorTest { assertEquals(petstoreAuth.name, "petstore_auth"); assertEquals(petstoreAuth.type, "oauth2"); - // security of "loginUser": api_key (from global security) + // security of "loginUser": api_key, petstore_auth (from global security) CodegenOperation loginUser = findCodegenOperationByOperationId(paths, "loginUser"); - assertEquals(loginUser.authMethods.size(), 1); - apiKey = loginUser.authMethods.iterator().next(); + assertEquals(loginUser.authMethods.size(), 2); + cs = loginUser.authMethods.get(0); + if ("api_key".equals(cs.name)) { + apiKey = cs; + petstoreAuth = loginUser.authMethods.get(1); + } else { + petstoreAuth = cs; + apiKey = loginUser.authMethods.get(1); + } assertEquals(apiKey.name, "api_key"); assertEquals(apiKey.type, "apiKey"); + assertEquals(petstoreAuth.name, "petstore_auth"); + assertEquals(petstoreAuth.type, "oauth2"); // security of "logoutUser": null (override global security) CodegenOperation logoutUser = findCodegenOperationByOperationId(paths, "logoutUser"); assertNull(logoutUser.authMethods); + + // security of "getUserByName": api_key, api_key2 (override global security) + CodegenOperation getUserByName = findCodegenOperationByOperationId(paths, "getUserByName"); + assertEquals(getUserByName.authMethods.size(), 2); + cs = getUserByName.authMethods.get(0); + if ("api_key".equals(cs.name)) { + apiKey = cs; + apiKey2 = getUserByName.authMethods.get(1); + } else { + apiKey2 = cs; + apiKey = getUserByName.authMethods.get(1); + } + assertEquals(apiKey.name, "api_key"); + assertEquals(apiKey.type, "apiKey"); + assertEquals(apiKey2.name, "api_key2"); + assertEquals(apiKey2.type, "apiKey"); } @Test diff --git a/modules/swagger-codegen/src/test/resources/2_0/globalSecurity.json b/modules/swagger-codegen/src/test/resources/2_0/globalSecurity.json index 3d1548e769c..36fa87664ae 100644 --- a/modules/swagger-codegen/src/test/resources/2_0/globalSecurity.json +++ b/modules/swagger-codegen/src/test/resources/2_0/globalSecurity.json @@ -738,7 +738,13 @@ "400": { "description": "Invalid username supplied" } - } + }, + "security": [ + { + "api_key": [], + "api_key2": [] + } + ] }, "put": { "tags": [ @@ -815,6 +821,11 @@ "name": "api_key", "in": "header" }, + "api_key2": { + "type": "apiKey", + "name": "api_key2", + "in": "query" + }, "petstore_auth": { "type": "oauth2", "authorizationUrl": "http://petstore.swagger.io/api/oauth/dialog", @@ -827,7 +838,11 @@ }, "security": [ { - "api_key": [] + "api_key": [], + "petstore_auth": [ + "write:pets", + "read:pets" + ] } ], "definitions": { From a1fa0b0834ce433a1f1437802d4d646e8907354d Mon Sep 17 00:00:00 2001 From: xhh Date: Fri, 16 Oct 2015 10:47:00 +0800 Subject: [PATCH 20/28] Rebuild Petstore samples --- .../default/src/main/java/io/swagger/client/api/PetApi.java | 4 ++-- .../jersey2/src/main/java/io/swagger/client/api/PetApi.java | 4 ++-- .../src/main/java/io/swagger/client/api/PetApi.java | 2 +- samples/client/petstore/ruby/lib/petstore/api/pet_api.rb | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/samples/client/petstore/java/default/src/main/java/io/swagger/client/api/PetApi.java b/samples/client/petstore/java/default/src/main/java/io/swagger/client/api/PetApi.java index 8715238ae14..8afd143cd91 100644 --- a/samples/client/petstore/java/default/src/main/java/io/swagger/client/api/PetApi.java +++ b/samples/client/petstore/java/default/src/main/java/io/swagger/client/api/PetApi.java @@ -11,7 +11,7 @@ import java.io.File; import java.util.*; -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-09T21:30:27.235+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-16T10:32:51.872+08:00") public class PetApi { private ApiClient apiClient; @@ -266,7 +266,7 @@ public class PetApi { }; final String contentType = apiClient.selectHeaderContentType(contentTypes); - String[] authNames = new String[] { "petstore_auth", "api_key" }; + String[] authNames = new String[] { "api_key" }; diff --git a/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/api/PetApi.java b/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/api/PetApi.java index b979fd08134..4095cb03633 100644 --- a/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/api/PetApi.java +++ b/samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/api/PetApi.java @@ -11,7 +11,7 @@ import java.io.File; import java.util.*; -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-09T21:30:19.416+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-16T10:40:45.419+08:00") public class PetApi { private ApiClient apiClient; @@ -237,7 +237,7 @@ public class PetApi { }; final String contentType = apiClient.selectHeaderContentType(contentTypes); - String[] authNames = new String[] { "petstore_auth", "api_key" }; + String[] authNames = new String[] { "api_key" }; TypeRef returnType = new TypeRef() {}; diff --git a/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/api/PetApi.java b/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/api/PetApi.java index 596596b935a..39154cf855e 100644 --- a/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/api/PetApi.java +++ b/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/api/PetApi.java @@ -290,7 +290,7 @@ public class PetApi { final String contentType = apiClient.selectHeaderContentType(contentTypes); headerParams.put("Content-Type", contentType); - String[] authNames = new String[] { "petstore_auth", "api_key" }; + String[] authNames = new String[] { "api_key" }; return apiClient.buildCall(path, "GET", queryParams, postBody, headerParams, formParams, authNames); } diff --git a/samples/client/petstore/ruby/lib/petstore/api/pet_api.rb b/samples/client/petstore/ruby/lib/petstore/api/pet_api.rb index a9d30a00147..26f7482b384 100644 --- a/samples/client/petstore/ruby/lib/petstore/api/pet_api.rb +++ b/samples/client/petstore/ruby/lib/petstore/api/pet_api.rb @@ -237,7 +237,7 @@ module Petstore post_body = nil - auth_names = ['petstore_auth', 'api_key'] + auth_names = ['api_key'] result = @api_client.call_api(:GET, path, :header_params => header_params, :query_params => query_params, From 7db67aa192235b8af3d3ce0db08455f694f5da21 Mon Sep 17 00:00:00 2001 From: Nat Luengnaruemitchai Date: Thu, 15 Oct 2015 20:44:20 -0700 Subject: [PATCH 21/28] add library in the additional option --- .../java/io/swagger/codegen/languages/JavaClientCodegen.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java index ec157e6ddff..934238c3def 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java @@ -152,6 +152,10 @@ public class JavaClientCodegen extends DefaultCodegen implements CodegenConfig { this.setSerializableModel(Boolean.valueOf((String)additionalProperties.get(CodegenConstants.SERIALIZABLE_MODEL).toString())); } + if (additionalProperties.containsKey(CodegenConstants.LIBRARY)) { + this.setLibrary((String) additionalProperties.get(CodegenConstants.LIBRARY)); + } + // need to put back serializableModel (boolean) into additionalProperties as value in additionalProperties is string additionalProperties.put(CodegenConstants.SERIALIZABLE_MODEL, serializableModel); From e0dfc1b43d5c2cb84e6fb39a161fbe6f30e2eede Mon Sep 17 00:00:00 2001 From: xhh Date: Fri, 16 Oct 2015 12:02:30 +0800 Subject: [PATCH 22/28] Ruby client: remove trailing slashes from base_url Closes #1399 --- .../resources/ruby/configuration.mustache | 2 +- .../ruby/lib/petstore/configuration.rb | 2 +- .../petstore/ruby/spec/configuration_spec.rb | 25 +++++++++++++++++++ 3 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 samples/client/petstore/ruby/spec/configuration_spec.rb diff --git a/modules/swagger-codegen/src/main/resources/ruby/configuration.mustache b/modules/swagger-codegen/src/main/resources/ruby/configuration.mustache index e74cc17573c..0385aaffd83 100644 --- a/modules/swagger-codegen/src/main/resources/ruby/configuration.mustache +++ b/modules/swagger-codegen/src/main/resources/ruby/configuration.mustache @@ -138,7 +138,7 @@ module {{moduleName}} end def base_url - url = "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}" + url = "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}".sub(/\/+\z/, '') URI.encode(url) end diff --git a/samples/client/petstore/ruby/lib/petstore/configuration.rb b/samples/client/petstore/ruby/lib/petstore/configuration.rb index 008be48ee4d..04479b53db0 100644 --- a/samples/client/petstore/ruby/lib/petstore/configuration.rb +++ b/samples/client/petstore/ruby/lib/petstore/configuration.rb @@ -138,7 +138,7 @@ module Petstore end def base_url - url = "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}" + url = "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}".sub(/\/+\z/, '') URI.encode(url) end diff --git a/samples/client/petstore/ruby/spec/configuration_spec.rb b/samples/client/petstore/ruby/spec/configuration_spec.rb new file mode 100644 index 00000000000..9f86f5602b7 --- /dev/null +++ b/samples/client/petstore/ruby/spec/configuration_spec.rb @@ -0,0 +1,25 @@ +require 'spec_helper' + +describe Petstore::Configuration do + let(:config) { Petstore::Configuration.instance } + + before(:each) do + Petstore.configure do |c| + c.host = 'petstore.swagger.io' + c.base_path = 'v2' + end + end + + describe '#base_url' do + it 'should have the default value' do + config.base_url.should == 'http://petstore.swagger.io/v2' + end + + it 'should remove trailing slashes' do + [nil, '', '/', '//'].each do |base_path| + config.base_path = base_path + config.base_url.should == 'http://petstore.swagger.io' + end + end + end +end From 71c5160739f8f2ddb93e1596827bed3f5e152d2a Mon Sep 17 00:00:00 2001 From: cbornet Date: Sun, 11 Oct 2015 00:18:10 +0200 Subject: [PATCH 23/28] add colllectionFormat support to retrofit Fix #1364 --- .../io/swagger/codegen/CodegenParameter.java | 4 +- .../io/swagger/codegen/DefaultCodegen.java | 3 + .../codegen/languages/JavaClientCodegen.java | 1 + .../retrofit/CollectionFormats.mustache | 95 +++++++++++++++++++ .../Java/libraries/retrofit/api.mustache | 4 + .../libraries/retrofit/queryParams.mustache | 2 +- .../io/swagger/client/CollectionFormats.java | 95 +++++++++++++++++++ .../java/io/swagger/client/StringUtil.java | 2 +- .../java/io/swagger/client/api/PetApi.java | 4 + .../java/io/swagger/client/api/StoreApi.java | 4 + .../java/io/swagger/client/api/UserApi.java | 4 + 11 files changed, 215 insertions(+), 3 deletions(-) create mode 100644 modules/swagger-codegen/src/main/resources/Java/libraries/retrofit/CollectionFormats.mustache create mode 100644 samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/CollectionFormats.java diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenParameter.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenParameter.java index 6dd85d10c27..38c70fcc82e 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenParameter.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenParameter.java @@ -7,7 +7,8 @@ import java.util.List; public class CodegenParameter { public Boolean isFormParam, isQueryParam, isPathParam, isHeaderParam, - isCookieParam, isBodyParam, isFile, notFile, hasMore, isContainer, secondaryParam, isBinary; + isCookieParam, isBodyParam, isFile, notFile, hasMore, isContainer, + secondaryParam, isBinary, isCollectionFormatMulti; public String baseName, paramName, dataType, collectionFormat, description, baseType, defaultValue; public String jsonSchema; public boolean isEnum; @@ -33,6 +34,7 @@ public class CodegenParameter { output.paramName = this.paramName; output.dataType = this.dataType; output.collectionFormat = this.collectionFormat; + output.isCollectionFormatMulti = this.isCollectionFormatMulti; output.description = this.description; output.baseType = this.baseType; output.isFormParam = this.isFormParam; 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 840e646b5d8..575f9742f50 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 @@ -1205,6 +1205,9 @@ public class DefaultCodegen { p._enum = model._enum; p.allowableValues = model.allowableValues; p.collectionFormat = collectionFormat; + if(collectionFormat != null && collectionFormat.equals("multi")) { + p.isCollectionFormatMulti = true; + } p.paramName = toParamName(qp.getName()); if (model.complexType != null) { diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java index cdcd15f9a5d..d265e5a7232 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java @@ -218,6 +218,7 @@ public class JavaClientCodegen extends DefaultCodegen implements CodegenConfig { supportingFiles.add(new SupportingFile("build.sbt.mustache", "", "build.sbt")); } else if ("retrofit".equals(getLibrary())) { supportingFiles.add(new SupportingFile("auth/OAuthOkHttpClient.mustache", authFolder, "OAuthOkHttpClient.java")); + supportingFiles.add(new SupportingFile("CollectionFormats.mustache", invokerFolder, "CollectionFormats.java")); } else { supportingFiles.add(new SupportingFile("TypeRef.mustache", invokerFolder, "TypeRef.java")); } diff --git a/modules/swagger-codegen/src/main/resources/Java/libraries/retrofit/CollectionFormats.mustache b/modules/swagger-codegen/src/main/resources/Java/libraries/retrofit/CollectionFormats.mustache new file mode 100644 index 00000000000..5e165a2bd53 --- /dev/null +++ b/modules/swagger-codegen/src/main/resources/Java/libraries/retrofit/CollectionFormats.mustache @@ -0,0 +1,95 @@ +package {{invokerPackage}}; + +import java.util.Arrays; +import java.util.List; + +public class CollectionFormats { + + public static class CSVParams { + + protected List params; + + public CSVParams() { + } + + public CSVParams(List params) { + this.params = params; + } + + public CSVParams(String... params) { + this.params = Arrays.asList(params); + } + + public List getParams() { + return params; + } + + public void setParams(List params) { + this.params = params; + } + + @Override + public String toString() { + return String.join(",", params); + } + + } + + public static class SSVParams extends CSVParams { + + public SSVParams() { + } + + public SSVParams(List params) { + super(params); + } + + public SSVParams(String... params) { + super(params); + } + + @Override + public String toString() { + return String.join(" ", params); + } + } + + public static class TSVParams extends CSVParams { + + public TSVParams() { + } + + public TSVParams(List params) { + super(params); + } + + public TSVParams(String... params) { + super(params); + } + + @Override + public String toString() { + return String.join("\t", params); + } + } + + public static class PIPESParams extends CSVParams { + + public PIPESParams() { + } + + public PIPESParams(List params) { + super(params); + } + + public PIPESParams(String... params) { + super(params); + } + + @Override + public String toString() { + return String.join("|", params); + } + } + +} diff --git a/modules/swagger-codegen/src/main/resources/Java/libraries/retrofit/api.mustache b/modules/swagger-codegen/src/main/resources/Java/libraries/retrofit/api.mustache index b41e18aff47..dc560e64e4d 100644 --- a/modules/swagger-codegen/src/main/resources/Java/libraries/retrofit/api.mustache +++ b/modules/swagger-codegen/src/main/resources/Java/libraries/retrofit/api.mustache @@ -1,5 +1,9 @@ package {{package}}; +import {{invokerPackage}}.CollectionFormats.*; + +import {{modelPackage}}.*; + import retrofit.Callback; import retrofit.http.*; import retrofit.mime.*; diff --git a/modules/swagger-codegen/src/main/resources/Java/libraries/retrofit/queryParams.mustache b/modules/swagger-codegen/src/main/resources/Java/libraries/retrofit/queryParams.mustache index e0a58533e5f..3c5b1bb7e69 100644 --- a/modules/swagger-codegen/src/main/resources/Java/libraries/retrofit/queryParams.mustache +++ b/modules/swagger-codegen/src/main/resources/Java/libraries/retrofit/queryParams.mustache @@ -1 +1 @@ -{{#isQueryParam}}@Query("{{baseName}}") {{{dataType}}} {{paramName}}{{/isQueryParam}} \ No newline at end of file +{{#isQueryParam}}@Query("{{baseName}}") {{#collectionFormat}}{{#isCollectionFormatMulti}}{{{dataType}}}{{/isCollectionFormatMulti}}{{^isCollectionFormatMulti}}{{{collectionFormat.toUpperCase}}}Params{{/isCollectionFormatMulti}}{{/collectionFormat}}{{^collectionFormat}}{{{dataType}}}{{/collectionFormat}} {{paramName}}{{/isQueryParam}} \ No newline at end of file diff --git a/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/CollectionFormats.java b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/CollectionFormats.java new file mode 100644 index 00000000000..62126189199 --- /dev/null +++ b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/CollectionFormats.java @@ -0,0 +1,95 @@ +package io.swagger.client; + +import java.util.Arrays; +import java.util.List; + +public class CollectionFormats { + + public static class CSVParams { + + protected List params; + + public CSVParams() { + } + + public CSVParams(List params) { + this.params = params; + } + + public CSVParams(String... params) { + this.params = Arrays.asList(params); + } + + public List getParams() { + return params; + } + + public void setParams(List params) { + this.params = params; + } + + @Override + public String toString() { + return String.join(",", params); + } + + } + + public static class SSVParams extends CSVParams { + + public SSVParams() { + } + + public SSVParams(List params) { + super(params); + } + + public SSVParams(String... params) { + super(params); + } + + @Override + public String toString() { + return String.join(" ", params); + } + } + + public static class TSVParams extends CSVParams { + + public TSVParams() { + } + + public TSVParams(List params) { + super(params); + } + + public TSVParams(String... params) { + super(params); + } + + @Override + public String toString() { + return String.join("\t", params); + } + } + + public static class PIPESParams extends CSVParams { + + public PIPESParams() { + } + + public PIPESParams(List params) { + super(params); + } + + public PIPESParams(String... params) { + super(params); + } + + @Override + public String toString() { + return String.join("|", params); + } + } + +} diff --git a/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/StringUtil.java b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/StringUtil.java index 27a06a7cfc2..5f09a3edfeb 100644 --- a/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/StringUtil.java +++ b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/StringUtil.java @@ -1,6 +1,6 @@ package io.swagger.client; -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-09-18T14:07:38.326+02:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-11T00:10:38.251+02:00") public class StringUtil { /** * Check if the given array contains the given value (with case-insensitive comparison). diff --git a/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/PetApi.java b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/PetApi.java index f6b29f11a2a..49e1657e0e5 100644 --- a/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/PetApi.java +++ b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/PetApi.java @@ -1,5 +1,9 @@ package io.swagger.client.api; +import io.swagger.client.CollectionFormats.*; + +import io.swagger.client.model.*; + import retrofit.Callback; import retrofit.http.*; import retrofit.mime.*; diff --git a/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/StoreApi.java b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/StoreApi.java index 16819d04a94..abdf952631b 100644 --- a/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/StoreApi.java +++ b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/StoreApi.java @@ -1,5 +1,9 @@ package io.swagger.client.api; +import io.swagger.client.CollectionFormats.*; + +import io.swagger.client.model.*; + import retrofit.Callback; import retrofit.http.*; import retrofit.mime.*; diff --git a/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/UserApi.java b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/UserApi.java index a5bc4d03477..f56ad5aabb3 100644 --- a/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/UserApi.java +++ b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/UserApi.java @@ -1,5 +1,9 @@ package io.swagger.client.api; +import io.swagger.client.CollectionFormats.*; + +import io.swagger.client.model.*; + import retrofit.Callback; import retrofit.http.*; import retrofit.mime.*; From 92d1e8a1d92f7439bd2ac2a860aff12aebbc258a Mon Sep 17 00:00:00 2001 From: cbornet Date: Tue, 13 Oct 2015 11:11:52 +0200 Subject: [PATCH 24/28] use StringUtil to format csv --- .../Java/libraries/retrofit/CollectionFormats.mustache | 8 ++++---- .../main/java/io/swagger/client/CollectionFormats.java | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/modules/swagger-codegen/src/main/resources/Java/libraries/retrofit/CollectionFormats.mustache b/modules/swagger-codegen/src/main/resources/Java/libraries/retrofit/CollectionFormats.mustache index 5e165a2bd53..a549ea59d1c 100644 --- a/modules/swagger-codegen/src/main/resources/Java/libraries/retrofit/CollectionFormats.mustache +++ b/modules/swagger-codegen/src/main/resources/Java/libraries/retrofit/CollectionFormats.mustache @@ -30,7 +30,7 @@ public class CollectionFormats { @Override public String toString() { - return String.join(",", params); + return StringUtil.join(params.toArray(new String[0]), ","); } } @@ -50,7 +50,7 @@ public class CollectionFormats { @Override public String toString() { - return String.join(" ", params); + return StringUtil.join(params.toArray(new String[0]), " "); } } @@ -69,7 +69,7 @@ public class CollectionFormats { @Override public String toString() { - return String.join("\t", params); + return StringUtil.join( params.toArray(new String[0]), "\t"); } } @@ -88,7 +88,7 @@ public class CollectionFormats { @Override public String toString() { - return String.join("|", params); + return StringUtil.join(params.toArray(new String[0]), "|"); } } diff --git a/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/CollectionFormats.java b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/CollectionFormats.java index 62126189199..c3cf5257514 100644 --- a/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/CollectionFormats.java +++ b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/CollectionFormats.java @@ -30,7 +30,7 @@ public class CollectionFormats { @Override public String toString() { - return String.join(",", params); + return StringUtil.join(params.toArray(new String[0]), ","); } } @@ -50,7 +50,7 @@ public class CollectionFormats { @Override public String toString() { - return String.join(" ", params); + return StringUtil.join(params.toArray(new String[0]), " "); } } @@ -69,7 +69,7 @@ public class CollectionFormats { @Override public String toString() { - return String.join("\t", params); + return StringUtil.join( params.toArray(new String[0]), "\t"); } } @@ -88,7 +88,7 @@ public class CollectionFormats { @Override public String toString() { - return String.join("|", params); + return StringUtil.join(params.toArray(new String[0]), "|"); } } From 3debd08a32ce943199903371864ac273a66239ea Mon Sep 17 00:00:00 2001 From: cbornet Date: Fri, 16 Oct 2015 12:47:25 +0200 Subject: [PATCH 25/28] remove useless import --- .../src/main/resources/Java/libraries/retrofit/api.mustache | 2 -- .../retrofit/src/main/java/io/swagger/client/api/PetApi.java | 2 -- .../retrofit/src/main/java/io/swagger/client/api/StoreApi.java | 2 -- .../retrofit/src/main/java/io/swagger/client/api/UserApi.java | 2 -- 4 files changed, 8 deletions(-) diff --git a/modules/swagger-codegen/src/main/resources/Java/libraries/retrofit/api.mustache b/modules/swagger-codegen/src/main/resources/Java/libraries/retrofit/api.mustache index dc560e64e4d..84c799d6252 100644 --- a/modules/swagger-codegen/src/main/resources/Java/libraries/retrofit/api.mustache +++ b/modules/swagger-codegen/src/main/resources/Java/libraries/retrofit/api.mustache @@ -2,8 +2,6 @@ package {{package}}; import {{invokerPackage}}.CollectionFormats.*; -import {{modelPackage}}.*; - import retrofit.Callback; import retrofit.http.*; import retrofit.mime.*; diff --git a/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/PetApi.java b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/PetApi.java index 49e1657e0e5..1746009aa77 100644 --- a/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/PetApi.java +++ b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/PetApi.java @@ -2,8 +2,6 @@ package io.swagger.client.api; import io.swagger.client.CollectionFormats.*; -import io.swagger.client.model.*; - import retrofit.Callback; import retrofit.http.*; import retrofit.mime.*; diff --git a/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/StoreApi.java b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/StoreApi.java index abdf952631b..4d6d3aa7c00 100644 --- a/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/StoreApi.java +++ b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/StoreApi.java @@ -2,8 +2,6 @@ package io.swagger.client.api; import io.swagger.client.CollectionFormats.*; -import io.swagger.client.model.*; - import retrofit.Callback; import retrofit.http.*; import retrofit.mime.*; diff --git a/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/UserApi.java b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/UserApi.java index f56ad5aabb3..ff4b4562977 100644 --- a/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/UserApi.java +++ b/samples/client/petstore/java/retrofit/src/main/java/io/swagger/client/api/UserApi.java @@ -2,8 +2,6 @@ package io.swagger.client.api; import io.swagger.client.CollectionFormats.*; -import io.swagger.client.model.*; - import retrofit.Callback; import retrofit.http.*; import retrofit.mime.*; From 9ac980298f970670c378523de6088f4d57b4a084 Mon Sep 17 00:00:00 2001 From: Kosta Krauth Date: Fri, 16 Oct 2015 16:45:34 -0400 Subject: [PATCH 26/28] Fix syntax issue when no auth methods defined When no authentication methods are defined, the generated code does not compile due to where the authMethods closing tag is located. Moved the closing tag further down and opening tag further up so that the generated code is correct both when authentication are and aren't present. --- .../resources/Java/libraries/retrofit/ApiClient.mustache | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/swagger-codegen/src/main/resources/Java/libraries/retrofit/ApiClient.mustache b/modules/swagger-codegen/src/main/resources/Java/libraries/retrofit/ApiClient.mustache index 4046f9f107c..4df0fce7d89 100644 --- a/modules/swagger-codegen/src/main/resources/Java/libraries/retrofit/ApiClient.mustache +++ b/modules/swagger-codegen/src/main/resources/Java/libraries/retrofit/ApiClient.mustache @@ -49,16 +49,16 @@ public class ApiClient { for(String authName : authNames) { if (apiAuthorizations.containsKey(authName)) { throw new RuntimeException("auth name \"" + authName + "\" already in api authorizations"); - } - Interceptor auth;{{#authMethods}} + }{{#authMethods}} + Interceptor auth; if (authName == "{{name}}") { {{#isBasic}} auth = new HttpBasicAuth();{{/isBasic}}{{#isApiKey}} auth = new ApiKeyAuth({{#isKeyInHeader}}"header"{{/isKeyInHeader}}{{^isKeyInHeader}}"query"{{/isKeyInHeader}}, "{{keyParamName}}");{{/isApiKey}}{{#isOAuth}} auth = new OAuth(OAuthFlow.{{flow}}, "{{authorizationUrl}}", "{{tokenUrl}}", "{{#scopes}}{{^-first}}, {{/-first}}{{this}}{{/scopes}}");{{/isOAuth}} - } else {{/authMethods}}{ + } else { throw new RuntimeException("auth name \"" + authName + "\" not found in available auth names"); } - apiAuthorizations.put(authName, auth); + apiAuthorizations.put(authName, auth);{{/authMethods}} } addAuthsToOkClient(okClient); } From b82333aea4309019245d92bdc483d45e2bd996fd Mon Sep 17 00:00:00 2001 From: wing328 Date: Sat, 17 Oct 2015 16:30:19 +0800 Subject: [PATCH 27/28] Add support for top-level consumes and produces This reverts commit 0b4b5e8839cd3f447fde86e4aa2a8db8fc2985f6. --- .../io/swagger/codegen/CodegenConfig.java | 2 + .../io/swagger/codegen/DefaultCodegen.java | 50 ++++++- .../io/swagger/codegen/DefaultGenerator.java | 2 +- .../codegen/languages/SwiftCodegen.java | 6 +- .../java/io/swagger/codegen/CodegenTest.java | 48 +++++++ .../2_0/globalConsumesAndProduces.json | 130 ++++++++++++++++++ 6 files changed, 228 insertions(+), 10 deletions(-) create mode 100644 modules/swagger-codegen/src/test/resources/2_0/globalConsumesAndProduces.json diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenConfig.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenConfig.java index 10d7363cc35..b50147a6ff3 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenConfig.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenConfig.java @@ -67,6 +67,8 @@ public interface CodegenConfig { CodegenModel fromModel(String name, Model model, Map allDefinitions); + CodegenOperation fromOperation(String resourcePath, String httpMethod, Operation operation, Map definitions, Swagger swagger); + CodegenOperation fromOperation(String resourcePath, String httpMethod, Operation operation, Map definitions); List fromSecurity(Map schemes); 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 575f9742f50..5a7a5f9506c 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 @@ -867,8 +867,12 @@ public class DefaultCodegen { } return responses.get(code); } - + public CodegenOperation fromOperation(String path, String httpMethod, Operation operation, Map definitions) { + return fromOperation(path, httpMethod, operation, definitions, null); + } + + public CodegenOperation fromOperation(String path, String httpMethod, Operation operation, Map definitions, Swagger swagger) { CodegenOperation op = CodegenModelFactory.newInstance(CodegenModelType.OPERATION); Set imports = new HashSet(); op.vendorExtensions = operation.getVendorExtensions(); @@ -904,15 +908,32 @@ public class DefaultCodegen { op.summary = escapeText(operation.getSummary()); op.notes = escapeText(operation.getDescription()); op.tags = operation.getTags(); + op.hasConsumes = false; + op.hasProduces = false; - if (operation.getConsumes() != null && operation.getConsumes().size() > 0) { + List consumes = new ArrayList(); + if (operation.getConsumes() != null) { + if (operation.getConsumes().size() > 0) { + // use consumes defined in the operation + consumes = operation.getConsumes(); + } else { + // empty list, do nothing to override global setting + } + } else if (swagger != null && swagger.getConsumes() != null && swagger.getConsumes().size() > 0) { + // use consumes defined globally + consumes = swagger.getConsumes(); + LOGGER.debug("No consumes defined in operation. Using global consumes (" + swagger.getConsumes() + ") for " + op.operationId); + } + + // if "consumes" is defined (per operation or using global definition) + if (consumes != null && consumes.size() > 0) { List> c = new ArrayList>(); int count = 0; - for (String key : operation.getConsumes()) { + for (String key : consumes) { Map mediaType = new HashMap(); mediaType.put("mediaType", key); count += 1; - if (count < operation.getConsumes().size()) { + if (count < consumes.size()) { mediaType.put("hasMore", "true"); } else { mediaType.put("hasMore", null); @@ -923,14 +944,29 @@ public class DefaultCodegen { op.hasConsumes = true; } - if (operation.getProduces() != null && operation.getProduces().size() > 0) { + List produces = new ArrayList(); + if (operation.getProduces() != null) { + if (operation.getProduces().size() > 0) { + // use produces defined in the operation + produces = operation.getProduces(); + } else { + // empty list, do nothing to override global setting + } + } else if (swagger != null && swagger.getProduces() != null && swagger.getProduces().size() > 0) { + // use produces defined globally + produces = swagger.getProduces(); + LOGGER.debug("No produces defined in operation. Using global produces (" + swagger.getProduces() + ") for " + op.operationId); + } + + // if "produces" is defined (per operation or using global definition) + if (produces != null && produces.size() > 0) { List> c = new ArrayList>(); int count = 0; - for (String key : operation.getProduces()) { + for (String key : produces) { Map mediaType = new HashMap(); mediaType.put("mediaType", key); count += 1; - if (count < operation.getProduces().size()) { + if (count < produces.size()) { mediaType.put("hasMore", "true"); } else { mediaType.put("hasMore", null); diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultGenerator.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultGenerator.java index 6fc8eecd045..e85adfed97f 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultGenerator.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultGenerator.java @@ -471,7 +471,7 @@ public class DefaultGenerator extends AbstractGenerator implements Generator { for (String tag : tags) { CodegenOperation co = null; try { - co = config.fromOperation(resourcePath, httpMethod, operation, swagger.getDefinitions()); + co = config.fromOperation(resourcePath, httpMethod, operation, swagger.getDefinitions(), swagger); co.tags = new ArrayList(); co.tags.add(sanitizeTag(tag)); config.addOperationToGroup(sanitizeTag(tag), resourcePath, operation, co, operations); diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/SwiftCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/SwiftCodegen.java index 55c3864adb7..9bb1dfd61d4 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/SwiftCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/SwiftCodegen.java @@ -1,9 +1,11 @@ package io.swagger.codegen.languages; import com.google.common.base.Predicate; + import com.google.common.collect.Iterators; import com.google.common.collect.Lists; import io.swagger.codegen.*; +import io.swagger.models.Swagger; import io.swagger.models.Model; import io.swagger.models.Operation; import io.swagger.models.parameters.HeaderParameter; @@ -256,7 +258,7 @@ public class SwiftCodegen extends DefaultCodegen implements CodegenConfig { } @Override - public CodegenOperation fromOperation(String path, String httpMethod, Operation operation, Map definitions) { + public CodegenOperation fromOperation(String path, String httpMethod, Operation operation, Map definitions, Swagger swagger) { path = normalizePath(path); List parameters = operation.getParameters(); parameters = Lists.newArrayList(Iterators.filter(parameters.iterator(), new Predicate() { @@ -266,7 +268,7 @@ public class SwiftCodegen extends DefaultCodegen implements CodegenConfig { } })); operation.setParameters(parameters); - return super.fromOperation(path, httpMethod, operation, definitions); + return super.fromOperation(path, httpMethod, operation, definitions, swagger); } private static String normalizePath(String path) { diff --git a/modules/swagger-codegen/src/test/java/io/swagger/codegen/CodegenTest.java b/modules/swagger-codegen/src/test/java/io/swagger/codegen/CodegenTest.java index ee70b427bfd..0fa8953e7bf 100644 --- a/modules/swagger-codegen/src/test/java/io/swagger/codegen/CodegenTest.java +++ b/modules/swagger-codegen/src/test/java/io/swagger/codegen/CodegenTest.java @@ -139,4 +139,52 @@ public class CodegenTest { Assert.assertTrue(op.bodyParam.isBinary); Assert.assertTrue(op.responses.get(0).isBinary); } + + @Test(description = "use operation consumes and produces") + public void localConsumesAndProducesTest() { + final Swagger model = new SwaggerParser().read("src/test/resources/2_0/globalConsumesAndProduces.json"); + final DefaultCodegen codegen = new DefaultCodegen(); + final String path = "/tests/localConsumesAndProduces"; + final Operation p = model.getPaths().get(path).getGet(); + CodegenOperation op = codegen.fromOperation(path, "get", p, model.getDefinitions(), model); + + Assert.assertTrue(op.hasConsumes); + Assert.assertEquals(op.consumes.size(), 1); + Assert.assertEquals(op.consumes.get(0).get("mediaType"), "application/json"); + Assert.assertTrue(op.hasProduces); + Assert.assertEquals(op.produces.size(), 1); + Assert.assertEquals(op.produces.get(0).get("mediaType"), "application/json"); + } + + @Test(description = "use spec consumes and produces") + public void globalConsumesAndProducesTest() { + final Swagger model = new SwaggerParser().read("src/test/resources/2_0/globalConsumesAndProduces.json"); + final DefaultCodegen codegen = new DefaultCodegen(); + final String path = "/tests/globalConsumesAndProduces"; + final Operation p = model.getPaths().get(path).getGet(); + CodegenOperation op = codegen.fromOperation(path, "get", p, model.getDefinitions(), model); + + Assert.assertTrue(op.hasConsumes); + Assert.assertEquals(op.consumes.size(), 1); + Assert.assertEquals(op.consumes.get(0).get("mediaType"), "application/global_consumes"); + Assert.assertTrue(op.hasProduces); + Assert.assertEquals(op.produces.size(), 1); + Assert.assertEquals(op.produces.get(0).get("mediaType"), "application/global_produces"); + } + + @Test(description = "use operation consumes and produces (reset in operation with empty array)") + public void localResetConsumesAndProducesTest() { + final Swagger model = new SwaggerParser().read("src/test/resources/2_0/globalConsumesAndProduces.json"); + final DefaultCodegen codegen = new DefaultCodegen(); + final String path = "/tests/localResetConsumesAndProduces"; + final Operation p = model.getPaths().get(path).getGet(); + CodegenOperation op = codegen.fromOperation(path, "get", p, model.getDefinitions(), model); + + Assert.assertNotNull(op); + Assert.assertFalse(op.hasConsumes); + Assert.assertNull(op.consumes); + Assert.assertFalse(op.hasProduces); + Assert.assertNull(op.produces); + + } } diff --git a/modules/swagger-codegen/src/test/resources/2_0/globalConsumesAndProduces.json b/modules/swagger-codegen/src/test/resources/2_0/globalConsumesAndProduces.json new file mode 100644 index 00000000000..520218ed707 --- /dev/null +++ b/modules/swagger-codegen/src/test/resources/2_0/globalConsumesAndProduces.json @@ -0,0 +1,130 @@ +{ + "swagger": "2.0", + "info": { + "description": "Spec for testing global consumes and produces", + "version": "1.0.0", + "title": "Swagger Petstore", + "termsOfService": "http://swagger.io/terms/", + "contact": { + "email": "apiteam@swagger.io" + }, + "license": { + "name": "Apache 2.0", + "url": "http://www.apache.org/licenses/LICENSE-2.0.html" + } + }, + "host": "petstore.swagger.io", + "basePath": "/v2", + "consumes": ["application/global_consumes"], + "produces": ["application/global_produces"], + "schemes": [ + "http" + ], + "paths": { + "/tests/localConsumesAndProduces": { + "get": { + "tags": [ + "tests" + ], + "summary": "Operation with local consumes and produces", + "description": "", + "operationId": "localConsumesAndProduces", + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "parameters": [ + ], + "responses": { + "200": { + "description": "successful operation. Returning a simple int.", + "schema": { + "type": "integer", + "format": "int64" + } + } + } + } + }, + "/tests/globalConsumesAndProduces": { + "get": { + "tags": [ + "tests" + ], + "summary": "Operation with global consumes and produces", + "description": "", + "operationId": "globalConsumesAndProduces", + "parameters": [ + ], + "responses": { + "200": { + "description": "successful operation. Returning a simple int.", + "schema": { + "type": "integer", + "format": "int64" + } + } + } + } + }, + "/tests/localResetConsumesAndProduces": { + "get": { + "tags": [ + "tests" + ], + "summary": "Operation with local consumes and produces set to empty (reset)", + "description": "", + "operationId": "localResetConsumesAndProduces", + "parameters": [ + ], + "consumes": [], + "produces": [], + "responses": { + "200": { + "description": "successful operation. Returning a simple int.", + "schema": { + "type": "integer", + "format": "int64" + } + } + } + } + } + + }, + "securityDefinitions": { + "api_key": { + "type": "apiKey", + "name": "api_key", + "in": "header" + }, + "petstore_auth": { + "type": "oauth2", + "authorizationUrl": "http://petstore.swagger.io/api/oauth/dialog", + "flow": "implicit", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } + } + }, + "definitions": { + "CustomModel": { + "required": [ + "id" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "name": { + "type": "string", + "example": "doggie" + } + } + } + } +} From e8fbdaabe3171776b648e868c42d737f0a92576c Mon Sep 17 00:00:00 2001 From: wing328 Date: Sat, 17 Oct 2015 16:44:55 +0800 Subject: [PATCH 28/28] replace tabs with spaces --- .../io/swagger/codegen/DefaultCodegen.java | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 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 5a7a5f9506c..2a666c07627 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 @@ -913,16 +913,16 @@ public class DefaultCodegen { List consumes = new ArrayList(); if (operation.getConsumes() != null) { - if (operation.getConsumes().size() > 0) { - // use consumes defined in the operation - consumes = operation.getConsumes(); - } else { - // empty list, do nothing to override global setting - } + if (operation.getConsumes().size() > 0) { + // use consumes defined in the operation + consumes = operation.getConsumes(); + } else { + // empty list, do nothing to override global setting + } } else if (swagger != null && swagger.getConsumes() != null && swagger.getConsumes().size() > 0) { - // use consumes defined globally - consumes = swagger.getConsumes(); - LOGGER.debug("No consumes defined in operation. Using global consumes (" + swagger.getConsumes() + ") for " + op.operationId); + // use consumes defined globally + consumes = swagger.getConsumes(); + LOGGER.debug("No consumes defined in operation. Using global consumes (" + swagger.getConsumes() + ") for " + op.operationId); } // if "consumes" is defined (per operation or using global definition) @@ -946,16 +946,16 @@ public class DefaultCodegen { List produces = new ArrayList(); if (operation.getProduces() != null) { - if (operation.getProduces().size() > 0) { - // use produces defined in the operation - produces = operation.getProduces(); - } else { - // empty list, do nothing to override global setting - } + if (operation.getProduces().size() > 0) { + // use produces defined in the operation + produces = operation.getProduces(); + } else { + // empty list, do nothing to override global setting + } } else if (swagger != null && swagger.getProduces() != null && swagger.getProduces().size() > 0) { - // use produces defined globally - produces = swagger.getProduces(); - LOGGER.debug("No produces defined in operation. Using global produces (" + swagger.getProduces() + ") for " + op.operationId); + // use produces defined globally + produces = swagger.getProduces(); + LOGGER.debug("No produces defined in operation. Using global produces (" + swagger.getProduces() + ") for " + op.operationId); } // if "produces" is defined (per operation or using global definition)