* [javascript] Fix response body when return type is String.
* [javascript] Regenerate javascript petstores with fixed String return type.
* [javascript-es6] Fix response body when return type is string.
* [kotlin] support collectionFormat:multi
Adds "multi" support to collections.
Also changes generic lists (List<T>) to arrays. Generic lists and nested
lists can be problematic and require customized json factories. The
previous implement appeared to work because the results in the test were
LinkedHashMap with count greather than 0. The functional test has been
updated to force serialization and verify the results.
* [kotlin] Regenerate sample
* [kotlin] Update model test for Array changes
* fixed map to use value instead of mapentry while doing fromJson.
* cpprest models now use inheritance properly instead of always extending from ModelBase
* cpprest models now use inheritance properly instead of always extending from ModelBase
* removed a sysout used for debugging
* toJson() and fromJson() now leverages parent class's corresponding methods
* virtual is not needed as override essentially does the same thing.
* added docstring for getModelByName
* corrected the javadoc
* fixed @param issue in javadoc
* fixed @param uncapitalized P in param in javadoc
* [Swift3] Add lenientTypeCast option
When set to true, this generates a client JSON decoder
that will accept and cast mistyped values.
Here:
- String => Bool ("true" instead of true),
- String => Int ("123" instead of 123),
- NSNumber => String (123 instead of "123").
The point is to allow the same client code to handle several
server implementations that may (sadly) not be up to spec,
or still be "evolving".
The conversion is not guaranteed if the input
Not a perfect/complete solution, not sure if it should be
activated along other casts, so kept behind an option.
* Update Petstore client code
* Fix issue with buffered sink handling in okhttp
Fixes unexpected end of stream exceptions when using the okhttp-gson library
and making asynchronous calls.
* update petstore samples for okhttp-gson
$ ./bin/java-petstore-okhttp-gson.sh
$ ./bin/security/java-petstore-okhttp-gson.sh
* WIP: trigger ci
* enable travis CI tests for swift, objc, move some tests to circleci
* fix comment in xml file
* use xcode8.3
* use ruby 2.2.5
* fix objc core data pom.xml
* use cocoapods 1.2.1
* use xcpretty for clearer test results
* fix pom with relative path to script
* comment out objc test
* fix xcpretty exit code
* add && exit ${PIPESTATUS[0]} for swift3 xcodebuild script
* use xcode 8.2
* update promisekit version for swift 2x, 3x
* add pod repo update
* remove Pods directory
* update swift dependencies to the latest version
* update podfile.lock
* rollback Alamofire to 4.0 for swift3
* fix swift3 rxswift api cliiet
* fix testDeletePet test in Swift3 rxswift petstore
* update clojure petstore
* comment out clojure test in travis (already covered in circleci)
* run pestore server locally
* use wing328/swagger-samples to run petstore
* run petstore server in the background
* test ruby petstore client
* add /Users/travis/.cocoapods/repos/master to cache
* add back ruby test, use public pestore server
* add back bash client test
* add npm config set registry to avoid time out
* use docker branch in swagger samples
* remove bash test
* show go version, reorder
* debug go petstore client
* reinstall go
* comment out pod repo update
* uncomment pod repo update
* test go in circleci
* remove go from travis test
* brew install sbt
* [kotlin] Add model enum support
Model variables marked isEnum=true are nested class enums. Top-level
enums will not be isEnum=true, but rather have a datatype specific to
the enum's type.
* [kotlin] Regenerate client sample
* - Added Restbed Generator
* - Added Json processing functions to model
- Removed unnused code from restbed codegen class
- Added response header processing to api template
* Changed it to respect alphabetical order
* Made the string joining java 7 compatible
* Added samples
* [kotlin] array->List instead of Array
Serialization to/from primitive arrays can cause issues with valid
responses. This commit considers swagger 'array' types as 'List' which,
although not as memory efficient should provide a cleaner interface for
users (and avoid serialization issues).
Also, updates README.md to list new generator and excludes
folder at samples/client/kotlin/bin/, which is not used.
* [kotlin] Move sample under conventional directory
samples/client/kotlin/ -> samples/client/petstore/kotlin/
Updated new.sh to generate client/server/docs into similar structure.
Current documentation generators (cwiki, html, html.md, html2) aren't
following a convention like client/server generators.
This commit adds Api/Model/Auth documentation to the generated
README.md. Because auth support is not yet fully implemented (users can
manually set default headers globally), there aren't examples for helper
auth methods.
Models with inline enums document allowed values rather than pointing to
a generated enum class.
Two global additionalProperties were added (generateApiDocs,
generateModelDocs) to allow templates to conditionally display
documentatoin depending on these mutually exclusive settings. All
current generators supporting docs will attempt to link to generated
models when only api docs are specified.
This also moves the $@ bash parameter in bin/kotlin-client-petstore.sh
to the end of the args variable. This is because $@ can only be used to
pass System properties like -DdebugModels, can can already be passed as:
JAVA_OPTS="$JAVA_OPTS -DdebugModels" ./bin/kotlin-client-petstore.sh
By moving the $@ to the end of the args, it allows us to pass additional
properties and other switches directly to the script.
* [Ruby] Modify file download to be written in chunks in order to handle large files. #5704
* [Ruby] Update Ruby Petstore with file download improvement. #5704
* Added mustache file for namedCredentials
* Removed Basic and OAuth from Apex API in favor of NamedCredentials
* Moved old README to README for ant deployment
* Added SFDX OSS descriptor
* Removed remoteSite mustache
* Changed package.xml from RemoteSite to NamedCredential
* Update ApexClientCodegen to support SFDX and namedCredentials
* Created initial README for Salesforce DX
* Ran Petstore test for Apex commit
* Fixed error in README mustache
* Updates http-client dependency to one that correctly handles certificates
This is important as amazon AWS gateway and several other types of certificates will not work correctly due to the old java library used by the 2.0.0 version of http-client.
* Runs the petstore updates switch for clojure
* Runs the petstore updates switch for clojure
* remove trailing space in cpprest, update samples
* remove unused pom.xml in go pestore
* fix broken links in php api doc by fixing baseType
* fix csharp api doc
* fix php examples
* fix examples for abstract php generator
* gh-4044: Added useES6 as an option for javascript templates
* gh-4044: Enabled ES6 in `javascript/api.mustache`
* gh-4044: Enabled ES6 in `javascript/ApiClient.mustache`
* gh-4044: Enabled ES6 in `javascript/enumClass.mustache`
* gh-4044: Added useES6 cli option to `javascript` clients and updated the test cases
* gh-4044: Enabled ES6 in `javascript/index.mustache`
* gh-4044: Enabled ES6 in `javascript` model templates
* `javascript/model.mustache`
* `javascript/partial_model_generic.mustache`
* `javascript/partial_model_enum_class.mustache`
* `javascript/partial_model_inner_enum.mustache`
* gh-4044: Separated `javascript-es6` templates to another folder
* gh-4044: Updated `javascript-es6/index.mustache`
* gh-4044: Enabled ES6 in `javascript-es6/api_doc.mustache`
* gh-4044: Added required dependencies for ES6
* gh-4044: Updated Supportig files for ES6 and non ES6
* gh-4044: Added test scripts to verify `javascript` useEs6 option
* gh-4044: Commented `javascript-es6` scripts due to the permission issues.
* Implement generating interfaces option for api resources, closesswagger-api/swagger-codegen#5453.
This commit introduces another _system property_ for typescript-angular2, called `withInterfaces` that is default to `false`. You can activate this flag by:
```
java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar generate \
-i http://petstore.swagger.io/v2/swagger.json \
-l typescript-angular2 -o samples/server/petstore/springboot/typescript-angular2 \
-D withInterfaces=true
```
If set to `true`, generated api resource classes will be implemented with their interfaces in separate files.
This change should not break and change the behaviour even though `withInterfaces` flag set to `true`. You are also welcome to create your own custom resource class by implementing those generated interfaces as they support defining new attributes with `[others: string]: any;` signature.
* Fix unit test for typescript/angular2 client options for "withInterfaces"
* Use double quote to follow coding standard
* Respect interface naming convention for typescript/angular2
Create respectful interface names that ends with `Interface` suffix, instead of prefixing with `I` according to typescript naming convention. This is also consistent with their file names that also ends with `Interface.ts`.
Also fixes the merge conflicts.
* Have better explanation for the `withInterfaces` system config
* Salesforce Apex support
* typo in function name
* comments for clarification
* DoubleProperty and FloatProperty are both DecimalProperty
* test models with default and provided example property values
* adding some more default example values
* 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
* Removal of warning (final) and fix of a missing default value for boolean query parameters
* 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
* Fix the conversion of boolean type
* Add samples for the fix with the boolean
* Fix bugs introduced by polci related to the bean validation.
* Refactor to use the "beanValidationCore". Asked by @wing328
* Sync with upstream/master
* Fix for issue #5653
Override the toModelName(String name) [from DefaultCodegen] in StaticHtmlGenerator to return `name` unmodified
so that the anchors for models and the href for body parameters match case (do not convert model names to TitleCase.
* Revert "Fix for issue #5653"
This reverts commit 5472aa10a3101ea5dd417bc509c5d9c5351a3d66.
* Fix for issue #5653
Override the toModelName(String name) [from DefaultCodegen] in StaticHtmlGenerator to return `name` unmodified
so that the anchors for models and the href for body parameters match case (do not convert model names to TitleCase.
* ignore .vscode
* fixed test case for models requiring mandatory attributes. added deserialize test for enum class
* construct model with mandatory attributes. improve class reflection (e.g. deserialize). disable generated empty model unit test for further FIXME
* rebuilt samples
* FIXME comment
* FIXME comment
* fix deserialization enum test
* Disable Jackson FAIL_ON_INVALID_SUBTYPE in feign
With this change, Jackson does not fail even if it doesn't recognize a
discriminator type name. This is helpful when upgrading a microservice with
a new subtype while keeping compatibility with its old clients. The instance
is returned as null instead of throwing an exception deep in the feign
framework, allowing clients to gracefully degrade.
* Disable FAIL_ON_INVALID_SUBTYPE for all Jackson-based projects
This fixes the glob pattern to remove hard-coded namespaces, and exclude
the obj folder. This removes a newly introduced issue that breaks
apiPackage and modelPackage support and fixes a problem with Xamarin
pulling in obj/**.cs when globbing **/*.cs.
* Add overloads on signals.
The overload adds the NetworkError and the error string to the signal. Both signal will be emitted. Clients are supposed to subscribe to only one of the overloads.
* refactor generated code alignement
* Do not use method overload for signals. Instead, have another naming convention for signal that carries Error information.
Why ? Because signal overloading and QT5 connector with method referencing do not mix well (see http://stackoverflow.com/questions/16794695/connecting-overloaded-signals-and-slots-in-qt-5). It would need to specify exactly which overload to take. That is cumbersome to write AND is a breaking change for the consumer of the generated code.
* update qt5 sample files
* Added code to templates to ensure generation of code for Swift3 that builds on both Apple platforms and Linux. Fixed a bug in the Model decoders that prevented code from building for Linux
* Ran the script to generate the PetStore API
* [Erlang] Address apparent reproducibily issue of sample
Spotted running `bin/erlang-petstore-server.sh` on d08d55d41 .
Apart from newlines, this is the opposite change of ec6248cbc .
* [Erlang] Perform basic testing of sample server on CI
* [Erlang] Install recent Erlang/OTP version
... in order to satisfy `jesse` compilation.
The error I faced is:
```
$ curl -f -L -o ./rebar3 https://s3.amazonaws.com/rebar3/rebar3 && chmod +x ./rebar3 && ./rebar3 version && export PATH="${TRAVIS_BUILD_DIR}:$PATH"
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 766k 100 766k 0 0 1041k 0 --:--:-- --:--:-- --:--:-- 1041k
rebar 3.3.6 on Erlang/OTP R16B03 Erts 5.10.4
...
===> Verifying dependencies...
===> Fetching jesse ({git,"https://github.com/for-GET/jesse.git",
{tag,"1.4.0"}})
===> Fetching jsx ({git,"https://github.com/talentdeficit/jsx.git",
{branch,"v2.8.0"}})
===> Skipping jsx (from {git,"git://github.com/talentdeficit/jsx.git",
{tag,"2.8.0"}}) as an app of the same name has already been fetched
===> Compiling jsx
===> Compiling jesse
===> Compiling _build/default/lib/jesse/src/jesse_tests_util.erl failed
_build/default/lib/jesse/src/jesse_tests_util.erl:28: can't find include lib "common_test/include/ct.hrl"
_build/default/lib/jesse/src/jesse_tests_util.erl:55: undefined macro 'config/2'
_build/default/lib/jesse/src/jesse_tests_util.erl:24: function do_test/2 undefined
_build/default/lib/jesse/src/jesse_tests_util.erl:72: function test_schema/3 is unused
_build/default/lib/jesse/src/jesse_tests_util.erl:102: function get_path/2 is unused
_build/default/lib/jesse/src/jesse_tests_util.erl:105: function load_schema/1 is unused
[ERROR] Command execution failed.
org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:404)
at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:166)
at org.codehaus.mojo.exec.ExecMojo.executeCommandLine(ExecMojo.java:804)
at org.codehaus.mojo.exec.ExecMojo.executeCommandLine(ExecMojo.java:751)
at org.codehaus.mojo.exec.ExecMojo.execute(ExecMojo.java:313)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.6.0:exec (Erlang Test) on project ErlangServerTests: Command execution failed. Process exited with an error: 1 (Exit value: 1) -> [Help 1]
```
* [Erlang] Bump `jsx` dependency to latest stable version
* [Erlang] Disable sample server from CI until compilation works