Commit Graph

2219 Commits

Author SHA1 Message Date
erdarun
d392f0b12e Fix NullPointerException for info.version on Javascript client codegen (#5475)
* Fix NullPointerException for info.version on Javascript client codegen

* info version null check handled and default version/appVersion value set to 1.0.0

* Removed null check for info version. Fixed DefaultGenerator code to handle null check.

* semicolon added missing
2017-04-25 20:11:04 +08:00
nikitozz
80dccfe395 The new .NET project file format support (#5439) 2017-04-25 10:22:59 +08:00
Phillip Novess
7282ad2d6a updated to place environment files in the correct location (#5168) 2017-04-24 18:37:37 +08:00
Phillip Novess
a2080810f8 updated to fix issue #5053 (#5057)
* updated to fix issue #5053

* updated test
2017-04-24 18:16:10 +08:00
wing328
640b16b58a Merge branch 'master' into master 2017-04-24 17:00:27 +08:00
nbruno
ddc309ec19 Add support for Spring's RestTemplate in Java client codegen (#5404)
* Add support for Spring's RestTemplate in Java client codegen

Resolves #1176

* Update all Java samples to include change for Jackson enums

Currently enums are deserialized from a String value with an
explicit @JsonCreator. However, they are not being serialized with
this String value. This change introduces the @JsonValue annotation
on the toString() method of enums, so they will be serialized as a
String with the correct value.
2017-04-24 14:40:47 +08:00
wing328
1277db61bd [Ruby] add generator version to Ruby template (#5459)
* add generator version to ruby template

* remove tab in java generator
2017-04-23 22:41:56 +08:00
wing328
ee5c1b203b fix typo: lamda -> lambda 2017-04-23 22:28:29 +08:00
Rik Sprenkels
bd8b2d37c0 Fixes for swagger.json to Java escaping. (#5247) 2017-04-23 19:10:25 +08:00
manuc66
d869051fb8 Fix Possible null pointer dereference (#5370) 2017-04-23 18:10:25 +08:00
Sergey Novikov
6685f18e5f Reuse allowed values (#5435) 2017-04-22 00:30:52 +08:00
Mario
f61e0d4024 Add RuntimeException option (#5405)
* add option to change Exception to RuntimeException

* rename propertie
remove space in template
2017-04-21 22:13:57 +08:00
Cas Perl
122db78b1a Issue 5375 (#5403)
* use py3 instead of py34

* fixed test to test invalid enum

* ADDED: assign variable in the ctor with property setter to check validity if possible. CHANGE: move required property check to proper place. CHANGE: remove double quotes from allowed_values for none-string enum property

* rebuilt samples

* comment for improvement

* ADDED: post process enum model for python.

* comment

* rebuilt samples

* rebuilt samples
2017-04-21 22:05:54 +08:00
wing328
813949dd00 add lamda to clean up examples, fix spring tempalate format 2017-04-18 18:14:00 +08:00
Benjamin Douglas
07ba1eb6f8 Fixup generation of Javascript samples
The generation code was ignoring top-level aliases for any language config that
contained "java", which included "javascript", a completely different language.

Changed this to be those configs based on the JavaAbstractGenerator class.
2017-04-17 17:50:01 -07:00
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
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
Mike Kistler
ca9fcd7db1 Fix copy method of CodegenParameter to copy isPrimitiveType (#5381) 2017-04-13 20:58:55 +08:00
Gayathri
a774ff9587 Latest from master - merge conflict resolution 2017-04-12 09:03:54 -05:00
nikitozz
78c4928908 Fixes #5367. Async support is enabled for .NET netstandard API clients (#5368) 2017-04-12 10:39:42 +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
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
wing328
4aaf3ab353 update reserved word list for swift3 (#5348) 2017-04-07 08:36:02 +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
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
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
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
Paŭlo Ebermann
ec6248cbcf [Erlang] pretty print swagger json (#5215)
* Pretty-print swagger.json.

(This was done via `jq`. In a later commit we'll generate it pretty-printed.)

* Erlang Server: pretty-print generated swagger.json.

* Update samples for Erlang-server.
2017-03-27 14:50:17 +08:00
Paŭlo Ebermann
9875855f63 [ASP.NET] Issue #5196: add packageGuid parameter to AspNetCoreServerCodegen. (#5199)
* Issue #5196: add packageUid parameter to AspNetCoreServerCodeGen.

* Change .bat file, too.
2017-03-27 13:20:24 +08:00
Paŭlo Ebermann
9dfbe7ef85 [nancyfx] Issue #5196: make package GUID nonrandom for nancyfx samples (#5209)
* Add packageGuid parameter to NancyFxServerCodegen.

* Use packageGuid parameter for nancyfx petstore samples.
2017-03-27 13:19:13 +08:00
Paŭlo Ebermann
f0b9c2b761 [Go] #3084: remove timestamps from go server (#5218)
* Issue #3084: add hideGenerationTimestamp option to Go server generator.

* Issue #3084: use hideGenerationTimestamp in go server sample script.

* Update Go server samples.
2017-03-27 11:47:15 +08:00
Julien Dupouy
e50e653e3d Binary support for javascript client (#5194) 2017-03-26 22:53:35 +08:00
Jean-François Côté
282b22744c [Java][PlayFramework] Added some CLI Options + many fixes (#5180)
* 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

* - Add "wrapCalls" and "useSwaggerUI" CLI Options and updated what handleException does to follow Play Framework lifecycle more closely
- Updated all mustache files accordingly
- Updated the sample
- Updates Play Framework version to the latest 2.5.13
2017-03-25 14:36:01 +08:00
David Guthrie
58d4187054 Added a new additional option that allows one to replace the the 'file' generated class with org.springframework.core.io.Resource, which will allow returing file data from Urls or anything that can be converted to a stream. 2017-03-23 11:25:08 -04:00
David Biesack
5f27fcab18 Add support for Markdown in -l html (#5144)
* Sync with upstream/master

* Support Markdown in -l html

Add https://github.com/atlassian/commonmark-java to modules/swagger-codegen to convert Markdown to HTML,
update StaticHtmlGenerator to use this (see the toHeml() method and its uses)

Add a new test case bin/html-markdown.sh and
modules/swagger-codegen/src/test/resources/2_0/markdown.yaml

* Support Markdown in -l html

Add https://github.com/atlassian/commonmark-java to modules/swagger-codegen to convert Markdown to HTML,
update StaticHtmlGenerator to use this (see the toHeml() method and its uses)

Add a new test case bin/html-markdown.sh and
modules/swagger-codegen/src/test/resources/2_0/markdown.yaml
2017-03-23 15:15:01 +08:00
Benjamin Douglas
55b7db3456 #5142: Add @QueryMap support for Feign API (#5143)
* use builder pattern for operations

* @QueryMap parameter only for query parameters

The previous iteration had replaced all parameters (body, path, query, etc)
within a single @QueryMap. But Feign only supports this style of parameter
passing for query parameters. Besides, for the case of a body parameter (like
soxhlet uses) it only added extra verbosity. With this change, the query
parameters are gathered together in a single @QueryMap and the other parameters
are left alone.

* Adding template for generating test code

* Make javadoc consistent with rest of file's conventions/indents

* Update samples

The files in src/main were generated by running

  $ bin/java-petstore-feign.sh

The files in src/test were manually fixed.

* Correct capitalization of @QueryMap class in feign

Adds a field operationIdCamelCase (a la operationIdLowerCase) to the
CodegenOperation container and uses it in the feign-generated classes
with @QueryMap parameters. Also re-generated the feign samples.

* Adding hyphen to javadocs for extra readability.

* Adding (not replacing) api method with @QueryParam overload.

In order to keep backwards compatibility, switched to adding a new method to
the interface instead of replacing the old call.

* Adding newline to generated source for readability.
2017-03-23 15:01:07 +08:00
wing328
2b0efda3bd [Java][Play] Remove swagger play dependency, cleanup (#5159)
* 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.

* Add an CLI option to generate interface. These interfaces are implemented by the controllerImp and help to generate the code with an IDE like IntelliJ because on updates of the code the controllerImp must follow the contract of the interface. If it don't, IDE will provide support to generate missing functions or parameters. I also did some cleanup of options we don't use in Play Framework.

* 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

* Small fixes

* Remove everything related to swagger-play. No need for annotation anymore because we export the swagger.json directly and show the documentation using swagger-ui with the direct path. Also added the sample.

* Remove/Rename paramsX mustache because there is no more documentation. Remove unused file. updated sample

* Fix the problem with default values that was not set correctly.

* Small fix related to bad merging

* Add handleException CLI options

* Fix default values once and for all!

* Update sample files + fix bug

* Fix bug with body that is required and have a list as a parameter + add bean import for interface to prevent compilation error
2017-03-22 23:00:30 +08:00
wing328
a4d4b0f0bd fix pattern in python flask (#5155) 2017-03-22 20:41:12 +08:00
wing328
df2f406849 update csharp generator help text (#5140) 2017-03-22 16:18:59 +08:00
Fábio Franco Uechi
0afa084158 Add docker support to python flask (#5133)
* added supporting files for Dockerfile and dockerignore generation for python-flask lang

* documenting how to build the docker image and how to spin up a container

* updating pet store sample
2017-03-21 23:21:53 +08:00
Sebastian Mandrean
58198939c7 [C#][aspnetcore] Fix broken Docker build option & documentation (#5128)
* Use lower-case packageName for README.md docker build example

* Use dotnet:1.0.3-sdk instead of just "latest"

* Regenerate Petstore server sample
2017-03-21 14:39:24 +08:00
Paul English
59fe50dd74 Ensure identifiers get sanitized; Ensure model names also have the same formatting (#5098) 2017-03-21 14:35:38 +08:00
Fábio Franco Uechi
7325650f2d solves issue #4752 (#5127) 2017-03-21 14:25:10 +08:00
eblis
21657f80cf Not using files from template folders with libraries inside them (#4628)
* #4627 - When looking for template files also look in the libraries subfolder of the supplied templateFolder, before checking the embedded locations.

* Reworked the order in which template files are searched for:
 - 1st the code will check if there's a <template folder>/libraries/<library> folder containing the file
 - 2nd it will check for the file in the specified <template folder> folder
 - 3rd it will check if there's an <embedded template>/libraries/<library> folder containing the file
 - 4th and last it will assume the file is in <embedded template> folder.

 Added unit test to test template dir overloading.
2017-03-20 22:12:29 +08:00
Gronsak
580745ef43 [C#] Adding support for generating .NET Standard 1.3 client library (#4955)
* [CsharpNetStandard] Added C# .NET Standard Client Generation

Added language CsharpNetStandard.
Everything copied from csharp Client Generator.
Dependancies switched from Restsharp to Restsharp.Portable.
Changes made where nececary to replicate Restsharp functionallity.
Project type changed to .NET Standard protable library.

* [CsharpNetStandard] Removed client prop validation due to incompability

* [CsharpNetStandard] Minor fixes

Changed leftover RestSharp.Method to Method
Changed to .Net Standard 1.3 for compability reasons
Changed excludeTests to default to true due to tests not being implemented yet

Removed unnecessary targetFramework property
Removed leftover UWP stuff

* [CsharpNetStandard] More fixes

Added correct dependencies to Readme
Added correct supported frameworks to Readme
Added slightly better placeholder for installation instructions in Readme

Removed leftover dependencies from project.json
Removed leftover SupportsAsync stuff
Removed references to build.bat/-.sh since they're not yet being generated

Todo implement test generation

* [CsharpNetStandard] Added forgoten git_push.sh

* [C#-netstandard] Renamed option to csharp-netstandard

Also added .bat file for test generation

* [C# Net Standard] fixed path in .bat file

* [C# NET Standard] fixes to enum generation

Fixed issues with enum generation due to tired programmer

* [C# NET Standard] Generated sample client library

Sample library generated

Fixes:
Class actually works again
.bat - minor inconsistency fixed

* [C# NET Standard] Error corrected in how timeout is set

Configuration Timeout property changed to TimeSpan type and code corrected around that

* [C#] Merged .NET Standard generator into csharp generator

Functionallity of csharp-netstarndard generator has been moved into standard csharp generator under the targetFramework option as "v5.0"
2017-03-20 17:21:44 +08:00