From fa75751ad984ae2208593040ebf5d67f6ba69616 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pa=C5=ADlo=20Ebermann?= Date: Tue, 28 Mar 2017 21:49:10 +0200 Subject: [PATCH 1/4] JaxRS server: set serverPort only when not given from outside. --- .../AbstractJavaJAXRSServerCodegen.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AbstractJavaJAXRSServerCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AbstractJavaJAXRSServerCodegen.java index 4f935161730..b83be9ebd01 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AbstractJavaJAXRSServerCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AbstractJavaJAXRSServerCodegen.java @@ -45,6 +45,7 @@ public AbstractJavaJAXRSServerCodegen() cliOptions.add(new CliOption("title", "a title describing the application")); cliOptions.add(CliOption.newBoolean(USE_BEANVALIDATION, "Use BeanValidation API annotations")); + cliOptions.add(new CliOption("serverPort", "The port on which the server should be started")); } @@ -83,15 +84,19 @@ public void preprocessSwagger(Swagger swagger) { swagger.setBasePath(""); } - String host = swagger.getHost(); - String port = "8080"; // Default value for a JEE Server - if ( host != null ) { - String[] parts = host.split(":"); - if ( parts.length > 1 ) { - port = parts[1]; + if(!this.additionalProperties.containsKey("serverPort")) { + final String host = swagger.getHost(); + String port = "8080"; // Default value for a JEE Server + if ( host != null ) { + String[] parts = host.split(":"); + if ( parts.length > 1 ) { + port = parts[1]; + } } + + this.additionalProperties.put("serverPort", port); } - this.additionalProperties.put("serverPort", port); + if ( swagger.getPaths() != null ) { for ( String pathname : swagger.getPaths().keySet() ) { Path path = swagger.getPath(pathname); From 125203c1f4ba52853e235bbbd113a8e20e4f3a66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pa=C5=ADlo=20Ebermann?= Date: Tue, 28 Mar 2017 21:52:46 +0200 Subject: [PATCH 2/4] Update JaxRS sample creator scripts to fix serverPort. --- bin/jaxrs-jersey1-petstore-server.sh | 2 +- bin/jaxrs-petstore-server.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/jaxrs-jersey1-petstore-server.sh b/bin/jaxrs-jersey1-petstore-server.sh index 28547f26aa8..13938c8d1eb 100755 --- a/bin/jaxrs-jersey1-petstore-server.sh +++ b/bin/jaxrs-jersey1-petstore-server.sh @@ -26,7 +26,7 @@ fi # if you've executed sbt assembly previously it will use that instead. export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties" -ags="$@ generate -t modules/swagger-codegen/src/main/resources/JavaJaxRS/libraries/jersey1 -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l jaxrs -o samples/server/petstore/jaxrs/jersey1 -DhideGenerationTimestamp=true --library=jersey1 --artifact-id=swagger-jaxrs-jersey1-server" +ags="$@ generate -t modules/swagger-codegen/src/main/resources/JavaJaxRS/libraries/jersey1 -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l jaxrs -o samples/server/petstore/jaxrs/jersey1 -DhideGenerationTimestamp=true,serverPort=8080 --library=jersey1 --artifact-id=swagger-jaxrs-jersey1-server" echo "Removing files and folders under samples/server/petstore/jaxrs/jersey1/src/main" rm -rf samples/server/petstore/jaxrs/jersey1/src/main diff --git a/bin/jaxrs-petstore-server.sh b/bin/jaxrs-petstore-server.sh index cd1050051bb..195606b1623 100755 --- a/bin/jaxrs-petstore-server.sh +++ b/bin/jaxrs-petstore-server.sh @@ -26,7 +26,7 @@ fi # if you've executed sbt assembly previously it will use that instead. export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties" -ags="$@ generate -t modules/swagger-codegen/src/main/resources/JavaJaxRS -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l jaxrs -o samples/server/petstore/jaxrs/jersey2 -DhideGenerationTimestamp=true" +ags="$@ generate -t modules/swagger-codegen/src/main/resources/JavaJaxRS -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l jaxrs -o samples/server/petstore/jaxrs/jersey2 -DhideGenerationTimestamp=true,serverPort=8080" echo "Removing files and folders under samples/server/petstore/jaxrs/jersey2/src/main" rm -rf samples/server/petstore/jaxrs/jersey2/src/main From 067260115cbb7b6842d522c3cc9b2f857070c709 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pa=C5=ADlo=20Ebermann?= Date: Tue, 28 Mar 2017 23:07:36 +0200 Subject: [PATCH 3/4] Preliminary test fix for JaxRS server generators. --- .../io/swagger/codegen/options/JavaCXFServerOptionsProvider.java | 1 + .../codegen/options/JavaResteasyEapServerOptionsProvider.java | 1 + .../codegen/options/JavaResteasyServerOptionsProvider.java | 1 + .../io/swagger/codegen/options/JaxRSServerOptionsProvider.java | 1 + 4 files changed, 4 insertions(+) diff --git a/modules/swagger-codegen/src/test/java/io/swagger/codegen/options/JavaCXFServerOptionsProvider.java b/modules/swagger-codegen/src/test/java/io/swagger/codegen/options/JavaCXFServerOptionsProvider.java index 22deb3daace..f7cad3d6ccf 100644 --- a/modules/swagger-codegen/src/test/java/io/swagger/codegen/options/JavaCXFServerOptionsProvider.java +++ b/modules/swagger-codegen/src/test/java/io/swagger/codegen/options/JavaCXFServerOptionsProvider.java @@ -92,6 +92,7 @@ public Map createOptions() { builder.put(JavaCXFServerCodegen.USE_ANNOTATED_BASE_PATH, USE_ANNOTATED_BASE_PATH); builder.put(JavaCXFServerCodegen.GENERATE_NON_SPRING_APPLICATION, GENERATE_NON_SPRING_APPLICATION); + builder.put("serverPort", "3456"); return builder.build(); diff --git a/modules/swagger-codegen/src/test/java/io/swagger/codegen/options/JavaResteasyEapServerOptionsProvider.java b/modules/swagger-codegen/src/test/java/io/swagger/codegen/options/JavaResteasyEapServerOptionsProvider.java index 7e9bffb33c4..23ad18eb90a 100644 --- a/modules/swagger-codegen/src/test/java/io/swagger/codegen/options/JavaResteasyEapServerOptionsProvider.java +++ b/modules/swagger-codegen/src/test/java/io/swagger/codegen/options/JavaResteasyEapServerOptionsProvider.java @@ -43,6 +43,7 @@ public Map createOptions() { builder.put(JavaCXFServerCodegen.GENERATE_JBOSS_DEPLOYMENT_DESCRIPTOR, GENERATE_JBOSS_DEPLOYMENT_DESCRIPTOR); builder.put(JavaResteasyServerCodegen.USE_BEANVALIDATION, USE_BEANVALIDATION); builder.put(JavaResteasyEapServerCodegen.USE_SWAGGER_FEATURE, USE_SWAGGER_FEATURE); + builder.put("serverPort", "1234"); return builder.build(); diff --git a/modules/swagger-codegen/src/test/java/io/swagger/codegen/options/JavaResteasyServerOptionsProvider.java b/modules/swagger-codegen/src/test/java/io/swagger/codegen/options/JavaResteasyServerOptionsProvider.java index eae8a6dcccf..39112446dd9 100644 --- a/modules/swagger-codegen/src/test/java/io/swagger/codegen/options/JavaResteasyServerOptionsProvider.java +++ b/modules/swagger-codegen/src/test/java/io/swagger/codegen/options/JavaResteasyServerOptionsProvider.java @@ -39,6 +39,7 @@ public Map createOptions() { builder.put(JavaCXFServerCodegen.GENERATE_JBOSS_DEPLOYMENT_DESCRIPTOR, GENERATE_JBOSS_DEPLOYMENT_DESCRIPTOR); builder.put(JavaResteasyServerCodegen.USE_BEANVALIDATION, USE_BEANVALIDATION); + builder.put("serverPort", "1234"); return builder.build(); diff --git a/modules/swagger-codegen/src/test/java/io/swagger/codegen/options/JaxRSServerOptionsProvider.java b/modules/swagger-codegen/src/test/java/io/swagger/codegen/options/JaxRSServerOptionsProvider.java index 3aeebceef90..ce89ee75ecc 100644 --- a/modules/swagger-codegen/src/test/java/io/swagger/codegen/options/JaxRSServerOptionsProvider.java +++ b/modules/swagger-codegen/src/test/java/io/swagger/codegen/options/JaxRSServerOptionsProvider.java @@ -84,6 +84,7 @@ public Map createOptions() { //.put(JavaClientCodegen.DATE_LIBRARY, "joda") .put("hideGenerationTimestamp", "true") .put(JavaCXFServerCodegen.USE_BEANVALIDATION, USE_BEANVALIDATION) + .put("serverPort", "2345") .put(CodegenConstants.ALLOW_UNICODE_IDENTIFIERS, ALLOW_UNICODE_IDENTIFIERS_VALUE); return builder.build(); From d507816ee66176eba3215dc1b2c644194f894572 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pa=C5=ADlo=20Ebermann?= Date: Tue, 28 Mar 2017 23:08:56 +0200 Subject: [PATCH 4/4] Updating samples for JaxRS with Jersey1/2. --- .../src/gen/java/io/swagger/api/FakeApi.java | 4 +-- .../gen/java/io/swagger/model/FormatTest.java | 26 +++++-------------- .../jersey1/src/main/webapp/WEB-INF/web.xml | 2 +- .../src/gen/java/io/swagger/api/FakeApi.java | 4 +-- .../jersey2/src/main/webapp/WEB-INF/web.xml | 2 +- 5 files changed, 13 insertions(+), 25 deletions(-) diff --git a/samples/server/petstore/jaxrs/jersey1/src/gen/java/io/swagger/api/FakeApi.java b/samples/server/petstore/jaxrs/jersey1/src/gen/java/io/swagger/api/FakeApi.java index ed62cb80017..29311ed5be8 100644 --- a/samples/server/petstore/jaxrs/jersey1/src/gen/java/io/swagger/api/FakeApi.java +++ b/samples/server/petstore/jaxrs/jersey1/src/gen/java/io/swagger/api/FakeApi.java @@ -92,8 +92,8 @@ public Response testEnumParameters( @ApiParam(value = "Header parameter enum test (string)" , allowableValues="_abc, -efg, (xyz)", defaultValue="-efg")@HeaderParam("enum_header_string") String enumHeaderString, @ApiParam(value = "Query parameter enum test (string array)", allowableValues=">, $") @QueryParam("enum_query_string_array") List enumQueryStringArray, @ApiParam(value = "Query parameter enum test (string)", allowableValues="_abc, -efg, (xyz)", defaultValue="-efg") @DefaultValue("-efg") @QueryParam("enum_query_string") String enumQueryString, - @ApiParam(value = "Query parameter enum test (double)") @QueryParam("enum_query_integer") Integer enumQueryInteger, - @ApiParam(value = "Query parameter enum test (double)") @FormParam("enum_query_double") Double enumQueryDouble, + @ApiParam(value = "Query parameter enum test (double)", allowableValues="1, -2") @QueryParam("enum_query_integer") Integer enumQueryInteger, + @ApiParam(value = "Query parameter enum test (double)", allowableValues="1.1, -1.2") @FormParam("enum_query_double") Double enumQueryDouble, @Context SecurityContext securityContext) throws NotFoundException { return delegate.testEnumParameters(enumFormStringArray,enumFormString,enumHeaderStringArray,enumHeaderString,enumQueryStringArray,enumQueryString,enumQueryInteger,enumQueryDouble,securityContext); diff --git a/samples/server/petstore/jaxrs/jersey1/src/gen/java/io/swagger/model/FormatTest.java b/samples/server/petstore/jaxrs/jersey1/src/gen/java/io/swagger/model/FormatTest.java index eaba5daefe7..bdd53cb3e5d 100644 --- a/samples/server/petstore/jaxrs/jersey1/src/gen/java/io/swagger/model/FormatTest.java +++ b/samples/server/petstore/jaxrs/jersey1/src/gen/java/io/swagger/model/FormatTest.java @@ -80,9 +80,7 @@ public FormatTest integer(Integer integer) { **/ @JsonProperty("integer") @ApiModelProperty(value = "") - @Min(10) - @Max(100) - public Integer getInteger() { + @Min(10) @Max(100) public Integer getInteger() { return integer; } @@ -103,9 +101,7 @@ public FormatTest int32(Integer int32) { **/ @JsonProperty("int32") @ApiModelProperty(value = "") - @Min(20) - @Max(200) - public Integer getInt32() { + @Min(20) @Max(200) public Integer getInt32() { return int32; } @@ -146,9 +142,7 @@ public FormatTest number(BigDecimal number) { @JsonProperty("number") @ApiModelProperty(required = true, value = "") @NotNull - @DecimalMin("32.1") - @DecimalMax("543.2") - public BigDecimal getNumber() { + @DecimalMin("32.1") @DecimalMax("543.2") public BigDecimal getNumber() { return number; } @@ -169,9 +163,7 @@ public FormatTest _float(Float _float) { **/ @JsonProperty("float") @ApiModelProperty(value = "") - @DecimalMin("54.3") - @DecimalMax("987.6") - public Float getFloat() { + @DecimalMin("54.3") @DecimalMax("987.6") public Float getFloat() { return _float; } @@ -192,9 +184,7 @@ public FormatTest _double(Double _double) { **/ @JsonProperty("double") @ApiModelProperty(value = "") - @DecimalMin("67.8") - @DecimalMax("123.4") - public Double getDouble() { + @DecimalMin("67.8") @DecimalMax("123.4") public Double getDouble() { return _double; } @@ -213,8 +203,7 @@ public FormatTest string(String string) { **/ @JsonProperty("string") @ApiModelProperty(value = "") - @Pattern(regexp="/[a-z]/i") - public String getString() { + @Pattern(regexp="/[a-z]/i") public String getString() { return string; } @@ -331,8 +320,7 @@ public FormatTest password(String password) { @JsonProperty("password") @ApiModelProperty(required = true, value = "") @NotNull - @Size(min=10,max=64) - public String getPassword() { + @Size(min=10,max=64) public String getPassword() { return password; } diff --git a/samples/server/petstore/jaxrs/jersey1/src/main/webapp/WEB-INF/web.xml b/samples/server/petstore/jaxrs/jersey1/src/main/webapp/WEB-INF/web.xml index bde33eae91a..615c6f429b1 100644 --- a/samples/server/petstore/jaxrs/jersey1/src/main/webapp/WEB-INF/web.xml +++ b/samples/server/petstore/jaxrs/jersey1/src/main/webapp/WEB-INF/web.xml @@ -34,7 +34,7 @@ swagger.api.basepath - http://petstore.swagger.io/v2 + http://petstore.swagger.io:80/v2 2 diff --git a/samples/server/petstore/jaxrs/jersey2/src/gen/java/io/swagger/api/FakeApi.java b/samples/server/petstore/jaxrs/jersey2/src/gen/java/io/swagger/api/FakeApi.java index 16854fbaf4d..229e2781bd2 100644 --- a/samples/server/petstore/jaxrs/jersey2/src/gen/java/io/swagger/api/FakeApi.java +++ b/samples/server/petstore/jaxrs/jersey2/src/gen/java/io/swagger/api/FakeApi.java @@ -89,8 +89,8 @@ public Response testEnumParameters(@ApiParam(value = "Form parameter enum test ( ,@ApiParam(value = "Header parameter enum test (string)" , allowableValues="_abc, -efg, (xyz)", defaultValue="-efg")@HeaderParam("enum_header_string") String enumHeaderString ,@ApiParam(value = "Query parameter enum test (string array)", allowableValues=">, $") @QueryParam("enum_query_string_array") List enumQueryStringArray ,@ApiParam(value = "Query parameter enum test (string)", allowableValues="_abc, -efg, (xyz)", defaultValue="-efg") @DefaultValue("-efg") @QueryParam("enum_query_string") String enumQueryString -,@ApiParam(value = "Query parameter enum test (double)") @QueryParam("enum_query_integer") Integer enumQueryInteger -,@ApiParam(value = "Query parameter enum test (double)") @FormParam("enum_query_double") Double enumQueryDouble +,@ApiParam(value = "Query parameter enum test (double)", allowableValues="1, -2") @QueryParam("enum_query_integer") Integer enumQueryInteger +,@ApiParam(value = "Query parameter enum test (double)", allowableValues="1.1, -1.2") @FormParam("enum_query_double") Double enumQueryDouble ,@Context SecurityContext securityContext) throws NotFoundException { return delegate.testEnumParameters(enumFormStringArray,enumFormString,enumHeaderStringArray,enumHeaderString,enumQueryStringArray,enumQueryString,enumQueryInteger,enumQueryDouble,securityContext); diff --git a/samples/server/petstore/jaxrs/jersey2/src/main/webapp/WEB-INF/web.xml b/samples/server/petstore/jaxrs/jersey2/src/main/webapp/WEB-INF/web.xml index 66837dccab8..61b112e3d8c 100644 --- a/samples/server/petstore/jaxrs/jersey2/src/main/webapp/WEB-INF/web.xml +++ b/samples/server/petstore/jaxrs/jersey2/src/main/webapp/WEB-INF/web.xml @@ -38,7 +38,7 @@ swagger.api.basepath - http://petstore.swagger.io/v2 + http://petstore.swagger.io:80/v2 2