Commit Graph

4826 Commits

Author SHA1 Message Date
Benjamin Douglas
9058099e5b Add alias type definitions for Java
When a spec defines a Model at the top level that is a non-aggretate type (such
as string, number or boolean), it essentially represents an alias for the simple
type. For example, the following spec snippet creates an alias of the boolean
type that for all intents and purposes acts just like a regular boolean.

    definitions:
      JustABoolean:
        type: boolean

This can be modeled in some languages through built-in mechanisms, such as
typedefs in C++. Java, however, just not have a clean way of representing this.

This change introduces an internal mechanism for representing aliases. It
maintains a map in DefaultCodegen that tracks these types of definitions, and
wherever it sees the "JustABoolean" type in the spec, it generates code that
uses the built-in "Boolean" instead.

This functionality currenlty only applies to Java, but could be extended to
other languages later.

The change adds a few examples of this to the fake endpoint spec for testing,
which means all of the samples change as well.
2017-04-17 12:58:31 -07:00
Julien Fouilhé
b1a39ac820 fix(swift3): decoders call parents decoders too (#5369) 2017-04-18 00:03:52 +08:00
wing328
ba32f66714 Merge branch 'spring-resource-file-streams' of https://github.com/LEgregius/swagger-codegen into LEgregius-spring-resource-file-streams2 2017-04-17 23:26:09 +08:00
Eric Bélanger
fd289ac6de [JavaSpring] add support for map minProperties and maxProperties bean validation (#5395) 2017-04-17 22:47:21 +08:00
Tino Fuhrmann
e858f2390b [TypeScript] fix class filename in import/export (#5396)
* Fixed classFilename in typescript-angular and recreated samples

* Changed classname to classFilename in ts-angular2/models.mustache
Also recreated ts-angular2 sample
2017-04-17 22:43:33 +08:00
Mike Kistler
ca9fcd7db1 Fix copy method of CodegenParameter to copy isPrimitiveType (#5381) 2017-04-13 20:58:55 +08:00
wing328
4e6a342c13 replace tab with 4-space in spring templates (#5389) 2017-04-13 19:03:34 +08:00
dhuning
8cf0f7046e Adds @Valid to request body for the JavaSpring (#4850)
* Adds Valid annotation for request body (#4847)

If useBeanValidation is active, this change will add Valid annotation to ReqeustBody

* Adds generated samples for bean vaildation in spring boot (#4847)

* Adds Valid import to Controller

* Adds generated code for bean validation change
2017-04-13 17:42:02 +08:00
Benjamin Douglas
ab69ce5dc3 Add null pointer check to add/put methods (#5385) (#5386)
Commit e3d04ee01 (issue #5240) introduced unsafe add/put methods for optional
list/map parameters. This change maintains the spirit of issue #5240 (optional
containers are null by default) while still making add/put calls safe. It does
this by checking for null first and, if so, initializing it with an empty
container.

Also updated the affected samples using the various scripts in bin/.
2017-04-13 17:37:49 +08:00
Jean-Maxime Fillau
df1055fe38 Add float conversion for cpprest api client template. (#5387)
Signed-off-by: FILLAU Jean-Maxime <jean-maxime.fillau@mapotempo.com>
2017-04-13 17:30:20 +08:00
nikitozz
78c4928908 Fixes #5367. Async support is enabled for .NET netstandard API clients (#5368) 2017-04-12 10:39:42 +08:00
wing328
1fdd3e6ffa [Java][Spring] fix enum allowable values in Spring generators (#5364)
* fix enum allowable values in spring generators

* use values instead of enumVars in spring annoation
2017-04-11 22:23:09 +08:00
wing328
e3d04ee01f [Java] remove initialization for optional list property (#5363)
* set list to null in java if not required

* update petstore sample for java server stub

* update sample for msf4j

* add null assignment to new list/map in java
2017-04-11 19:07:48 +08:00
wing328
d3ac4b686a fix CI issue by declaring originalEnvironmentVariables as a protected
member
2017-04-11 00:57:22 +08:00
Simon Marti
1734ac4ed0 Add option to skip Maven plugin execution (#5337)
* Add option to skip Maven plugin execution

The execution is skipped if either the codegen.skip property or the <skip>
configuration parameter is set. This is consistent with how many other Maven
plugins, such as maven-exec-plugin and maven-clean-plugin, handle this.

* Add documentation for Maven `skip` property
2017-04-10 23:31:58 +08:00
Simon Marti
fea8699d8b Fix environment variable support in successive Maven plugin executions (#5351)
* Fix environment variable support in successive Maven plugin executions

System properties were retained across multiple successive executions,
resulting in unpredictable behavior. Property values are now properly reset
to their original value after plugin execution.

Fixes #5350

* Add explanation to environment variable reset mechanism in Maven plugin
2017-04-10 23:25:09 +08:00
Jean-François Côté
2e46bb9b9f Add File support + some fixes to Play generator (#5263)
* First commit of the Java Play Framework server generator. It is highly based on Spring so there might me a couple of things that don't make sense (like options or parameters) for the Play Framework.

* Fix suggestions in the PR discussion + add .bat and .sh file as requested.

* Updated Readme.md file

* Remove unused mustache file + fix baseName vs paramName in all the mustache files.

* Fix the compilation error when we have a body which is a list or map. Doesn't fix the problem with the annotation itself.

* Fix the problem with the Http.MultipartFormData.FilePart

* Return a FileInputStream when the returnType is "file" + Fix a couple of other bugs with boolean + updated sample

* Return an InputStream instead of FileInputStream (except in the instantiation)

* A little cleanup for the form param of type file.
2017-04-10 23:23:28 +08:00
Vincent Giersch
aef98f464e fix(php): should not check enum value if not unspecified and optional (broken since #4886) (#5357)
Signed-off-by: Vincent Giersch <vincent@giersch.fr>
2017-04-10 23:21:14 +08:00
Vincent Giersch
99f0ab496b fix(php): escape reserved words in enum variables names (#5356)
Signed-off-by: Vincent Giersch <vincent@giersch.fr>
2017-04-10 23:19:06 +08:00
Ahmet Taha Sakar
c6959b0d21 Swift3 headers (#5340)
* added headers to makeRequest function for swift3 template

* petstore update
2017-04-10 22:36:22 +08:00
anuthebananu
19d5e74dbd [Spring] Adds serialVersionUID to serializable model POJO's (#5347) 2017-04-07 09:17:29 +08:00
Johannes
e147fdec48 swagger-codegen-maven-plugin: hint added how to generate server code (#5342)
addresses issue #5332
2017-04-07 08:46:42 +08:00
wing328
4aaf3ab353 update reserved word list for swift3 (#5348) 2017-04-07 08:36:02 +08:00
lukoyanov
a7652d508d Updated CallAdapter & CallAdapterFactory for retrofit 2.2.0 (#5345) 2017-04-07 07:35:47 +08:00
wing328
90b14a996a use original value of paramName in akka scala templates (#5339) 2017-04-06 17:01:25 +08:00
weiyang
abffdca441 [Html2] Fix circular references (#5313)
* [html2] Fix circular references

Signed-off-by: weiyang <weiyang.ones@gmail.com>

* [samples][html2] Fix circular references

Signed-off-by: weiyang <weiyang.ones@gmail.com>

* Optimize code format

Signed-off-by: weiyang <weiyang.ones@gmail.com>
2017-04-06 14:39:26 +08:00
Ian O'Neill
f303183b44 [JaxrsResteasy] Fix JacksonConfig package and RestApplication imports (#5302) (#5303)
This is for the EAP version specifically.

* The JacksonConfig class always used the io.swagger.api package
* The RestApplication class did not import the service implementations
  from the correct package
* Added shell script for generating test applications
2017-04-04 00:43:40 +08:00
wing328
e5b3e3cdac replace tab with 4space for ts jquery client (#5299) 2017-04-03 15:48:51 +08:00
wing328
7db3388fdc Update maven compiler plugin to the latest version (3.6.1) (#5300)
* update maven compiler plugin to the latest version

* update feign petstore
2017-04-02 21:39:48 +08:00
wing328
2e8eea9c18 add logic to camelize path variables for feign client (#5301) 2017-04-02 19:01:43 +08:00
wing328
071c012f85 Replace tab with 4 space in Java files (#5298)
* replace tab with 4 space in java files

* revise error message in shell script

* print result before checking

* revise grep expression
2017-04-02 16:05:40 +08:00
jfiala
ca6b5d09d0 [Jaxrs-cxf] Add check for useGenericResponse for jaxrs-cxf server + client (#4779)
* add check for useGenericResponse for jaxrs-cxf

* move check for genericresponse to cxf codegen #4713
2017-04-02 16:05:16 +08:00
wing328
bc8e16e3f8 fix package name in mono test script (#5278) 2017-04-01 21:12:17 +08:00
Granjow
64c7e23a04 TypeScript client API: Add public getter/setter for base path (#5270) 2017-04-01 16:33:29 +08:00
zszugyi
22eb72791c Specify copy option to overwrite existing temp file, otherwise Files.copy throws FileAlreadyExistsException (#5268) 2017-04-01 16:11:00 +08:00
Griffin Schneider
5de19e3214 [Swift3] Fix bug where non-camel-case path params didn't work. (#5267)
* [Swift3] Fix bug where non-camel-case path params didn't work.

* [Swift3] Fix bug where int enums generated non-compiling code. Swift3 integration tests now pass.

* [Swift3] Add a non-camel-case path parameter to petstore-with-fake-endpoints-models-for-testing. This would have caused the Swift3 tests to be broken before 7387e49fef56a624045aa52b65ffb9c19b3853ec.
2017-04-01 16:06:31 +08:00
Benjamin Douglas
5c3fe23e9f Support Swagger collectionFormat encodings in Feign (#5266)
* Support Swagger collectionFormat encodings in Feign

Feign only natively supports the "multi" collectionFormat for encoding lists
of parameter values. This change adds manual encoding of the other formats, such
as "csv" (the default for collections), "tsv", space-separated, and pipes.

* Fix typo in anchor tag.
2017-04-01 15:33:20 +08:00
JC Casas
909f392745 fix mustache file for build.bat (#5264)
replace IO.Swagger for {{packageName}} where necessary
2017-03-31 16:30:40 +08:00
David Guthrie
aa773dc7fd Resource stream for file is no longer an option, it's the default for Spring 2017-03-30 12:34:22 -04:00
niku
4e1d9ea010 [Elixir] Add documentation for functions (#5260) 2017-03-30 22:45:39 +08:00
wing328
0baa6cf0e8 Merge branch 'nodejs-server-improvements' of https://github.com/Granjow/swagger-codegen into Granjow-nodejs-server-improvements 2017-03-30 22:31:17 +08:00
David Harrigan
fc01457d77 [JAVA][#5172] Allow vendor json media types (#5189)
* [#5172] Allow vendor json media types

* Revert unnecessary diffs

* Update petstore sample

* Didn't run mvn after some edits

* Rerun ' ./bin/java-petstore-all.sh' and './bin/security/java-petstore-okhttp-gson.sh'

* Added more realistic test cases for isJsonMime
2017-03-30 22:23:24 +08:00
wing328
040a25cc9b fix typo in c# generator's help text 2017-03-30 10:22:13 +08:00
Paŭlo Ebermann
2830fb1794 [JaxRS Server][Jersey1/2] Pass server port by cli (#5246)
* JaxRS server: set serverPort only when not given from outside.

* Update JaxRS sample creator scripts to fix serverPort.

* Preliminary test fix for JaxRS server generators.

* Updating samples for JaxRS with Jersey1/2.
2017-03-30 01:26:37 +08:00
wing328
996acc05f5 [Java][Retrofit2] update gradle, sbt build file with latest dependencies (#5238)
* update build.gradle for retrofit2

* update retrofit2 rx2 sample

* update gradle and sbt build file for retrofit2
2017-03-28 21:05:12 +08:00
Simon A. Eugster
99fd1b2281 Use __dirname for paths if server is started from a different directory 2017-03-28 13:31:47 +02:00
wing328
55e648c0b1 update retrofit2 dependencies (#5235) 2017-03-28 18:50:24 +08:00
Paŭlo Ebermann
dd883e4125 Issue #3084: remove timestamps from undertow samples (#5231)
* Issue #3084: Support hideGenerationTimestamp for Undertow.

* Issue #3084: disable timestamp generation for undertow samples.

* Update samples for Undertow.
2017-03-28 16:55:08 +08:00
wing328
32e9e7f63e add port 80 to swagger spec (#5232) 2017-03-28 16:46:29 +08:00
wing328
d68859cfbc fix c# docstring typo (#5223) 2017-03-27 18:06:34 +08:00