1712 Commits

Author SHA1 Message Date
William Cheng
571e635a54
[csharp][netcore] better tests for oneOf with primitive types (#11907)
* update samples

* undo changes for generichost
2022-03-19 22:21:33 +08:00
cachescrubber
e07c7d1617
[Feature][Java/Spring] Support Discriminator Based OneOf Interface (#11650)
* Fix OpenAPITools#5381
added x-is-one-of-interface extension for oneOf interface in mustache
template

* Fix OpenAPITools#5381
fixed name of model from UNKNOWN_BASE_TYPE to right one in api: operationId + OneOf

Fix OpenAPITools#5381
parcelableModel is not required

* Fix OpenAPITools#5381
removed not needed methods

* Fix OpenAPITools#5381
catch NPE cases in preprocessOpenAPI
updated samples

* Fix OpenAPITools#5381
fixed generation of oneOf Models

* Fix OpenAPITools#5381
addOneOfInterfaceModel only for cases when useOneOfInterfaces is true and for spring

* Fix OpenAPITools#5381
NPE fix

* Fix OpenAPITools#5381
spring: fixed use of oneOf Models in API

* Fix OpenAPITools#5381
implementing oneOf for spring lib overriding methods with different behavior from default

* Fix OpenAPITools#5381
added x-is-one-of-interface extension for oneOf interface in mustache
template

* Fix OpenAPITools#5381
fixed name of model from UNKNOWN_BASE_TYPE to right one in api: operationId + OneOf

Fix OpenAPITools#5381
removed not needed methods

Fix OpenAPITools#5381
fixed generation of oneOf Models

Fix OpenAPITools#5381
addOneOfInterfaceModel only for cases when useOneOfInterfaces is true and for spring

Fix OpenAPITools#5381
NPE fix for tests

* Fix OpenAPITools#5381
fixed handing of composed schema with array

* Fix OpenAPITools#5381
fixed NPE in addOneOfInterfaceModel

* Fix OpenAPITools#5381
fixed generation of oneOf models with descriminator

* Initial merge of 5.0

* Aligned with master formatting

* Corrected spacing for class names to align with samples.

* Merged master

* Updated samples

* Consolidate methods from JavaClient and SpringCodegen (mov up to AbstractJavaCodegen)

* set useLegacyDiscriminator to false, format templates

* Suport JsonTypeName, fq class name for spring.io.Resource

* Generate Samples

* Test full qualified usage of the spring Resource interface.

* Add java-camel to samples.circleci.spring profile

* Add more complex example combining inheritance and oneof-interface

* Remove x-implements Serializable from JavaClientCodegen (moved to AbstractJavaCodegen)

* Fix spacing before opening brace after extends/implements

* Generate Samples

* Add more complex example combining inheritance and oneof-interface

* Generate Samples

* Fix JsonTypeName annotation handling in Java and JavaSpring

* Content mediatype is hardcoded in api.mustache #11511

* Generate Samples

* OAS3 incorrect data type when providing a default value #11367

* Generate Samples

* Fix JsonTypeName annotation handling in Java and JavaSpring

* Generate Samples

* getIsClassnameSanitized: use null safe equals

* Fix JsonTypeName annotation handling in Java and JavaSpring (merge)

* Generate Samples

* Generate Samples

* Add oneof sample

* Generate Samples

* Giv example oas spec a meaningful name, demo usage of oneOf in Model

* Generate Samples

* Remove unnecessary JsonTypeName include, add example for JsonTypeName (Bar_Create)

* Generate Samples

* Generate Samples

Co-authored-by: Alexej <oleksejk@gmail.com>
Co-authored-by: JBurgess <joel.burgess@gmail.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
2022-03-16 22:50:05 +08:00
bgong-mdsol
ecbd164ed7
fix missing type in StringToArrayModelMapping (#11856)
clean up
2022-03-16 00:28:18 +08:00
William Cheng
7ea5d158f2
[Go] fix oneOf naming (#11863)
* update samples

* add lambda to handle oneof/anyof naming in go
2022-03-15 12:47:09 +08:00
Jason Froehlich
a3c5bbb09a
Added field and class level annotations to the pojo.mustache (#11775)
* Added field and class level annotations

Added x-class-extra-annotation and x-field-extra-annotation for class and field level annotations per object/field

* added field and class level extra annotations to pojos

* Updated samples

* Removed duplicate line

* Updated samples
2022-03-13 21:55:25 +08:00
William Cheng
7ac90ed98f
[Go] add more tests to cover more cases (#11849)
* more tests for go client

* add new files

* update samples

* add more tests
2022-03-11 10:42:24 +08:00
Noah Fontes
6f37409d2b
Fix nullable models embedded in allOf (#11804)
It is possible, though contrived, for a property to have both isAnyType
and isModel set. In this case, when the outer type is nullable, the Go
template expects a Nullable* type to be provided by the generator, but
it is skipped over instead. This change aligns the generator with the
template's expectations.
2022-03-10 16:31:44 +08:00
devhl-labs
22a1906480
[csharp-netcore] Upgrade to System.Text.Json (#11741)
* refactor nrt annotation

* enable nrt by default in .net6.0+

* use shorter nrt annotation

* build samples

* removed debugging lines

* fixed model and operatoin constructors

* reverted a commented line for comparison

* upgraded to System.Text.Json

* build samples

* build samples

* deleted samples to remove old files

* bug fixes

* bug fixes

* added tasks to track the bugs
2022-03-10 15:02:42 +08:00
Oleh Kurpiak
fb2c41c720
[Java] implicit headers regex (#11819) 2022-03-10 10:49:52 +08:00
Gustavo De Micheli
26f65de5ec
Add auto-generated doc to scala-akka client (#11840)
Co-authored-by: Gustavo De Micheli <gustavo.de.micheli@lunatech.com>
2022-03-10 10:04:51 +08:00
Noah Fontes
a4e1717fd2
Fix Go template for oneOfs with primitive types (#11826)
A recent enhancement to the template made these primitive types usable
as property names, but a small section of the template wasn't updated,
leading to compilation problems.
2022-03-09 01:56:53 +08:00
Abrhm7786
be8567f656
V4 Azure functions + some tweaks (#11345)
* Copying files from LeonB's fork

* Changes as per PR comments

* Resolved merge conflict

Co-authored-by: William Cheng <wing328hk@gmail.com>
2022-03-06 23:20:04 +08:00
Oleh Kurpiak
2e0dc573b3
[Java][WebClient] allow sync requests (#11780) 2022-03-04 22:58:03 +08:00
Oleh Kurpiak
3656ec5260
[Java] remove samples & replace them with file asserts (#11773) 2022-03-03 19:58:03 +08:00
Laurens-W
5ad9f1889e
[DefaultCodegen] GetReferenceHeader for both calls of headerToCodegenParameter (#11756)
* GetReferenceHeader for both calls of headerToCodegenParameter

* Moved dereferencing of header outside of headerToCodegenParameter

Co-authored-by: Westerlaken, H.L. (Laurens) <laurens.westerlaken@devolksbank.nl>
2022-03-02 07:22:59 -08:00
sdoeringNew
53c2c66682
#8881: add ESM to typescript-fetch (#11720)
In case of "supportsES6" an additional tsconfig.esm.json is created. That will add an ECMAScript module to the npm build.
2022-03-02 08:37:54 +01:00
Karsten Thoms
6a7fc38fb9
[#4650] Fix StackOverflowError for recursive composite schemas (#11620)
The generator ran into a loop when a composite schema recursively added itself. This change provides a reproducing example and fixes the issue by extending DefaultCodegen#addProperties() by an additional circuit breaker parameter.

When additionalProperties() is called with a schema instance for which the properties have already been added, the method directly returns and does not run into the loop.
2022-03-02 01:35:47 +08:00
Sergey Vladimirov
1b6ab63953
Add beanQualifiers option to kotlin-server (#11745) 2022-03-02 00:57:30 +08:00
bgong-mdsol
417d69425a
[scala-sttp] fix enumeration operator constant name collision (#10596)
* fix enumeration operator onstant name collision

* test to verify OperatorName
2022-03-02 00:32:25 +08:00
Oleh Kurpiak
5b9efb6b5b
[Java] Java class assert (#11738)
* [Java] java file assert

* [Java] java file assert
2022-02-28 07:59:41 +08:00
Reda
33b89148e5
[JavaSpring] Multipart causing HttpMediaTypeNotSupportedException when parameter is different than File or String (#11449)
* Generate @RequestParam when parameter is not a File

* Fix tests to use @RequestParam

* Enhance testMultipartBoot test case

* Update the Petstore sample

* Add MultipartMixedStatus files

* Use @RequestPart for spring-cloud when param is File

* Generate samples

* Delete spring-cloud formParams.mustache file

* Regenerate samples
2022-02-27 15:07:35 +08:00
sullis
f1d0724f2a
[java] junit 4.13.2 (#11733) 2022-02-27 13:18:19 +08:00
William Cheng
5c673d89c4
[typescript-angular] only support Angular v9+ (#11726)
* only angular 9+ is supported in typescript-angular

* clean up typescript-angular samples

* clean up samples

* fix test, update doc
2022-02-26 07:49:21 +01:00
Reinhard-PTV
f0fd94441f
Support validation for arrays for JavaJaxRS and a test to validate the fix (#11709) 2022-02-26 10:58:06 +08:00
Adam Hynes
8b74053c7c
[kotlin-spring] fix #9902 use coroutine Flow for arrays in delegate when reactive=true (#11695)
* [kotlin-spring] fix #9902 use flow for arrays in delegate

* [kotlin-spring] fix #9902 only use flow for arrays in delegate for bodyParams
2022-02-26 00:58:36 +08:00
Reinhard-PTV
c5213e3b5e
Support arrays within deepobjects (#11699) 2022-02-24 13:21:59 +08:00
sullis
6e7c39e64f
validate pom.xml files (#11672) 2022-02-23 16:38:25 +08:00
Sorin Florea
7dcfe62dee
Properly encode exploded query params in url (#11682) 2022-02-22 16:33:36 +08:00
Karsten Thoms
735dae41a5
[#11323] Fixed wrong clearing of CodegenModel#hasEnum field (#11653)
A CodegenModel's hasEnum property is set in addVars:
  cm.hasEnums = true;
This state was cleared afterwards again.

As one of its results the import for @JsonValue was not added for the model class in the Spring code generator, where 'model.hasEnums' was evaluated to false where it should be true.
2022-02-21 23:19:08 +08:00
William Cheng
df05e6f4bc
Update parser to 2.0.29 (#11388)
* update parser to 2.0.29

* better handling of null in dereferencing

* update parser to 2.0.30

* update core to newer version

* add new files

* rollback to previous stable version

* remove files

* Fixes for python-experimental NullableShape component

Co-authored-by: Justin Black <justin.a.black@gmail.com>
2022-02-21 18:37:52 +08:00
sullis
636e87568d
update ArchUnit rules (#11671) 2022-02-20 19:26:04 -08:00
Aaron Pittenger
0d4dba13f6
[Python] python regex validation generation (#11525)
* fix: python regex validation generation

* docs: updated comment to be more specific

* fix: check the right value used when generating the regex
2022-02-17 21:11:39 -08:00
sullis
9517a9525b
[java] enhance unit tests for JavaJerseyServerCodegen (#11643) 2022-02-17 19:24:19 -08:00
William Cheng
1f6b3eb604
Remove go-deprecated generator (#11645)
* remove go-deprecated generator

* update doc
2022-02-18 11:20:09 +08:00
William Cheng
b979eccf68
Add Github action file to test Java clients (#11633)
* add github action file to test java clients

* update tests
2022-02-17 15:49:34 +08:00
Daniel Schreiber
035736f5c4
[java] No @NotNull annotation for readOnly (required) attributes - fixes #5026 (#10820) 2022-02-16 15:33:23 +08:00
William Cheng
878f6e5709
[General] Better code format (#11612)
* better code format in java tests

* better code format in java client codegen

* better code format in java model tests

* better code format in abstract java codegen

* better code format in codegen parameter, property

* better code format in codegen response

* better code format in codegen model

* better code format in default generator

* better code format in default codegen

* update codegen model
2022-02-15 16:32:48 +08:00
William Cheng
380aaa55a1
Remove JDK7 support from Java Spring generators (#11561)
* remove jdk8 support from spring generators

* update tests, remove commented code in AbstractJavaCodegen

* add back implementation

* add back import

* generate code for non reactive
2022-02-14 17:54:31 +08:00
cachescrubber
0ed147e7a4
Implement Source DocumentationProvider, spring-mvc decommission (#11531)
* - Upgrade swagger-ui to 4.4.1
- Bring homeController.mustache up-to-date
- Main class is now OpenApiGeneratorApplication
- Introduce SpringBootTest.mustache
- Remove option swaggerDocketConfig/openapiDocketConfig in favor of documentationProvider.

* Generate Samples

* Restore generator-online classes
Fix spring-mvc builds

* Generate Samples

* Do not generate SpringFoxConfiguration.java when reactive ist set.

* Fix generation of SpringFoxConfiguration

* Generate Documentation

* Reactive support: add dependency management for springdoc-openapi-webflux-ui

* Generate Samples

* Change SpringBootApplication to OpenApiGeneratorApplication

* Generate Samples

* Implement SwaggerUIFeatures in SpringCodegen

* Generate Samples

* Add useSwaggerUI: true to some test configs

* Generate Samples

* Update Documentation

* Update Documentation

* Update README.mustache

* Generate Samples

* useSwaggerUI is true by default

* Generate Samples

* Update Documentation

* Add deprecation warnings to cli opts; Log a deprecation warning

* Update Documentation

* Generate Samples

* Remove spring-mvc library

* Remove spring-mvc from project and CI configs

* Check whether the selected documentation provider requires us to boostrap swagger-ui.

* Generate Samples

* Generate samples

* Generate samples

* Generate samples
2022-02-12 17:25:21 +08:00
Oleh Kurpiak
25270a0389
[Java] fix deserialization of readonly properties (#11495) 2022-02-12 15:23:29 +08:00
cachescrubber
703c9630c2
[spring] various bug fixes and enhancements (#11580)
* Bugfix: delay clearing *TemplateFiles with apiFirst #2407

* Bugfix: delay clearing *TemplateFiles with apiFirst #2407 (add test case)

* spring api.mustache: fix unhandledException #10860

* Generate samples

* add sample

* Generate samples

* Fixed mustache template for FormParams. Use paramName instead of baseName for variable name.
This will fix an issue when parameter name is one of the reserved keywords (#7506)

# Conflicts:
#	modules/openapi-generator/src/main/resources/JavaSpring/formParams.mustache
#	modules/openapi-generator/src/test/java/org/openapitools/codegen/java/spring/SpringCodegenTest.java

* Move and comment apiFrst

Co-authored-by: Andrii Hrytsiuk <andrii.hrytsiuk@gmail.com>
2022-02-12 15:17:58 +08:00
cachescrubber
9dfe8c63ee
[Bug][Java] defaultValues for date and date-time params (#11536)
* Add default value support to cookie and header params

* Generate Samples

* Replace "OffsetDateTime.parse(..)" with toString();

* Generate Samples

* Revert "Replace "OffsetDateTime.parse(..)" with toString();"

This reverts commit 2e37411b305343e99542c094a691e1419a67b1b5.

* Format java.util.Date to ISO Date in AbstractJavaCodegen.toDefaultParameterValue

* Generate Samples

* Generate Samples

* Use toParameterDefault()

* Generate Samples

* Implement testDateTimeFormParameterHasDefaultValue unit test

* Add more test coverage.

* Remove postProcessParameter() since is has no effect after using toDefaultParameterValue()

* Use LocalDate.parse() in toDefaultValue()

* Generate Samples

* Return a defaultValue only if dateTimeLibrary is java8.
2022-02-12 15:14:26 +08:00
Ulrich Grave
bd48108818
Fix for multible tags in @Operation annotation (#11475)
* Check size of x-tags list

* Remove unused variable assigment

* Fix issue number in test method name

* Fix typo

* Add tag to @ApoOperation only if any tag is given

* Rename data provider method

* Remove unused import
2022-02-10 14:43:57 +08:00
William Cheng
8455c1cd23
Remove the option to support JDK7 from Java generator and templates (#11547)
* remove java8 from java client generator and templates

* update tests

* remove threetenbp

* update spring templates to remove java8

* remove java8 from jaxrs template

* fix jaxrs spec

* fix feign

* remove CustomInstantDeserializer.java

* fix jersey1

* fix undertow

* various update

* fix jaxrs jersey1

* fix java inflector

* fix jaxrs cxf

* add new files

* update doc
2022-02-10 10:35:29 +08:00
William Cheng
51800471fa
[java][Okhttp] replace okhttp-gson with okhttp-gson-nextgen (#11538)
* replace okhttp-gson with okhttp-gson-nextgen

* add new files

* update doc

* clean up pom

* update test

* restore error handling in doc

* add back changes

* uncomment tests

* update samples
2022-02-08 00:05:44 +08:00
Ethan Keller
9f5422d688
Add cycle detection (#7532) (#11500)
* Add cycle detection (#7532)

* Review feedback

* Including ContextAwareNodes to detect cycles more accurately.

* Add test

* Add forest to test.

* No longer need ContextAwareNode

* Review feedback

* Update samples
2022-02-06 13:21:17 -05:00
y-tomida
7843a45b89
[TypeScript] Fix type array with uniqueItems (#11515)
* fix type mapping

* add missing primitive type Set

* add testcase

* generate new samples

* update typescript generator document

* regenerate samples and documents
2022-02-04 08:04:51 +01:00
Justin Black
4d9a500c95
Adds inline composition examples to python-experimental (#11420)
* Adds component with composition in property example

* Adds endpoint parameter examples

* Adds request body examples

* Adds inpline composition example in response body

* Fixes UNKNOWNBASETYPE import bug

* Updates allof inline schemas to be type object with minProperties

* Removes newline

* Adds test_ObjectWithInlineCompositionProperty

* Updates inline schema to be type string, adds partial test_inline_composition

* Fixes accept_content_types input value

* Adds test_ObjectWithInlineCompositionProperty, adds test_inline_composition and starts deserialization of multipart

* Fixes test_inline_composition, adds simple multipat/form-data deserialization
2022-02-03 08:27:52 -08:00
Kasper Peulen
80082c73c4
Typescript-fetch: date is only converted to javascript date with runtime checks enabled (#11481)
* date is only converted to javascript date with runtime checks enabled

* fix test

* fix test
2022-02-02 07:50:45 +01:00
William Cheng
0e1164ff6b Merge remote-tracking branch 'origin/6.0.x' 2022-01-31 14:26:14 +08:00