From cb196eb35149d7b30464d49c752b08668c7c6f6f Mon Sep 17 00:00:00 2001 From: Tony Tam Date: Wed, 10 Feb 2016 15:25:51 -0800 Subject: [PATCH 1/3] set example when defined --- .../main/java/io/swagger/codegen/DefaultCodegen.java | 3 +++ .../codegen/languages/JavaJerseyServerCodegen.java | 11 +++++++++-- 2 files changed, 12 insertions(+), 2 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 a289b8d686a..89361218f02 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 @@ -593,6 +593,9 @@ public class DefaultCodegen { */ @SuppressWarnings("static-method") public String toExampleValue(Property p) { + if(p.getExample() != null) { + return p.getExample().toString(); + } if (p instanceof StringProperty) { return "null"; } else if (p instanceof BooleanProperty) { diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaJerseyServerCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaJerseyServerCodegen.java index 09865ca1e3d..beec6776656 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaJerseyServerCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaJerseyServerCodegen.java @@ -63,8 +63,15 @@ public class JavaJerseyServerCodegen extends AbstractJavaJAXRSServerCodegen } @Override - public void processOpts() - { + public void postProcessModelProperty(CodegenModel model, CodegenProperty property) { + super.postProcessModelProperty(model, property); + if("null".equals(property.example)) { + property.example = null; + } + } + + @Override + public void processOpts() { super.processOpts(); if ( additionalProperties.containsKey(CodegenConstants.IMPL_FOLDER) ) { From ab5ca625c142e6dcfd164cd3501f5ad5587c1cb5 Mon Sep 17 00:00:00 2001 From: Tony Tam Date: Wed, 10 Feb 2016 15:28:00 -0800 Subject: [PATCH 2/3] added example property --- .../swagger-codegen/src/main/resources/Java/pojo.mustache | 2 +- .../src/main/resources/JavaInflector/pojo.mustache | 2 +- .../resources/JavaJaxRS/jersey1_18/apiServiceImpl.mustache | 2 +- .../src/main/resources/JavaJaxRS/jersey1_18/pojo.mustache | 7 ++++++- .../test/java/io/swagger/codegen/java/JavaModelTest.java | 4 +++- 5 files changed, 12 insertions(+), 5 deletions(-) diff --git a/modules/swagger-codegen/src/main/resources/Java/pojo.mustache b/modules/swagger-codegen/src/main/resources/Java/pojo.mustache index 0bc15c0ecb0..0c898f276cb 100644 --- a/modules/swagger-codegen/src/main/resources/Java/pojo.mustache +++ b/modules/swagger-codegen/src/main/resources/Java/pojo.mustache @@ -15,7 +15,7 @@ public class {{classname}} {{#parent}}extends {{{parent}}}{{/parent}} {{#seriali * maximum: {{maximum}}{{/maximum}} **/ {{#vendorExtensions.extraAnnotation}}{{vendorExtensions.extraAnnotation}}{{/vendorExtensions.extraAnnotation}} - @ApiModelProperty({{#required}}required = {{required}}, {{/required}}value = "{{{description}}}") + @ApiModelProperty({{#example}}example = "{{example}}", {{/example}}{{#required}}required = {{required}}, {{/required}}value = "{{{description}}}") @JsonProperty("{{baseName}}") public {{{datatypeWithEnum}}} {{getter}}() { return {{name}}; diff --git a/modules/swagger-codegen/src/main/resources/JavaInflector/pojo.mustache b/modules/swagger-codegen/src/main/resources/JavaInflector/pojo.mustache index eea33d346d4..b1404c64164 100644 --- a/modules/swagger-codegen/src/main/resources/JavaInflector/pojo.mustache +++ b/modules/swagger-codegen/src/main/resources/JavaInflector/pojo.mustache @@ -15,7 +15,7 @@ public class {{classname}} {{#parent}}extends {{{parent}}}{{/parent}} {{#seriali * maximum: {{maximum}}{{/maximum}} **/ {{#vendorExtensions.extraAnnotation}}{{vendorExtensions.extraAnnotation}}{{/vendorExtensions.extraAnnotation}} - @ApiModelProperty({{#required}}required = {{required}}, {{/required}}value = "{{{description}}}") + @ApiModelProperty({{#example}}example = "{{example}}", {{/example}}{{#required}}required = {{required}}, {{/required}}value = "{{{description}}}") @JsonProperty("{{baseName}}") public {{{datatypeWithEnum}}} {{getter}}() { return {{name}}; diff --git a/modules/swagger-codegen/src/main/resources/JavaJaxRS/jersey1_18/apiServiceImpl.mustache b/modules/swagger-codegen/src/main/resources/JavaJaxRS/jersey1_18/apiServiceImpl.mustache index bb5d9875812..f4c558e7b11 100644 --- a/modules/swagger-codegen/src/main/resources/JavaJaxRS/jersey1_18/apiServiceImpl.mustache +++ b/modules/swagger-codegen/src/main/resources/JavaJaxRS/jersey1_18/apiServiceImpl.mustache @@ -24,7 +24,7 @@ import javax.ws.rs.core.SecurityContext; public class {{classname}}ServiceImpl extends {{classname}}Service { {{#operation}} @Override - public Response {{nickname}}({{#allParams}}{{>serviceQueryParams}}{{>servicePathParams}}{{>serviceHeaderParams}}{{>serviceBodyParams}}{{>serviceFormParams}},{{/allParams}}SecurityContext securityContext) + public Response {{nickname}}({{#allParams}}{{>serviceQueryParams}}{{>servicePathParams}}{{>serviceHeaderParams}}{{>serviceBodyParams}}{{>serviceFormParams}}, {{/allParams}}SecurityContext securityContext) throws NotFoundException { // do some magic! return Response.ok().entity(new ApiResponseMessage(ApiResponseMessage.OK, "magic!")).build(); diff --git a/modules/swagger-codegen/src/main/resources/JavaJaxRS/jersey1_18/pojo.mustache b/modules/swagger-codegen/src/main/resources/JavaJaxRS/jersey1_18/pojo.mustache index eea33d346d4..58bfed16381 100644 --- a/modules/swagger-codegen/src/main/resources/JavaJaxRS/jersey1_18/pojo.mustache +++ b/modules/swagger-codegen/src/main/resources/JavaJaxRS/jersey1_18/pojo.mustache @@ -14,8 +14,13 @@ public class {{classname}} {{#parent}}extends {{{parent}}}{{/parent}} {{#seriali * minimum: {{minimum}}{{/minimum}}{{#maximum}} * maximum: {{maximum}}{{/maximum}} **/ + public {{classname}} {{name}}({{{datatypeWithEnum}}} {{name}}) { + this.{{name}} = {{name}}; + return this; + } + {{#vendorExtensions.extraAnnotation}}{{vendorExtensions.extraAnnotation}}{{/vendorExtensions.extraAnnotation}} - @ApiModelProperty({{#required}}required = {{required}}, {{/required}}value = "{{{description}}}") + @ApiModelProperty({{#example}}example = "{{example}}", {{/example}}{{#required}}required = {{required}}, {{/required}}value = "{{{description}}}") @JsonProperty("{{baseName}}") public {{{datatypeWithEnum}}} {{getter}}() { return {{name}}; diff --git a/modules/swagger-codegen/src/test/java/io/swagger/codegen/java/JavaModelTest.java b/modules/swagger-codegen/src/test/java/io/swagger/codegen/java/JavaModelTest.java index f8c8bae6128..1cf7d4ea714 100644 --- a/modules/swagger-codegen/src/test/java/io/swagger/codegen/java/JavaModelTest.java +++ b/modules/swagger-codegen/src/test/java/io/swagger/codegen/java/JavaModelTest.java @@ -32,7 +32,8 @@ public class JavaModelTest { final Model model = new ModelImpl() .description("a sample model") .property("id", new LongProperty()) - .property("name", new StringProperty()) + .property("name", new StringProperty() + .example("Tony")) .property("createdAt", new DateTimeProperty()) .required("id") .required("name"); @@ -66,6 +67,7 @@ public class JavaModelTest { Assert.assertEquals(property2.name, "name"); Assert.assertEquals(property2.defaultValue, "null"); Assert.assertEquals(property2.baseType, "String"); + Assert.assertEquals(property2.example, "Tony"); Assert.assertTrue(property2.hasMore); Assert.assertTrue(property2.required); Assert.assertTrue(property2.isNotContainer); From 54e78bd533e9c95f1afb8ac4ba3987e11a578d83 Mon Sep 17 00:00:00 2001 From: Tony Tam Date: Wed, 10 Feb 2016 15:40:47 -0800 Subject: [PATCH 3/3] added builders --- .../swagger-codegen/src/main/resources/Java/pojo.mustache | 5 +++++ .../src/main/resources/JavaInflector/pojo.mustache | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/modules/swagger-codegen/src/main/resources/Java/pojo.mustache b/modules/swagger-codegen/src/main/resources/Java/pojo.mustache index 0c898f276cb..c8c6b885379 100644 --- a/modules/swagger-codegen/src/main/resources/Java/pojo.mustache +++ b/modules/swagger-codegen/src/main/resources/Java/pojo.mustache @@ -14,6 +14,11 @@ public class {{classname}} {{#parent}}extends {{{parent}}}{{/parent}} {{#seriali * minimum: {{minimum}}{{/minimum}}{{#maximum}} * maximum: {{maximum}}{{/maximum}} **/ + public {{classname}} {{name}}({{{datatypeWithEnum}}} {{name}}) { + this.{{name}} = {{name}}; + return this; + } + {{#vendorExtensions.extraAnnotation}}{{vendorExtensions.extraAnnotation}}{{/vendorExtensions.extraAnnotation}} @ApiModelProperty({{#example}}example = "{{example}}", {{/example}}{{#required}}required = {{required}}, {{/required}}value = "{{{description}}}") @JsonProperty("{{baseName}}") diff --git a/modules/swagger-codegen/src/main/resources/JavaInflector/pojo.mustache b/modules/swagger-codegen/src/main/resources/JavaInflector/pojo.mustache index b1404c64164..58bfed16381 100644 --- a/modules/swagger-codegen/src/main/resources/JavaInflector/pojo.mustache +++ b/modules/swagger-codegen/src/main/resources/JavaInflector/pojo.mustache @@ -14,6 +14,11 @@ public class {{classname}} {{#parent}}extends {{{parent}}}{{/parent}} {{#seriali * minimum: {{minimum}}{{/minimum}}{{#maximum}} * maximum: {{maximum}}{{/maximum}} **/ + public {{classname}} {{name}}({{{datatypeWithEnum}}} {{name}}) { + this.{{name}} = {{name}}; + return this; + } + {{#vendorExtensions.extraAnnotation}}{{vendorExtensions.extraAnnotation}}{{/vendorExtensions.extraAnnotation}} @ApiModelProperty({{#example}}example = "{{example}}", {{/example}}{{#required}}required = {{required}}, {{/required}}value = "{{{description}}}") @JsonProperty("{{baseName}}")