forked from loafle/openapi-generator-original
		
	[JAVA] fix: oneOf generates incorrect model for primitive types (#16834)
* generate samples * try fix * add new sample for fixed case * also improve native library Other libraries don't need fixes. * add oneOf_twoPrimitives.yaml * generate samples * resolve comment
This commit is contained in:
		
							parent
							
								
									438bf25a47
								
							
						
					
					
						commit
						b6db4f73f1
					
				| @ -10,6 +10,7 @@ on: | |||||||
|       - samples/openapi3/client/petstore/java/jersey2-java8-swagger1/** |       - samples/openapi3/client/petstore/java/jersey2-java8-swagger1/** | ||||||
|       - samples/openapi3/client/petstore/java/jersey2-java8-swagger2/** |       - samples/openapi3/client/petstore/java/jersey2-java8-swagger2/** | ||||||
|       - samples/openapi3/client/petstore/java/native** |       - samples/openapi3/client/petstore/java/native** | ||||||
|  |       - samples/client/others/java/okhttp-gson-oneOf/** | ||||||
|       - samples/client/others/java/resttemplate-useAbstractionForFiles/** |       - samples/client/others/java/resttemplate-useAbstractionForFiles/** | ||||||
|       - samples/client/others/java/webclient-useAbstractionForFiles/** |       - samples/client/others/java/webclient-useAbstractionForFiles/** | ||||||
|   pull_request: |   pull_request: | ||||||
| @ -21,6 +22,7 @@ on: | |||||||
|       - samples/openapi3/client/petstore/java/jersey2-java8-swagger1/** |       - samples/openapi3/client/petstore/java/jersey2-java8-swagger1/** | ||||||
|       - samples/openapi3/client/petstore/java/jersey2-java8-swagger2/** |       - samples/openapi3/client/petstore/java/jersey2-java8-swagger2/** | ||||||
|       - samples/openapi3/client/petstore/java/native** |       - samples/openapi3/client/petstore/java/native** | ||||||
|  |       - samples/client/others/java/okhttp-gson-oneOf/** | ||||||
|       - samples/client/others/java/resttemplate-useAbstractionForFiles/** |       - samples/client/others/java/resttemplate-useAbstractionForFiles/** | ||||||
|       - samples/client/others/java/webclient-useAbstractionForFiles/** |       - samples/client/others/java/webclient-useAbstractionForFiles/** | ||||||
| jobs: | jobs: | ||||||
| @ -65,6 +67,7 @@ jobs: | |||||||
|           - samples/client/petstore/java/okhttp-gson-swagger2/ |           - samples/client/petstore/java/okhttp-gson-swagger2/ | ||||||
|           - samples/client/petstore/java/resttemplate-swagger2/ |           - samples/client/petstore/java/resttemplate-swagger2/ | ||||||
|           - samples/openapi3/client/petstore/java/jersey2-java8-swagger2/ |           - samples/openapi3/client/petstore/java/jersey2-java8-swagger2/ | ||||||
|  |           - samples/client/others/java/okhttp-gson-oneOf/ | ||||||
|           - samples/client/others/java/resttemplate-useAbstractionForFiles/ |           - samples/client/others/java/resttemplate-useAbstractionForFiles/ | ||||||
|           - samples/client/others/java/webclient-useAbstractionForFiles/ |           - samples/client/others/java/webclient-useAbstractionForFiles/ | ||||||
|     steps: |     steps: | ||||||
|  | |||||||
							
								
								
									
										7
									
								
								bin/configs/java-okhttp-gson-oneOf.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								bin/configs/java-okhttp-gson-oneOf.yaml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,7 @@ | |||||||
|  | generatorName: java | ||||||
|  | outputDir: samples/client/others/java/okhttp-gson-oneOf | ||||||
|  | library: okhttp-gson | ||||||
|  | inputSpec: modules/openapi-generator/src/test/resources/3_0/oneOf_twoPrimitives.yaml | ||||||
|  | templateDir: modules/openapi-generator/src/main/resources/Java | ||||||
|  | additionalProperties: | ||||||
|  |   hideGenerationTimestamp: "true" | ||||||
| @ -7248,7 +7248,7 @@ public class DefaultCodegen implements CodegenConfig { | |||||||
|                     codegenParameter.description = codegenModelDescription; |                     codegenParameter.description = codegenModelDescription; | ||||||
|                     imports.add(codegenParameter.baseType); |                     imports.add(codegenParameter.baseType); | ||||||
| 
 | 
 | ||||||
|                     if (codegenProperty.complexType != null) { |                     if (codegenProperty.complexType != null && codegenProperty.getComposedSchemas() == null) { | ||||||
|                         imports.add(codegenProperty.complexType); |                         imports.add(codegenProperty.complexType); | ||||||
|                     } |                     } | ||||||
|                 } |                 } | ||||||
|  | |||||||
| @ -231,6 +231,7 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im | |||||||
|     StringJoiner joiner = new StringJoiner("&"); |     StringJoiner joiner = new StringJoiner("&"); | ||||||
| 
 | 
 | ||||||
|     {{#composedSchemas.oneOf}} |     {{#composedSchemas.oneOf}} | ||||||
|  |     {{^vendorExtensions.x-duplicated-data-type}} | ||||||
|     if (getActualInstance() instanceof {{{dataType}}}) { |     if (getActualInstance() instanceof {{{dataType}}}) { | ||||||
|         {{#isArray}} |         {{#isArray}} | ||||||
|         {{#items.isPrimitiveType}} |         {{#items.isPrimitiveType}} | ||||||
| @ -352,6 +353,7 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im | |||||||
|         {{/isArray}} |         {{/isArray}} | ||||||
|         return joiner.toString(); |         return joiner.toString(); | ||||||
|     } |     } | ||||||
|  |     {{/vendorExtensions.x-duplicated-data-type}} | ||||||
|     {{/composedSchemas.oneOf}} |     {{/composedSchemas.oneOf}} | ||||||
|     return null; |     return null; | ||||||
|   } |   } | ||||||
|  | |||||||
| @ -264,6 +264,7 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im | |||||||
|     StringJoiner joiner = new StringJoiner("&"); |     StringJoiner joiner = new StringJoiner("&"); | ||||||
| 
 | 
 | ||||||
|     {{#composedSchemas.oneOf}} |     {{#composedSchemas.oneOf}} | ||||||
|  |     {{^vendorExtensions.x-duplicated-data-type}} | ||||||
|     if (getActualInstance() instanceof {{{dataType}}}) { |     if (getActualInstance() instanceof {{{dataType}}}) { | ||||||
|         {{#isArray}} |         {{#isArray}} | ||||||
|         {{#items.isPrimitiveType}} |         {{#items.isPrimitiveType}} | ||||||
| @ -385,6 +386,7 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im | |||||||
|         {{/isArray}} |         {{/isArray}} | ||||||
|         return joiner.toString(); |         return joiner.toString(); | ||||||
|     } |     } | ||||||
|  |     {{/vendorExtensions.x-duplicated-data-type}} | ||||||
|     {{/composedSchemas.oneOf}} |     {{/composedSchemas.oneOf}} | ||||||
|     return null; |     return null; | ||||||
|   } |   } | ||||||
|  | |||||||
| @ -48,7 +48,9 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im | |||||||
|             {{#composedSchemas}} |             {{#composedSchemas}} | ||||||
|             {{#anyOf}} |             {{#anyOf}} | ||||||
|             {{^isArray}} |             {{^isArray}} | ||||||
|  |             {{^vendorExtensions.x-duplicated-data-type}} | ||||||
|             final TypeAdapter<{{{dataType}}}> adapter{{{dataType}}} = gson.getDelegateAdapter(this, TypeToken.get({{{dataType}}}.class)); |             final TypeAdapter<{{{dataType}}}> adapter{{{dataType}}} = gson.getDelegateAdapter(this, TypeToken.get({{{dataType}}}.class)); | ||||||
|  |             {{/vendorExtensions.x-duplicated-data-type}} | ||||||
|             {{/isArray}} |             {{/isArray}} | ||||||
|             {{#isArray}} |             {{#isArray}} | ||||||
| 
 | 
 | ||||||
| @ -68,6 +70,7 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im | |||||||
| 
 | 
 | ||||||
|                     {{#composedSchemas}} |                     {{#composedSchemas}} | ||||||
|                     {{#anyOf}} |                     {{#anyOf}} | ||||||
|  |                     {{^vendorExtensions.x-duplicated-data-type}} | ||||||
|                     // check if the actual instance is of the type `{{{dataType}}}` |                     // check if the actual instance is of the type `{{{dataType}}}` | ||||||
|                     if (value.getActualInstance() instanceof {{#isArray}}List<?>{{/isArray}}{{^isArray}}{{{dataType}}}{{/isArray}}) { |                     if (value.getActualInstance() instanceof {{#isArray}}List<?>{{/isArray}}{{^isArray}}{{{dataType}}}{{/isArray}}) { | ||||||
|                     {{#isPrimitiveType}} |                     {{#isPrimitiveType}} | ||||||
| @ -91,6 +94,7 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im | |||||||
|                     {{/isPrimitiveType}} |                     {{/isPrimitiveType}} | ||||||
|                     {{/isArray}} |                     {{/isArray}} | ||||||
|                     } |                     } | ||||||
|  |                     {{/vendorExtensions.x-duplicated-data-type}} | ||||||
|                     {{/anyOf}} |                     {{/anyOf}} | ||||||
|                     {{/composedSchemas}} |                     {{/composedSchemas}} | ||||||
|                     throw new IOException("Failed to serialize as the type doesn't match anyOf schemae: {{#anyOf}}{{{.}}}{{^-last}}, {{/-last}}{{/anyOf}}"); |                     throw new IOException("Failed to serialize as the type doesn't match anyOf schemae: {{#anyOf}}{{{.}}}{{^-last}}, {{/-last}}{{/anyOf}}"); | ||||||
| @ -106,6 +110,7 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im | |||||||
| 
 | 
 | ||||||
|                     {{#composedSchemas}} |                     {{#composedSchemas}} | ||||||
|                     {{#anyOf}} |                     {{#anyOf}} | ||||||
|  |                     {{^vendorExtensions.x-duplicated-data-type}} | ||||||
|                     {{^hasVars}} |                     {{^hasVars}} | ||||||
|                     // deserialize {{{dataType}}} |                     // deserialize {{{dataType}}} | ||||||
|                     try { |                     try { | ||||||
| @ -184,6 +189,7 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im | |||||||
|                         log.log(Level.FINER, "Input data does not match schema '{{{.}}}'", e); |                         log.log(Level.FINER, "Input data does not match schema '{{{.}}}'", e); | ||||||
|                     } |                     } | ||||||
|                     {{/hasVars}} |                     {{/hasVars}} | ||||||
|  |                     {{/vendorExtensions.x-duplicated-data-type}} | ||||||
|                     {{/anyOf}} |                     {{/anyOf}} | ||||||
|                     {{/composedSchemas}} |                     {{/composedSchemas}} | ||||||
| 
 | 
 | ||||||
| @ -210,7 +216,9 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im | |||||||
|     static { |     static { | ||||||
|         {{#composedSchemas}} |         {{#composedSchemas}} | ||||||
|         {{#anyOf}} |         {{#anyOf}} | ||||||
|  |         {{^vendorExtensions.x-duplicated-data-type}} | ||||||
|         schemas.put("{{{dataType}}}", {{{baseType}}}.class); |         schemas.put("{{{dataType}}}", {{{baseType}}}.class); | ||||||
|  |         {{/vendorExtensions.x-duplicated-data-type}} | ||||||
|         {{/anyOf}} |         {{/anyOf}} | ||||||
|         {{/composedSchemas}} |         {{/composedSchemas}} | ||||||
|     } |     } | ||||||
| @ -238,6 +246,7 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im | |||||||
|         {{/isNullable}} |         {{/isNullable}} | ||||||
|         {{#composedSchemas}} |         {{#composedSchemas}} | ||||||
|         {{#anyOf}} |         {{#anyOf}} | ||||||
|  |         {{^vendorExtensions.x-duplicated-data-type}} | ||||||
|         if (instance instanceof {{#isArray}}List<?>{{/isArray}}{{^isArray}}{{{dataType}}}{{/isArray}}) { |         if (instance instanceof {{#isArray}}List<?>{{/isArray}}{{^isArray}}{{{dataType}}}{{/isArray}}) { | ||||||
|         {{#isArray}} |         {{#isArray}} | ||||||
|             List<?> list = (List<?>) instance; |             List<?> list = (List<?>) instance; | ||||||
| @ -252,6 +261,7 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im | |||||||
|         {{/isArray}} |         {{/isArray}} | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  |         {{/vendorExtensions.x-duplicated-data-type}} | ||||||
|         {{/anyOf}} |         {{/anyOf}} | ||||||
|         {{/composedSchemas}} |         {{/composedSchemas}} | ||||||
|         throw new RuntimeException("Invalid instance type. Must be {{#anyOf}}{{{.}}}{{^-last}}, {{/-last}}{{/anyOf}}"); |         throw new RuntimeException("Invalid instance type. Must be {{#anyOf}}{{{.}}}{{^-last}}, {{/-last}}{{/anyOf}}"); | ||||||
| @ -270,6 +280,7 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im | |||||||
| 
 | 
 | ||||||
|     {{#composedSchemas}} |     {{#composedSchemas}} | ||||||
|     {{#anyOf}} |     {{#anyOf}} | ||||||
|  |     {{^vendorExtensions.x-duplicated-data-type}} | ||||||
|     /** |     /** | ||||||
|      * Get the actual instance of `{{{dataType}}}`. If the actual instance is not `{{{dataType}}}`, |      * Get the actual instance of `{{{dataType}}}`. If the actual instance is not `{{{dataType}}}`, | ||||||
|      * the ClassCastException will be thrown. |      * the ClassCastException will be thrown. | ||||||
| @ -280,6 +291,7 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im | |||||||
|     public {{{dataType}}} get{{#isArray}}{{complexType}}List{{/isArray}}{{^isArray}}{{{dataType}}}{{/isArray}}() throws ClassCastException { |     public {{{dataType}}} get{{#isArray}}{{complexType}}List{{/isArray}}{{^isArray}}{{{dataType}}}{{/isArray}}() throws ClassCastException { | ||||||
|         return ({{{dataType}}})super.getActualInstance(); |         return ({{{dataType}}})super.getActualInstance(); | ||||||
|     } |     } | ||||||
|  |     {{/vendorExtensions.x-duplicated-data-type}} | ||||||
|     {{/anyOf}} |     {{/anyOf}} | ||||||
|     {{/composedSchemas}} |     {{/composedSchemas}} | ||||||
| 
 | 
 | ||||||
| @ -294,6 +306,7 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im | |||||||
|     ArrayList<String> errorMessages = new ArrayList<>(); |     ArrayList<String> errorMessages = new ArrayList<>(); | ||||||
|     {{#composedSchemas}} |     {{#composedSchemas}} | ||||||
|     {{#anyOf}} |     {{#anyOf}} | ||||||
|  |     {{^vendorExtensions.x-duplicated-data-type}} | ||||||
|     // validate the json string with {{{dataType}}} |     // validate the json string with {{{dataType}}} | ||||||
|     try { |     try { | ||||||
|     {{^hasVars}} |     {{^hasVars}} | ||||||
| @ -350,6 +363,7 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im | |||||||
|       errorMessages.add(String.format("Deserialization for {{{dataType}}} failed with `%s`.", e.getMessage())); |       errorMessages.add(String.format("Deserialization for {{{dataType}}} failed with `%s`.", e.getMessage())); | ||||||
|       // continue to the next one |       // continue to the next one | ||||||
|     } |     } | ||||||
|  |     {{/vendorExtensions.x-duplicated-data-type}} | ||||||
|     {{/anyOf}} |     {{/anyOf}} | ||||||
|     {{/composedSchemas}} |     {{/composedSchemas}} | ||||||
|     throw new IOException(String.format("The JSON string is invalid for {{classname}} with anyOf schemas: {{#anyOf}}{{{.}}}{{^-last}}, {{/-last}}{{/anyOf}}. no class match the result, expected at least 1. Detailed failure message for anyOf schemas: %s. JSON: %s", errorMessages, jsonElement.toString())); |     throw new IOException(String.format("The JSON string is invalid for {{classname}} with anyOf schemas: {{#anyOf}}{{{.}}}{{^-last}}, {{/-last}}{{/anyOf}}. no class match the result, expected at least 1. Detailed failure message for anyOf schemas: %s. JSON: %s", errorMessages, jsonElement.toString())); | ||||||
|  | |||||||
| @ -48,7 +48,9 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im | |||||||
|             {{#composedSchemas}} |             {{#composedSchemas}} | ||||||
|             {{#oneOf}} |             {{#oneOf}} | ||||||
|             {{^isArray}} |             {{^isArray}} | ||||||
|  |             {{^vendorExtensions.x-duplicated-data-type}} | ||||||
|             final TypeAdapter<{{{dataType}}}> adapter{{{dataType}}} = gson.getDelegateAdapter(this, TypeToken.get({{{dataType}}}.class)); |             final TypeAdapter<{{{dataType}}}> adapter{{{dataType}}} = gson.getDelegateAdapter(this, TypeToken.get({{{dataType}}}.class)); | ||||||
|  |             {{/vendorExtensions.x-duplicated-data-type}} | ||||||
|             {{/isArray}} |             {{/isArray}} | ||||||
|             {{#isArray}} |             {{#isArray}} | ||||||
| 
 | 
 | ||||||
| @ -68,6 +70,7 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im | |||||||
| 
 | 
 | ||||||
|                     {{#composedSchemas}} |                     {{#composedSchemas}} | ||||||
|                     {{#oneOf}} |                     {{#oneOf}} | ||||||
|  |                     {{^vendorExtensions.x-duplicated-data-type}} | ||||||
|                     // check if the actual instance is of the type `{{{dataType}}}` |                     // check if the actual instance is of the type `{{{dataType}}}` | ||||||
|                     if (value.getActualInstance() instanceof {{#isArray}}List<?>{{/isArray}}{{^isArray}}{{{dataType}}}{{/isArray}}) { |                     if (value.getActualInstance() instanceof {{#isArray}}List<?>{{/isArray}}{{^isArray}}{{{dataType}}}{{/isArray}}) { | ||||||
|                     {{#isPrimitiveType}} |                     {{#isPrimitiveType}} | ||||||
| @ -91,6 +94,7 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im | |||||||
|                     {{/isPrimitiveType}} |                     {{/isPrimitiveType}} | ||||||
|                     {{/isArray}} |                     {{/isArray}} | ||||||
|                     } |                     } | ||||||
|  |                     {{/vendorExtensions.x-duplicated-data-type}} | ||||||
|                     {{/oneOf}} |                     {{/oneOf}} | ||||||
|                     {{/composedSchemas}} |                     {{/composedSchemas}} | ||||||
|                     throw new IOException("Failed to serialize as the type doesn't match oneOf schemas: {{#oneOf}}{{{.}}}{{^-last}}, {{/-last}}{{/oneOf}}"); |                     throw new IOException("Failed to serialize as the type doesn't match oneOf schemas: {{#oneOf}}{{{.}}}{{^-last}}, {{/-last}}{{/oneOf}}"); | ||||||
| @ -131,6 +135,7 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im | |||||||
| 
 | 
 | ||||||
|                     {{#composedSchemas}} |                     {{#composedSchemas}} | ||||||
|                     {{#oneOf}} |                     {{#oneOf}} | ||||||
|  |                     {{^vendorExtensions.x-duplicated-data-type}} | ||||||
|                     {{^hasVars}} |                     {{^hasVars}} | ||||||
|                     // deserialize {{{dataType}}} |                     // deserialize {{{dataType}}} | ||||||
|                     try { |                     try { | ||||||
| @ -206,6 +211,7 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im | |||||||
|                         log.log(Level.FINER, "Input data does not match schema '{{{.}}}'", e); |                         log.log(Level.FINER, "Input data does not match schema '{{{.}}}'", e); | ||||||
|                     } |                     } | ||||||
|                     {{/hasVars}} |                     {{/hasVars}} | ||||||
|  |                     {{/vendorExtensions.x-duplicated-data-type}} | ||||||
|                     {{/oneOf}} |                     {{/oneOf}} | ||||||
|                     {{/composedSchemas}} |                     {{/composedSchemas}} | ||||||
| 
 | 
 | ||||||
| @ -238,7 +244,9 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im | |||||||
|     static { |     static { | ||||||
|         {{#composedSchemas}} |         {{#composedSchemas}} | ||||||
|         {{#oneOf}} |         {{#oneOf}} | ||||||
|  |         {{^vendorExtensions.x-duplicated-data-type}} | ||||||
|         schemas.put("{{{dataType}}}", {{{baseType}}}.class); |         schemas.put("{{{dataType}}}", {{{baseType}}}.class); | ||||||
|  |         {{/vendorExtensions.x-duplicated-data-type}} | ||||||
|         {{/oneOf}} |         {{/oneOf}} | ||||||
|         {{/composedSchemas}} |         {{/composedSchemas}} | ||||||
|     } |     } | ||||||
| @ -266,6 +274,7 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im | |||||||
|         {{/isNullable}} |         {{/isNullable}} | ||||||
|         {{#composedSchemas}} |         {{#composedSchemas}} | ||||||
|         {{#oneOf}} |         {{#oneOf}} | ||||||
|  |         {{^vendorExtensions.x-duplicated-data-type}} | ||||||
|         if (instance instanceof {{#isArray}}List<?>{{/isArray}}{{^isArray}}{{{dataType}}}{{/isArray}}) { |         if (instance instanceof {{#isArray}}List<?>{{/isArray}}{{^isArray}}{{{dataType}}}{{/isArray}}) { | ||||||
|         {{#isArray}} |         {{#isArray}} | ||||||
|             List<?> list = (List<?>) instance; |             List<?> list = (List<?>) instance; | ||||||
| @ -280,6 +289,7 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im | |||||||
|         {{/isArray}} |         {{/isArray}} | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  |         {{/vendorExtensions.x-duplicated-data-type}} | ||||||
|         {{/oneOf}} |         {{/oneOf}} | ||||||
|         {{/composedSchemas}} |         {{/composedSchemas}} | ||||||
|         throw new RuntimeException("Invalid instance type. Must be {{#oneOf}}{{{.}}}{{^-last}}, {{/-last}}{{/oneOf}}"); |         throw new RuntimeException("Invalid instance type. Must be {{#oneOf}}{{{.}}}{{^-last}}, {{/-last}}{{/oneOf}}"); | ||||||
| @ -298,6 +308,7 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im | |||||||
| 
 | 
 | ||||||
|     {{#composedSchemas}} |     {{#composedSchemas}} | ||||||
|     {{#oneOf}} |     {{#oneOf}} | ||||||
|  |     {{^vendorExtensions.x-duplicated-data-type}} | ||||||
|     /** |     /** | ||||||
|      * Get the actual instance of `{{{dataType}}}`. If the actual instance is not `{{{dataType}}}`, |      * Get the actual instance of `{{{dataType}}}`. If the actual instance is not `{{{dataType}}}`, | ||||||
|      * the ClassCastException will be thrown. |      * the ClassCastException will be thrown. | ||||||
| @ -308,6 +319,7 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im | |||||||
|     public {{{dataType}}} get{{#isArray}}{{complexType}}List{{/isArray}}{{^isArray}}{{{dataType}}}{{/isArray}}() throws ClassCastException { |     public {{{dataType}}} get{{#isArray}}{{complexType}}List{{/isArray}}{{^isArray}}{{{dataType}}}{{/isArray}}() throws ClassCastException { | ||||||
|         return ({{{dataType}}})super.getActualInstance(); |         return ({{{dataType}}})super.getActualInstance(); | ||||||
|     } |     } | ||||||
|  |     {{/vendorExtensions.x-duplicated-data-type}} | ||||||
|     {{/oneOf}} |     {{/oneOf}} | ||||||
|     {{/composedSchemas}} |     {{/composedSchemas}} | ||||||
| 
 | 
 | ||||||
| @ -323,6 +335,7 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im | |||||||
|     ArrayList<String> errorMessages = new ArrayList<>(); |     ArrayList<String> errorMessages = new ArrayList<>(); | ||||||
|     {{#composedSchemas}} |     {{#composedSchemas}} | ||||||
|     {{#oneOf}} |     {{#oneOf}} | ||||||
|  |     {{^vendorExtensions.x-duplicated-data-type}} | ||||||
|     // validate the json string with {{{dataType}}} |     // validate the json string with {{{dataType}}} | ||||||
|     try { |     try { | ||||||
|     {{^hasVars}} |     {{^hasVars}} | ||||||
| @ -379,6 +392,7 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im | |||||||
|       errorMessages.add(String.format("Deserialization for {{{dataType}}} failed with `%s`.", e.getMessage())); |       errorMessages.add(String.format("Deserialization for {{{dataType}}} failed with `%s`.", e.getMessage())); | ||||||
|       // continue to the next one |       // continue to the next one | ||||||
|     } |     } | ||||||
|  |     {{/vendorExtensions.x-duplicated-data-type}} | ||||||
|     {{/oneOf}} |     {{/oneOf}} | ||||||
|     {{/composedSchemas}} |     {{/composedSchemas}} | ||||||
|     if (validCount != 1) { |     if (validCount != 1) { | ||||||
|  | |||||||
| @ -0,0 +1,20 @@ | |||||||
|  | openapi: 3.0.3 | ||||||
|  | info: | ||||||
|  |   title: oneOf two primitives | ||||||
|  |   description: oneOf with two entries of type string, see https://github.com/OpenAPITools/openapi-generator/issues/10450 | ||||||
|  |   version: 1.0.0 | ||||||
|  | paths: | ||||||
|  |   /myExample: | ||||||
|  |     post: | ||||||
|  |       requestBody: | ||||||
|  |         content: | ||||||
|  |           application/json: | ||||||
|  |             schema: | ||||||
|  |               oneOf: | ||||||
|  |                 - type: string | ||||||
|  |                   format: ipv4 | ||||||
|  |                 - type: string | ||||||
|  |                   format: ipv6 | ||||||
|  |       responses: | ||||||
|  |         200: | ||||||
|  |           description: OK | ||||||
							
								
								
									
										30
									
								
								samples/client/others/java/okhttp-gson-oneOf/.github/workflows/maven.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								samples/client/others/java/okhttp-gson-oneOf/.github/workflows/maven.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,30 @@ | |||||||
|  | # This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time | ||||||
|  | # For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven | ||||||
|  | # | ||||||
|  | # This file is auto-generated by OpenAPI Generator (https://openapi-generator.tech) | ||||||
|  | 
 | ||||||
|  | name: Java CI with Maven | ||||||
|  | 
 | ||||||
|  | on: | ||||||
|  |   push: | ||||||
|  |     branches: [ main, master ] | ||||||
|  |   pull_request: | ||||||
|  |     branches: [ main, master ] | ||||||
|  | 
 | ||||||
|  | jobs: | ||||||
|  |   build: | ||||||
|  |     name: Build oneOf two primitives | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     strategy: | ||||||
|  |       matrix: | ||||||
|  |         java: [ '8' ] | ||||||
|  |     steps: | ||||||
|  |     - uses: actions/checkout@v2 | ||||||
|  |     - name: Set up JDK | ||||||
|  |       uses: actions/setup-java@v2 | ||||||
|  |       with: | ||||||
|  |         java-version: ${{ matrix.java }} | ||||||
|  |         distribution: 'temurin' | ||||||
|  |         cache: maven | ||||||
|  |     - name: Build with Maven | ||||||
|  |       run: mvn -B package --no-transfer-progress --file pom.xml | ||||||
							
								
								
									
										21
									
								
								samples/client/others/java/okhttp-gson-oneOf/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								samples/client/others/java/okhttp-gson-oneOf/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,21 @@ | |||||||
|  | *.class | ||||||
|  | 
 | ||||||
|  | # Mobile Tools for Java (J2ME) | ||||||
|  | .mtj.tmp/ | ||||||
|  | 
 | ||||||
|  | # Package Files # | ||||||
|  | *.jar | ||||||
|  | *.war | ||||||
|  | *.ear | ||||||
|  | 
 | ||||||
|  | # exclude jar for gradle wrapper | ||||||
|  | !gradle/wrapper/*.jar | ||||||
|  | 
 | ||||||
|  | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml | ||||||
|  | hs_err_pid* | ||||||
|  | 
 | ||||||
|  | # build files | ||||||
|  | **/target | ||||||
|  | target | ||||||
|  | .gradle | ||||||
|  | build | ||||||
| @ -0,0 +1,23 @@ | |||||||
|  | # OpenAPI Generator Ignore | ||||||
|  | # Generated by openapi-generator https://github.com/openapitools/openapi-generator | ||||||
|  | 
 | ||||||
|  | # Use this file to prevent files from being overwritten by the generator. | ||||||
|  | # The patterns follow closely to .gitignore or .dockerignore. | ||||||
|  | 
 | ||||||
|  | # As an example, the C# client generator defines ApiClient.cs. | ||||||
|  | # You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: | ||||||
|  | #ApiClient.cs | ||||||
|  | 
 | ||||||
|  | # You can match any string of characters against a directory, file or extension with a single asterisk (*): | ||||||
|  | #foo/*/qux | ||||||
|  | # The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux | ||||||
|  | 
 | ||||||
|  | # You can recursively match patterns against a directory, file or extension with a double asterisk (**): | ||||||
|  | #foo/**/qux | ||||||
|  | # This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux | ||||||
|  | 
 | ||||||
|  | # You can also negate patterns with an exclamation (!). | ||||||
|  | # For example, you can ignore all files in a docs folder with the file extension .md: | ||||||
|  | #docs/*.md | ||||||
|  | # Then explicitly reverse the ignore rule for a single file: | ||||||
|  | #!docs/README.md | ||||||
| @ -0,0 +1,38 @@ | |||||||
|  | .github/workflows/maven.yml | ||||||
|  | .gitignore | ||||||
|  | .travis.yml | ||||||
|  | README.md | ||||||
|  | api/openapi.yaml | ||||||
|  | build.gradle | ||||||
|  | build.sbt | ||||||
|  | docs/DefaultApi.md | ||||||
|  | docs/MyExamplePostRequest.md | ||||||
|  | git_push.sh | ||||||
|  | gradle.properties | ||||||
|  | gradle/wrapper/gradle-wrapper.jar | ||||||
|  | gradle/wrapper/gradle-wrapper.properties | ||||||
|  | gradlew | ||||||
|  | gradlew.bat | ||||||
|  | pom.xml | ||||||
|  | settings.gradle | ||||||
|  | src/main/AndroidManifest.xml | ||||||
|  | src/main/java/org/openapitools/client/ApiCallback.java | ||||||
|  | src/main/java/org/openapitools/client/ApiClient.java | ||||||
|  | src/main/java/org/openapitools/client/ApiException.java | ||||||
|  | src/main/java/org/openapitools/client/ApiResponse.java | ||||||
|  | src/main/java/org/openapitools/client/Configuration.java | ||||||
|  | src/main/java/org/openapitools/client/GzipRequestInterceptor.java | ||||||
|  | src/main/java/org/openapitools/client/JSON.java | ||||||
|  | src/main/java/org/openapitools/client/Pair.java | ||||||
|  | src/main/java/org/openapitools/client/ProgressRequestBody.java | ||||||
|  | src/main/java/org/openapitools/client/ProgressResponseBody.java | ||||||
|  | src/main/java/org/openapitools/client/ServerConfiguration.java | ||||||
|  | src/main/java/org/openapitools/client/ServerVariable.java | ||||||
|  | src/main/java/org/openapitools/client/StringUtil.java | ||||||
|  | src/main/java/org/openapitools/client/api/DefaultApi.java | ||||||
|  | src/main/java/org/openapitools/client/auth/ApiKeyAuth.java | ||||||
|  | src/main/java/org/openapitools/client/auth/Authentication.java | ||||||
|  | src/main/java/org/openapitools/client/auth/HttpBasicAuth.java | ||||||
|  | src/main/java/org/openapitools/client/auth/HttpBearerAuth.java | ||||||
|  | src/main/java/org/openapitools/client/model/AbstractOpenApiSchema.java | ||||||
|  | src/main/java/org/openapitools/client/model/MyExamplePostRequest.java | ||||||
| @ -0,0 +1 @@ | |||||||
|  | 7.1.0-SNAPSHOT | ||||||
							
								
								
									
										22
									
								
								samples/client/others/java/okhttp-gson-oneOf/.travis.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								samples/client/others/java/okhttp-gson-oneOf/.travis.yml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,22 @@ | |||||||
|  | # | ||||||
|  | # Generated by OpenAPI Generator: https://openapi-generator.tech | ||||||
|  | # | ||||||
|  | # Ref: https://docs.travis-ci.com/user/languages/java/ | ||||||
|  | # | ||||||
|  | language: java | ||||||
|  | jdk: | ||||||
|  |   - openjdk12 | ||||||
|  |   - openjdk11 | ||||||
|  |   - openjdk10 | ||||||
|  |   - openjdk9 | ||||||
|  |   - openjdk8 | ||||||
|  | before_install: | ||||||
|  |   # ensure gradlew has proper permission | ||||||
|  |   - chmod a+x ./gradlew | ||||||
|  | script: | ||||||
|  |   # test using maven | ||||||
|  |   #- mvn test | ||||||
|  |   # test using gradle | ||||||
|  |   - gradle test | ||||||
|  |   # test using sbt | ||||||
|  |   # - sbt test | ||||||
							
								
								
									
										136
									
								
								samples/client/others/java/okhttp-gson-oneOf/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										136
									
								
								samples/client/others/java/okhttp-gson-oneOf/README.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,136 @@ | |||||||
|  | # openapi-java-client | ||||||
|  | 
 | ||||||
|  | oneOf two primitives | ||||||
|  | - API version: 1.0.0 | ||||||
|  | 
 | ||||||
|  | oneOf with two entries of type string, see https://github.com/OpenAPITools/openapi-generator/issues/10450 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | *Automatically generated by the [OpenAPI Generator](https://openapi-generator.tech)* | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ## Requirements | ||||||
|  | 
 | ||||||
|  | Building the API client library requires: | ||||||
|  | 1. Java 1.8+ | ||||||
|  | 2. Maven (3.8.3+)/Gradle (7.2+) | ||||||
|  | 
 | ||||||
|  | ## Installation | ||||||
|  | 
 | ||||||
|  | To install the API client library to your local Maven repository, simply execute: | ||||||
|  | 
 | ||||||
|  | ```shell | ||||||
|  | mvn clean install | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | To deploy it to a remote Maven repository instead, configure the settings of the repository and execute: | ||||||
|  | 
 | ||||||
|  | ```shell | ||||||
|  | mvn clean deploy | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | Refer to the [OSSRH Guide](http://central.sonatype.org/pages/ossrh-guide.html) for more information. | ||||||
|  | 
 | ||||||
|  | ### Maven users | ||||||
|  | 
 | ||||||
|  | Add this dependency to your project's POM: | ||||||
|  | 
 | ||||||
|  | ```xml | ||||||
|  | <dependency> | ||||||
|  |   <groupId>org.openapitools</groupId> | ||||||
|  |   <artifactId>openapi-java-client</artifactId> | ||||||
|  |   <version>1.0.0</version> | ||||||
|  |   <scope>compile</scope> | ||||||
|  | </dependency> | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ### Gradle users | ||||||
|  | 
 | ||||||
|  | Add this dependency to your project's build file: | ||||||
|  | 
 | ||||||
|  | ```groovy | ||||||
|  |   repositories { | ||||||
|  |     mavenCentral()     // Needed if the 'openapi-java-client' jar has been published to maven central. | ||||||
|  |     mavenLocal()       // Needed if the 'openapi-java-client' jar has been published to the local maven repo. | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   dependencies { | ||||||
|  |      implementation "org.openapitools:openapi-java-client:1.0.0" | ||||||
|  |   } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ### Others | ||||||
|  | 
 | ||||||
|  | At first generate the JAR by executing: | ||||||
|  | 
 | ||||||
|  | ```shell | ||||||
|  | mvn clean package | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | Then manually install the following JARs: | ||||||
|  | 
 | ||||||
|  | * `target/openapi-java-client-1.0.0.jar` | ||||||
|  | * `target/lib/*.jar` | ||||||
|  | 
 | ||||||
|  | ## Getting Started | ||||||
|  | 
 | ||||||
|  | Please follow the [installation](#installation) instruction and execute the following Java code: | ||||||
|  | 
 | ||||||
|  | ```java | ||||||
|  | 
 | ||||||
|  | // Import classes: | ||||||
|  | import org.openapitools.client.ApiClient; | ||||||
|  | import org.openapitools.client.ApiException; | ||||||
|  | import org.openapitools.client.Configuration; | ||||||
|  | import org.openapitools.client.models.*; | ||||||
|  | import org.openapitools.client.api.DefaultApi; | ||||||
|  | 
 | ||||||
|  | public class Example { | ||||||
|  |   public static void main(String[] args) { | ||||||
|  |     ApiClient defaultClient = Configuration.getDefaultApiClient(); | ||||||
|  |     defaultClient.setBasePath("http://localhost"); | ||||||
|  | 
 | ||||||
|  |     DefaultApi apiInstance = new DefaultApi(defaultClient); | ||||||
|  |     MyExamplePostRequest myExamplePostRequest = new MyExamplePostRequest(); // MyExamplePostRequest |  | ||||||
|  |     try { | ||||||
|  |       apiInstance.myExamplePost(myExamplePostRequest); | ||||||
|  |     } catch (ApiException e) { | ||||||
|  |       System.err.println("Exception when calling DefaultApi#myExamplePost"); | ||||||
|  |       System.err.println("Status code: " + e.getCode()); | ||||||
|  |       System.err.println("Reason: " + e.getResponseBody()); | ||||||
|  |       System.err.println("Response headers: " + e.getResponseHeaders()); | ||||||
|  |       e.printStackTrace(); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ## Documentation for API Endpoints | ||||||
|  | 
 | ||||||
|  | All URIs are relative to *http://localhost* | ||||||
|  | 
 | ||||||
|  | Class | Method | HTTP request | Description | ||||||
|  | ------------ | ------------- | ------------- | ------------- | ||||||
|  | *DefaultApi* | [**myExamplePost**](docs/DefaultApi.md#myExamplePost) | **POST** /myExample |  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ## Documentation for Models | ||||||
|  | 
 | ||||||
|  |  - [MyExamplePostRequest](docs/MyExamplePostRequest.md) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <a id="documentation-for-authorization"></a> | ||||||
|  | ## Documentation for Authorization | ||||||
|  | 
 | ||||||
|  | Endpoints do not require authorization. | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ## Recommendation | ||||||
|  | 
 | ||||||
|  | It's recommended to create an instance of `ApiClient` per thread in a multithreaded environment to avoid any potential issues. | ||||||
|  | 
 | ||||||
|  | ## Author | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| @ -0,0 +1,29 @@ | |||||||
|  | openapi: 3.0.3 | ||||||
|  | info: | ||||||
|  |   description: "oneOf with two entries of type string, see https://github.com/OpenAPITools/openapi-generator/issues/10450" | ||||||
|  |   title: oneOf two primitives | ||||||
|  |   version: 1.0.0 | ||||||
|  | servers: | ||||||
|  | - url: / | ||||||
|  | paths: | ||||||
|  |   /myExample: | ||||||
|  |     post: | ||||||
|  |       requestBody: | ||||||
|  |         content: | ||||||
|  |           application/json: | ||||||
|  |             schema: | ||||||
|  |               $ref: '#/components/schemas/_myExample_post_request' | ||||||
|  |       responses: | ||||||
|  |         "200": | ||||||
|  |           description: OK | ||||||
|  |       x-content-type: application/json | ||||||
|  |       x-accepts: application/json | ||||||
|  | components: | ||||||
|  |   schemas: | ||||||
|  |     _myExample_post_request: | ||||||
|  |       oneOf: | ||||||
|  |       - format: ipv4 | ||||||
|  |         type: string | ||||||
|  |       - format: ipv6 | ||||||
|  |         type: string | ||||||
|  | 
 | ||||||
							
								
								
									
										168
									
								
								samples/client/others/java/okhttp-gson-oneOf/build.gradle
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										168
									
								
								samples/client/others/java/okhttp-gson-oneOf/build.gradle
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,168 @@ | |||||||
|  | apply plugin: 'idea' | ||||||
|  | apply plugin: 'eclipse' | ||||||
|  | apply plugin: 'java' | ||||||
|  | apply plugin: 'com.diffplug.spotless' | ||||||
|  | 
 | ||||||
|  | group = 'org.openapitools' | ||||||
|  | version = '1.0.0' | ||||||
|  | 
 | ||||||
|  | buildscript { | ||||||
|  |     repositories { | ||||||
|  |         mavenCentral() | ||||||
|  |     } | ||||||
|  |     dependencies { | ||||||
|  |         classpath 'com.android.tools.build:gradle:2.3.+' | ||||||
|  |         classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1' | ||||||
|  |         classpath 'com.diffplug.spotless:spotless-plugin-gradle:6.11.0' | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | repositories { | ||||||
|  |     mavenCentral() | ||||||
|  | } | ||||||
|  | sourceSets { | ||||||
|  |     main.java.srcDirs = ['src/main/java'] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | if(hasProperty('target') && target == 'android') { | ||||||
|  | 
 | ||||||
|  |     apply plugin: 'com.android.library' | ||||||
|  |     apply plugin: 'com.github.dcendents.android-maven' | ||||||
|  | 
 | ||||||
|  |     android { | ||||||
|  |         compileSdkVersion 25 | ||||||
|  |         buildToolsVersion '25.0.2' | ||||||
|  |         defaultConfig { | ||||||
|  |             minSdkVersion 14 | ||||||
|  |             targetSdkVersion 25 | ||||||
|  |         } | ||||||
|  |         compileOptions { | ||||||
|  |             sourceCompatibility JavaVersion.VERSION_1_8 | ||||||
|  |             targetCompatibility JavaVersion.VERSION_1_8 | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         // Rename the aar correctly | ||||||
|  |         libraryVariants.all { variant -> | ||||||
|  |             variant.outputs.each { output -> | ||||||
|  |                 def outputFile = output.outputFile | ||||||
|  |                 if (outputFile != null && outputFile.name.endsWith('.aar')) { | ||||||
|  |                     def fileName = "${project.name}-${variant.baseName}-${version}.aar" | ||||||
|  |                     output.outputFile = new File(outputFile.parent, fileName) | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         dependencies { | ||||||
|  |             provided "jakarta.annotation:jakarta.annotation-api:$jakarta_annotation_version" | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     afterEvaluate { | ||||||
|  |         android.libraryVariants.all { variant -> | ||||||
|  |             def task = project.tasks.create "jar${variant.name.capitalize()}", Jar | ||||||
|  |             task.description = "Create jar artifact for ${variant.name}" | ||||||
|  |             task.dependsOn variant.javaCompile | ||||||
|  |             task.from variant.javaCompile.destinationDirectory | ||||||
|  |             task.destinationDirectory = project.file("${project.buildDir}/outputs/jar") | ||||||
|  |             task.archiveFileName = "${project.name}-${variant.baseName}-${version}.jar" | ||||||
|  |             artifacts.add('archives', task) | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     task sourcesJar(type: Jar) { | ||||||
|  |         from android.sourceSets.main.java.srcDirs | ||||||
|  |         classifier = 'sources' | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     artifacts { | ||||||
|  |         archives sourcesJar | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | } else { | ||||||
|  | 
 | ||||||
|  |     apply plugin: 'java' | ||||||
|  |     apply plugin: 'maven-publish' | ||||||
|  | 
 | ||||||
|  |     sourceCompatibility = JavaVersion.VERSION_1_8 | ||||||
|  |     targetCompatibility = JavaVersion.VERSION_1_8 | ||||||
|  | 
 | ||||||
|  |     publishing { | ||||||
|  |         publications { | ||||||
|  |             maven(MavenPublication) { | ||||||
|  |                artifactId = 'openapi-java-client' | ||||||
|  |                from components.java | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     task execute(type:JavaExec) { | ||||||
|  |        main = System.getProperty('mainClass') | ||||||
|  |        classpath = sourceSets.main.runtimeClasspath | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | ext { | ||||||
|  |     jakarta_annotation_version = "1.3.5" | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | dependencies { | ||||||
|  |     implementation 'io.swagger:swagger-annotations:1.6.8' | ||||||
|  |     implementation "com.google.code.findbugs:jsr305:3.0.2" | ||||||
|  |     implementation 'com.squareup.okhttp3:okhttp:4.10.0' | ||||||
|  |     implementation 'com.squareup.okhttp3:logging-interceptor:4.10.0' | ||||||
|  |     implementation 'com.google.code.gson:gson:2.9.1' | ||||||
|  |     implementation 'io.gsonfire:gson-fire:1.8.5' | ||||||
|  |     implementation 'javax.ws.rs:jsr311-api:1.1.1' | ||||||
|  |     implementation 'javax.ws.rs:javax.ws.rs-api:2.1.1' | ||||||
|  |     implementation 'org.openapitools:jackson-databind-nullable:0.2.6' | ||||||
|  |     implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.12.0' | ||||||
|  |     implementation "jakarta.annotation:jakarta.annotation-api:$jakarta_annotation_version" | ||||||
|  |     testImplementation 'org.junit.jupiter:junit-jupiter-api:5.9.1' | ||||||
|  |     testImplementation 'org.mockito:mockito-core:3.12.4' | ||||||
|  |     testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.9.1' | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | javadoc { | ||||||
|  |     options.tags = [ "http.response.details:a:Http Response Details" ] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Use spotless plugin to automatically format code, remove unused import, etc | ||||||
|  | // To apply changes directly to the file, run `gradlew spotlessApply` | ||||||
|  | // Ref: https://github.com/diffplug/spotless/tree/main/plugin-gradle | ||||||
|  | spotless { | ||||||
|  |     // comment out below to run spotless as part of the `check` task | ||||||
|  |     enforceCheck false | ||||||
|  | 
 | ||||||
|  |     format 'misc', { | ||||||
|  |         // define the files (e.g. '*.gradle', '*.md') to apply `misc` to | ||||||
|  |         target '.gitignore' | ||||||
|  | 
 | ||||||
|  |         // define the steps to apply to those files | ||||||
|  |         trimTrailingWhitespace() | ||||||
|  |         indentWithSpaces() // Takes an integer argument if you don't like 4 | ||||||
|  |         endWithNewline() | ||||||
|  |     } | ||||||
|  |     java { | ||||||
|  |         // don't need to set target, it is inferred from java | ||||||
|  | 
 | ||||||
|  |         // apply a specific flavor of google-java-format | ||||||
|  |         googleJavaFormat('1.8').aosp().reflowLongStrings() | ||||||
|  | 
 | ||||||
|  |         removeUnusedImports() | ||||||
|  |         importOrder() | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | test { | ||||||
|  |     // Enable JUnit 5 (Gradle 4.6+). | ||||||
|  |     useJUnitPlatform() | ||||||
|  | 
 | ||||||
|  |     // Always run tests, even when nothing changed. | ||||||
|  |     dependsOn 'cleanTest' | ||||||
|  | 
 | ||||||
|  |     // Show test results. | ||||||
|  |     testLogging { | ||||||
|  |         events "passed", "skipped", "failed" | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | } | ||||||
							
								
								
									
										28
									
								
								samples/client/others/java/okhttp-gson-oneOf/build.sbt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								samples/client/others/java/okhttp-gson-oneOf/build.sbt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,28 @@ | |||||||
|  | lazy val root = (project in file(".")). | ||||||
|  |   settings( | ||||||
|  |     organization := "org.openapitools", | ||||||
|  |     name := "openapi-java-client", | ||||||
|  |     version := "1.0.0", | ||||||
|  |     scalaVersion := "2.11.4", | ||||||
|  |     scalacOptions ++= Seq("-feature"), | ||||||
|  |     javacOptions in compile ++= Seq("-Xlint:deprecation"), | ||||||
|  |     publishArtifact in (Compile, packageDoc) := false, | ||||||
|  |     resolvers += Resolver.mavenLocal, | ||||||
|  |     libraryDependencies ++= Seq( | ||||||
|  |       "io.swagger" % "swagger-annotations" % "1.6.5", | ||||||
|  |       "com.squareup.okhttp3" % "okhttp" % "4.10.0", | ||||||
|  |       "com.squareup.okhttp3" % "logging-interceptor" % "4.10.0", | ||||||
|  |       "com.google.code.gson" % "gson" % "2.9.1", | ||||||
|  |       "org.apache.commons" % "commons-lang3" % "3.12.0", | ||||||
|  |       "javax.ws.rs" % "jsr311-api" % "1.1.1", | ||||||
|  |       "javax.ws.rs" % "javax.ws.rs-api" % "2.1.1", | ||||||
|  |       "org.openapitools" % "jackson-databind-nullable" % "0.2.6", | ||||||
|  |       "io.gsonfire" % "gson-fire" % "1.8.5" % "compile", | ||||||
|  |       "jakarta.annotation" % "jakarta.annotation-api" % "1.3.5" % "compile", | ||||||
|  |       "com.google.code.findbugs" % "jsr305" % "3.0.2" % "compile", | ||||||
|  |       "jakarta.annotation" % "jakarta.annotation-api" % "1.3.5" % "compile", | ||||||
|  |       "org.junit.jupiter" % "junit-jupiter-api" % "5.9.1" % "test", | ||||||
|  |       "com.novocode" % "junit-interface" % "0.10" % "test", | ||||||
|  |       "org.mockito" % "mockito-core" % "3.12.4" % "test" | ||||||
|  |     ) | ||||||
|  |   ) | ||||||
| @ -0,0 +1,68 @@ | |||||||
|  | # DefaultApi | ||||||
|  | 
 | ||||||
|  | All URIs are relative to *http://localhost* | ||||||
|  | 
 | ||||||
|  | | Method | HTTP request | Description | | ||||||
|  | |------------- | ------------- | -------------| | ||||||
|  | | [**myExamplePost**](DefaultApi.md#myExamplePost) | **POST** /myExample |  | | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <a id="myExamplePost"></a> | ||||||
|  | # **myExamplePost** | ||||||
|  | > myExamplePost(myExamplePostRequest) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ### Example | ||||||
|  | ```java | ||||||
|  | // Import classes: | ||||||
|  | import org.openapitools.client.ApiClient; | ||||||
|  | import org.openapitools.client.ApiException; | ||||||
|  | import org.openapitools.client.Configuration; | ||||||
|  | import org.openapitools.client.models.*; | ||||||
|  | import org.openapitools.client.api.DefaultApi; | ||||||
|  | 
 | ||||||
|  | public class Example { | ||||||
|  |   public static void main(String[] args) { | ||||||
|  |     ApiClient defaultClient = Configuration.getDefaultApiClient(); | ||||||
|  |     defaultClient.setBasePath("http://localhost"); | ||||||
|  | 
 | ||||||
|  |     DefaultApi apiInstance = new DefaultApi(defaultClient); | ||||||
|  |     MyExamplePostRequest myExamplePostRequest = new MyExamplePostRequest(); // MyExamplePostRequest |  | ||||||
|  |     try { | ||||||
|  |       apiInstance.myExamplePost(myExamplePostRequest); | ||||||
|  |     } catch (ApiException e) { | ||||||
|  |       System.err.println("Exception when calling DefaultApi#myExamplePost"); | ||||||
|  |       System.err.println("Status code: " + e.getCode()); | ||||||
|  |       System.err.println("Reason: " + e.getResponseBody()); | ||||||
|  |       System.err.println("Response headers: " + e.getResponseHeaders()); | ||||||
|  |       e.printStackTrace(); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ### Parameters | ||||||
|  | 
 | ||||||
|  | | Name | Type | Description  | Notes | | ||||||
|  | |------------- | ------------- | ------------- | -------------| | ||||||
|  | | **myExamplePostRequest** | [**MyExamplePostRequest**](MyExamplePostRequest.md)|  | [optional] | | ||||||
|  | 
 | ||||||
|  | ### Return type | ||||||
|  | 
 | ||||||
|  | null (empty response body) | ||||||
|  | 
 | ||||||
|  | ### Authorization | ||||||
|  | 
 | ||||||
|  | No authorization required | ||||||
|  | 
 | ||||||
|  | ### HTTP request headers | ||||||
|  | 
 | ||||||
|  |  - **Content-Type**: application/json | ||||||
|  |  - **Accept**: Not defined | ||||||
|  | 
 | ||||||
|  | ### HTTP response details | ||||||
|  | | Status code | Description | Response headers | | ||||||
|  | |-------------|-------------|------------------| | ||||||
|  | | **200** | OK |  -  | | ||||||
|  | 
 | ||||||
| @ -0,0 +1,12 @@ | |||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | # MyExamplePostRequest | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ## Properties | ||||||
|  | 
 | ||||||
|  | | Name | Type | Description | Notes | | ||||||
|  | |------------ | ------------- | ------------- | -------------| | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
							
								
								
									
										57
									
								
								samples/client/others/java/okhttp-gson-oneOf/git_push.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								samples/client/others/java/okhttp-gson-oneOf/git_push.sh
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,57 @@ | |||||||
|  | #!/bin/sh | ||||||
|  | # ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/ | ||||||
|  | # | ||||||
|  | # Usage example: /bin/sh ./git_push.sh wing328 openapi-petstore-perl "minor update" "gitlab.com" | ||||||
|  | 
 | ||||||
|  | git_user_id=$1 | ||||||
|  | git_repo_id=$2 | ||||||
|  | release_note=$3 | ||||||
|  | git_host=$4 | ||||||
|  | 
 | ||||||
|  | if [ "$git_host" = "" ]; then | ||||||
|  |     git_host="github.com" | ||||||
|  |     echo "[INFO] No command line input provided. Set \$git_host to $git_host" | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | if [ "$git_user_id" = "" ]; then | ||||||
|  |     git_user_id="GIT_USER_ID" | ||||||
|  |     echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id" | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | if [ "$git_repo_id" = "" ]; then | ||||||
|  |     git_repo_id="GIT_REPO_ID" | ||||||
|  |     echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id" | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | if [ "$release_note" = "" ]; then | ||||||
|  |     release_note="Minor update" | ||||||
|  |     echo "[INFO] No command line input provided. Set \$release_note to $release_note" | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | # Initialize the local directory as a Git repository | ||||||
|  | git init | ||||||
|  | 
 | ||||||
|  | # Adds the files in the local repository and stages them for commit. | ||||||
|  | git add . | ||||||
|  | 
 | ||||||
|  | # Commits the tracked changes and prepares them to be pushed to a remote repository. | ||||||
|  | git commit -m "$release_note" | ||||||
|  | 
 | ||||||
|  | # Sets the new remote | ||||||
|  | git_remote=$(git remote) | ||||||
|  | if [ "$git_remote" = "" ]; then # git remote not defined | ||||||
|  | 
 | ||||||
|  |     if [ "$GIT_TOKEN" = "" ]; then | ||||||
|  |         echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment." | ||||||
|  |         git remote add origin https://${git_host}/${git_user_id}/${git_repo_id}.git | ||||||
|  |     else | ||||||
|  |         git remote add origin https://${git_user_id}:"${GIT_TOKEN}"@${git_host}/${git_user_id}/${git_repo_id}.git | ||||||
|  |     fi | ||||||
|  | 
 | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | git pull origin master | ||||||
|  | 
 | ||||||
|  | # Pushes (Forces) the changes in the local repository up to the remote repository | ||||||
|  | echo "Git pushing to https://${git_host}/${git_user_id}/${git_repo_id}.git" | ||||||
|  | git push origin master 2>&1 | grep -v 'To https' | ||||||
| @ -0,0 +1,6 @@ | |||||||
|  | # This file is automatically generated by OpenAPI Generator (https://github.com/openAPITools/openapi-generator). | ||||||
|  | # To include other gradle properties as part of the code generation process, please use the `gradleProperties` option. | ||||||
|  | # | ||||||
|  | # Gradle properties reference: https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties | ||||||
|  | # For example, uncomment below to build for Android | ||||||
|  | #target = android | ||||||
							
								
								
									
										
											BIN
										
									
								
								samples/client/others/java/okhttp-gson-oneOf/gradle/wrapper/gradle-wrapper.jar
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								samples/client/others/java/okhttp-gson-oneOf/gradle/wrapper/gradle-wrapper.jar
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										5
									
								
								samples/client/others/java/okhttp-gson-oneOf/gradle/wrapper/gradle-wrapper.properties
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								samples/client/others/java/okhttp-gson-oneOf/gradle/wrapper/gradle-wrapper.properties
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,5 @@ | |||||||
|  | distributionBase=GRADLE_USER_HOME | ||||||
|  | distributionPath=wrapper/dists | ||||||
|  | distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip | ||||||
|  | zipStoreBase=GRADLE_USER_HOME | ||||||
|  | zipStorePath=wrapper/dists | ||||||
							
								
								
									
										234
									
								
								samples/client/others/java/okhttp-gson-oneOf/gradlew
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										234
									
								
								samples/client/others/java/okhttp-gson-oneOf/gradlew
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,234 @@ | |||||||
|  | #!/bin/sh | ||||||
|  | 
 | ||||||
|  | # | ||||||
|  | # Copyright © 2015-2021 the original authors. | ||||||
|  | # | ||||||
|  | # Licensed under the Apache License, Version 2.0 (the "License"); | ||||||
|  | # you may not use this file except in compliance with the License. | ||||||
|  | # You may obtain a copy of the License at | ||||||
|  | # | ||||||
|  | #      https://www.apache.org/licenses/LICENSE-2.0 | ||||||
|  | # | ||||||
|  | # Unless required by applicable law or agreed to in writing, software | ||||||
|  | # distributed under the License is distributed on an "AS IS" BASIS, | ||||||
|  | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||||
|  | # See the License for the specific language governing permissions and | ||||||
|  | # limitations under the License. | ||||||
|  | # | ||||||
|  | 
 | ||||||
|  | ############################################################################## | ||||||
|  | # | ||||||
|  | #   Gradle start up script for POSIX generated by Gradle. | ||||||
|  | # | ||||||
|  | #   Important for running: | ||||||
|  | # | ||||||
|  | #   (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is | ||||||
|  | #       noncompliant, but you have some other compliant shell such as ksh or | ||||||
|  | #       bash, then to run this script, type that shell name before the whole | ||||||
|  | #       command line, like: | ||||||
|  | # | ||||||
|  | #           ksh Gradle | ||||||
|  | # | ||||||
|  | #       Busybox and similar reduced shells will NOT work, because this script | ||||||
|  | #       requires all of these POSIX shell features: | ||||||
|  | #         * functions; | ||||||
|  | #         * expansions «$var», «${var}», «${var:-default}», «${var+SET}», | ||||||
|  | #           «${var#prefix}», «${var%suffix}», and «$( cmd )»; | ||||||
|  | #         * compound commands having a testable exit status, especially «case»; | ||||||
|  | #         * various built-in commands including «command», «set», and «ulimit». | ||||||
|  | # | ||||||
|  | #   Important for patching: | ||||||
|  | # | ||||||
|  | #   (2) This script targets any POSIX shell, so it avoids extensions provided | ||||||
|  | #       by Bash, Ksh, etc; in particular arrays are avoided. | ||||||
|  | # | ||||||
|  | #       The "traditional" practice of packing multiple parameters into a | ||||||
|  | #       space-separated string is a well documented source of bugs and security | ||||||
|  | #       problems, so this is (mostly) avoided, by progressively accumulating | ||||||
|  | #       options in "$@", and eventually passing that to Java. | ||||||
|  | # | ||||||
|  | #       Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, | ||||||
|  | #       and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; | ||||||
|  | #       see the in-line comments for details. | ||||||
|  | # | ||||||
|  | #       There are tweaks for specific operating systems such as AIX, CygWin, | ||||||
|  | #       Darwin, MinGW, and NonStop. | ||||||
|  | # | ||||||
|  | #   (3) This script is generated from the Groovy template | ||||||
|  | #       https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt | ||||||
|  | #       within the Gradle project. | ||||||
|  | # | ||||||
|  | #       You can find Gradle at https://github.com/gradle/gradle/. | ||||||
|  | # | ||||||
|  | ############################################################################## | ||||||
|  | 
 | ||||||
|  | # Attempt to set APP_HOME | ||||||
|  | 
 | ||||||
|  | # Resolve links: $0 may be a link | ||||||
|  | app_path=$0 | ||||||
|  | 
 | ||||||
|  | # Need this for daisy-chained symlinks. | ||||||
|  | while | ||||||
|  |     APP_HOME=${app_path%"${app_path##*/}"}  # leaves a trailing /; empty if no leading path | ||||||
|  |     [ -h "$app_path" ] | ||||||
|  | do | ||||||
|  |     ls=$( ls -ld "$app_path" ) | ||||||
|  |     link=${ls#*' -> '} | ||||||
|  |     case $link in             #( | ||||||
|  |       /*)   app_path=$link ;; #( | ||||||
|  |       *)    app_path=$APP_HOME$link ;; | ||||||
|  |     esac | ||||||
|  | done | ||||||
|  | 
 | ||||||
|  | APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit | ||||||
|  | 
 | ||||||
|  | APP_NAME="Gradle" | ||||||
|  | APP_BASE_NAME=${0##*/} | ||||||
|  | 
 | ||||||
|  | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. | ||||||
|  | DEFAULT_JVM_OPTS='-Dfile.encoding=UTF-8 "-Xmx64m" "-Xms64m"' | ||||||
|  | 
 | ||||||
|  | # Use the maximum available, or set MAX_FD != -1 to use that value. | ||||||
|  | MAX_FD=maximum | ||||||
|  | 
 | ||||||
|  | warn () { | ||||||
|  |     echo "$*" | ||||||
|  | } >&2 | ||||||
|  | 
 | ||||||
|  | die () { | ||||||
|  |     echo | ||||||
|  |     echo "$*" | ||||||
|  |     echo | ||||||
|  |     exit 1 | ||||||
|  | } >&2 | ||||||
|  | 
 | ||||||
|  | # OS specific support (must be 'true' or 'false'). | ||||||
|  | cygwin=false | ||||||
|  | msys=false | ||||||
|  | darwin=false | ||||||
|  | nonstop=false | ||||||
|  | case "$( uname )" in                #( | ||||||
|  |   CYGWIN* )         cygwin=true  ;; #( | ||||||
|  |   Darwin* )         darwin=true  ;; #( | ||||||
|  |   MSYS* | MINGW* )  msys=true    ;; #( | ||||||
|  |   NONSTOP* )        nonstop=true ;; | ||||||
|  | esac | ||||||
|  | 
 | ||||||
|  | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | # Determine the Java command to use to start the JVM. | ||||||
|  | if [ -n "$JAVA_HOME" ] ; then | ||||||
|  |     if [ -x "$JAVA_HOME/jre/sh/java" ] ; then | ||||||
|  |         # IBM's JDK on AIX uses strange locations for the executables | ||||||
|  |         JAVACMD=$JAVA_HOME/jre/sh/java | ||||||
|  |     else | ||||||
|  |         JAVACMD=$JAVA_HOME/bin/java | ||||||
|  |     fi | ||||||
|  |     if [ ! -x "$JAVACMD" ] ; then | ||||||
|  |         die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME | ||||||
|  | 
 | ||||||
|  | Please set the JAVA_HOME variable in your environment to match the | ||||||
|  | location of your Java installation." | ||||||
|  |     fi | ||||||
|  | else | ||||||
|  |     JAVACMD=java | ||||||
|  |     which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. | ||||||
|  | 
 | ||||||
|  | Please set the JAVA_HOME variable in your environment to match the | ||||||
|  | location of your Java installation." | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | # Increase the maximum file descriptors if we can. | ||||||
|  | if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then | ||||||
|  |     case $MAX_FD in #( | ||||||
|  |       max*) | ||||||
|  |         MAX_FD=$( ulimit -H -n ) || | ||||||
|  |             warn "Could not query maximum file descriptor limit" | ||||||
|  |     esac | ||||||
|  |     case $MAX_FD in  #( | ||||||
|  |       '' | soft) :;; #( | ||||||
|  |       *) | ||||||
|  |         ulimit -n "$MAX_FD" || | ||||||
|  |             warn "Could not set maximum file descriptor limit to $MAX_FD" | ||||||
|  |     esac | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | # Collect all arguments for the java command, stacking in reverse order: | ||||||
|  | #   * args from the command line | ||||||
|  | #   * the main class name | ||||||
|  | #   * -classpath | ||||||
|  | #   * -D...appname settings | ||||||
|  | #   * --module-path (only if needed) | ||||||
|  | #   * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. | ||||||
|  | 
 | ||||||
|  | # For Cygwin or MSYS, switch paths to Windows format before running java | ||||||
|  | if "$cygwin" || "$msys" ; then | ||||||
|  |     APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) | ||||||
|  |     CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) | ||||||
|  | 
 | ||||||
|  |     JAVACMD=$( cygpath --unix "$JAVACMD" ) | ||||||
|  | 
 | ||||||
|  |     # Now convert the arguments - kludge to limit ourselves to /bin/sh | ||||||
|  |     for arg do | ||||||
|  |         if | ||||||
|  |             case $arg in                                #( | ||||||
|  |               -*)   false ;;                            # don't mess with options #( | ||||||
|  |               /?*)  t=${arg#/} t=/${t%%/*}              # looks like a POSIX filepath | ||||||
|  |                     [ -e "$t" ] ;;                      #( | ||||||
|  |               *)    false ;; | ||||||
|  |             esac | ||||||
|  |         then | ||||||
|  |             arg=$( cygpath --path --ignore --mixed "$arg" ) | ||||||
|  |         fi | ||||||
|  |         # Roll the args list around exactly as many times as the number of | ||||||
|  |         # args, so each arg winds up back in the position where it started, but | ||||||
|  |         # possibly modified. | ||||||
|  |         # | ||||||
|  |         # NB: a `for` loop captures its iteration list before it begins, so | ||||||
|  |         # changing the positional parameters here affects neither the number of | ||||||
|  |         # iterations, nor the values presented in `arg`. | ||||||
|  |         shift                   # remove old arg | ||||||
|  |         set -- "$@" "$arg"      # push replacement arg | ||||||
|  |     done | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | # Collect all arguments for the java command; | ||||||
|  | #   * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of | ||||||
|  | #     shell script including quotes and variable substitutions, so put them in | ||||||
|  | #     double quotes to make sure that they get re-expanded; and | ||||||
|  | #   * put everything else in single quotes, so that it's not re-expanded. | ||||||
|  | 
 | ||||||
|  | set -- \ | ||||||
|  |         "-Dorg.gradle.appname=$APP_BASE_NAME" \ | ||||||
|  |         -classpath "$CLASSPATH" \ | ||||||
|  |         org.gradle.wrapper.GradleWrapperMain \ | ||||||
|  |         "$@" | ||||||
|  | 
 | ||||||
|  | # Use "xargs" to parse quoted args. | ||||||
|  | # | ||||||
|  | # With -n1 it outputs one arg per line, with the quotes and backslashes removed. | ||||||
|  | # | ||||||
|  | # In Bash we could simply go: | ||||||
|  | # | ||||||
|  | #   readarray ARGS < <( xargs -n1 <<<"$var" ) && | ||||||
|  | #   set -- "${ARGS[@]}" "$@" | ||||||
|  | # | ||||||
|  | # but POSIX shell has neither arrays nor command substitution, so instead we | ||||||
|  | # post-process each arg (as a line of input to sed) to backslash-escape any | ||||||
|  | # character that might be a shell metacharacter, then use eval to reverse | ||||||
|  | # that process (while maintaining the separation between arguments), and wrap | ||||||
|  | # the whole thing up as a single "set" statement. | ||||||
|  | # | ||||||
|  | # This will of course break if any of these variables contains a newline or | ||||||
|  | # an unmatched quote. | ||||||
|  | # | ||||||
|  | 
 | ||||||
|  | eval "set -- $( | ||||||
|  |         printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | | ||||||
|  |         xargs -n1 | | ||||||
|  |         sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | | ||||||
|  |         tr '\n' ' ' | ||||||
|  |     )" '"$@"' | ||||||
|  | 
 | ||||||
|  | exec "$JAVACMD" "$@" | ||||||
							
								
								
									
										89
									
								
								samples/client/others/java/okhttp-gson-oneOf/gradlew.bat
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										89
									
								
								samples/client/others/java/okhttp-gson-oneOf/gradlew.bat
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,89 @@ | |||||||
|  | @rem | ||||||
|  | @rem Copyright 2015 the original author or authors. | ||||||
|  | @rem | ||||||
|  | @rem Licensed under the Apache License, Version 2.0 (the "License"); | ||||||
|  | @rem you may not use this file except in compliance with the License. | ||||||
|  | @rem You may obtain a copy of the License at | ||||||
|  | @rem | ||||||
|  | @rem      https://www.apache.org/licenses/LICENSE-2.0 | ||||||
|  | @rem | ||||||
|  | @rem Unless required by applicable law or agreed to in writing, software | ||||||
|  | @rem distributed under the License is distributed on an "AS IS" BASIS, | ||||||
|  | @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||||
|  | @rem See the License for the specific language governing permissions and | ||||||
|  | @rem limitations under the License. | ||||||
|  | @rem | ||||||
|  | 
 | ||||||
|  | @if "%DEBUG%" == "" @echo off | ||||||
|  | @rem ########################################################################## | ||||||
|  | @rem | ||||||
|  | @rem  Gradle startup script for Windows | ||||||
|  | @rem | ||||||
|  | @rem ########################################################################## | ||||||
|  | 
 | ||||||
|  | @rem Set local scope for the variables with windows NT shell | ||||||
|  | if "%OS%"=="Windows_NT" setlocal | ||||||
|  | 
 | ||||||
|  | set DIRNAME=%~dp0 | ||||||
|  | if "%DIRNAME%" == "" set DIRNAME=. | ||||||
|  | set APP_BASE_NAME=%~n0 | ||||||
|  | set APP_HOME=%DIRNAME% | ||||||
|  | 
 | ||||||
|  | @rem Resolve any "." and ".." in APP_HOME to make it shorter. | ||||||
|  | for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi | ||||||
|  | 
 | ||||||
|  | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. | ||||||
|  | set DEFAULT_JVM_OPTS=-Dfile.encoding=UTF-8 "-Xmx64m" "-Xms64m" | ||||||
|  | 
 | ||||||
|  | @rem Find java.exe | ||||||
|  | if defined JAVA_HOME goto findJavaFromJavaHome | ||||||
|  | 
 | ||||||
|  | set JAVA_EXE=java.exe | ||||||
|  | %JAVA_EXE% -version >NUL 2>&1 | ||||||
|  | if "%ERRORLEVEL%" == "0" goto execute | ||||||
|  | 
 | ||||||
|  | echo. | ||||||
|  | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. | ||||||
|  | echo. | ||||||
|  | echo Please set the JAVA_HOME variable in your environment to match the | ||||||
|  | echo location of your Java installation. | ||||||
|  | 
 | ||||||
|  | goto fail | ||||||
|  | 
 | ||||||
|  | :findJavaFromJavaHome | ||||||
|  | set JAVA_HOME=%JAVA_HOME:"=% | ||||||
|  | set JAVA_EXE=%JAVA_HOME%/bin/java.exe | ||||||
|  | 
 | ||||||
|  | if exist "%JAVA_EXE%" goto execute | ||||||
|  | 
 | ||||||
|  | echo. | ||||||
|  | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% | ||||||
|  | echo. | ||||||
|  | echo Please set the JAVA_HOME variable in your environment to match the | ||||||
|  | echo location of your Java installation. | ||||||
|  | 
 | ||||||
|  | goto fail | ||||||
|  | 
 | ||||||
|  | :execute | ||||||
|  | @rem Setup the command line | ||||||
|  | 
 | ||||||
|  | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | @rem Execute Gradle | ||||||
|  | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* | ||||||
|  | 
 | ||||||
|  | :end | ||||||
|  | @rem End local scope for the variables with windows NT shell | ||||||
|  | if "%ERRORLEVEL%"=="0" goto mainEnd | ||||||
|  | 
 | ||||||
|  | :fail | ||||||
|  | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of | ||||||
|  | rem the _cmd.exe /c_ return code! | ||||||
|  | if  not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 | ||||||
|  | exit /b 1 | ||||||
|  | 
 | ||||||
|  | :mainEnd | ||||||
|  | if "%OS%"=="Windows_NT" endlocal | ||||||
|  | 
 | ||||||
|  | :omega | ||||||
							
								
								
									
										344
									
								
								samples/client/others/java/okhttp-gson-oneOf/pom.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										344
									
								
								samples/client/others/java/okhttp-gson-oneOf/pom.xml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,344 @@ | |||||||
|  | <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||||||
|  |          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> | ||||||
|  |     <modelVersion>4.0.0</modelVersion> | ||||||
|  |     <groupId>org.openapitools</groupId> | ||||||
|  |     <artifactId>openapi-java-client</artifactId> | ||||||
|  |     <packaging>jar</packaging> | ||||||
|  |     <name>openapi-java-client</name> | ||||||
|  |     <version>1.0.0</version> | ||||||
|  |     <url>https://github.com/openapitools/openapi-generator</url> | ||||||
|  |     <description>OpenAPI Java</description> | ||||||
|  |     <scm> | ||||||
|  |         <connection>scm:git:git@github.com:openapitools/openapi-generator.git</connection> | ||||||
|  |         <developerConnection>scm:git:git@github.com:openapitools/openapi-generator.git</developerConnection> | ||||||
|  |         <url>https://github.com/openapitools/openapi-generator</url> | ||||||
|  |     </scm> | ||||||
|  | 
 | ||||||
|  |     <licenses> | ||||||
|  |         <license> | ||||||
|  |             <name>Unlicense</name> | ||||||
|  |             <url>http://unlicense.org</url> | ||||||
|  |             <distribution>repo</distribution> | ||||||
|  |         </license> | ||||||
|  |     </licenses> | ||||||
|  | 
 | ||||||
|  |     <developers> | ||||||
|  |         <developer> | ||||||
|  |             <name>OpenAPI-Generator Contributors</name> | ||||||
|  |             <email>team@openapitools.org</email> | ||||||
|  |             <organization>OpenAPITools.org</organization> | ||||||
|  |             <organizationUrl>http://openapitools.org</organizationUrl> | ||||||
|  |         </developer> | ||||||
|  |     </developers> | ||||||
|  | 
 | ||||||
|  |     <build> | ||||||
|  |         <plugins> | ||||||
|  |            <plugin> | ||||||
|  |                 <groupId>org.apache.maven.plugins</groupId> | ||||||
|  |                 <artifactId>maven-compiler-plugin</artifactId> | ||||||
|  |                 <version>3.8.1</version> | ||||||
|  |                 <configuration> | ||||||
|  |                     <fork>true</fork> | ||||||
|  |                     <meminitial>128m</meminitial> | ||||||
|  |                     <maxmem>512m</maxmem> | ||||||
|  |                     <compilerArgs> | ||||||
|  |                         <arg>-Xlint:all</arg> | ||||||
|  |                         <arg>-J-Xss4m</arg><!-- Compiling the generated JSON.java file may require larger stack size. --> | ||||||
|  |                     </compilerArgs> | ||||||
|  |                 </configuration> | ||||||
|  |             </plugin> | ||||||
|  |             <plugin> | ||||||
|  |                 <groupId>org.apache.maven.plugins</groupId> | ||||||
|  |                 <artifactId>maven-enforcer-plugin</artifactId> | ||||||
|  |                 <version>3.1.0</version> | ||||||
|  |                 <executions> | ||||||
|  |                     <execution> | ||||||
|  |                         <id>enforce-maven</id> | ||||||
|  |                         <goals> | ||||||
|  |                             <goal>enforce</goal> | ||||||
|  |                         </goals> | ||||||
|  |                         <configuration> | ||||||
|  |                             <rules> | ||||||
|  |                                 <requireMavenVersion> | ||||||
|  |                                     <version>2.2.0</version> | ||||||
|  |                                 </requireMavenVersion> | ||||||
|  |                             </rules> | ||||||
|  |                         </configuration> | ||||||
|  |                     </execution> | ||||||
|  |                 </executions> | ||||||
|  |             </plugin> | ||||||
|  |             <plugin> | ||||||
|  |                 <groupId>org.apache.maven.plugins</groupId> | ||||||
|  |                 <artifactId>maven-surefire-plugin</artifactId> | ||||||
|  |                 <version>2.22.2</version> | ||||||
|  |                 <configuration> | ||||||
|  |                     <systemProperties> | ||||||
|  |                         <property> | ||||||
|  |                             <name>loggerPath</name> | ||||||
|  |                             <value>conf/log4j.properties</value> | ||||||
|  |                         </property> | ||||||
|  |                     </systemProperties> | ||||||
|  |                     <argLine>-Xms512m -Xmx1500m</argLine> | ||||||
|  |                     <parallel>methods</parallel> | ||||||
|  |                     <threadCount>10</threadCount> | ||||||
|  |                 </configuration> | ||||||
|  |                 <dependencies> | ||||||
|  |                     <!--Custom provider and engine for Junit 5 to surefire--> | ||||||
|  |                     <dependency> | ||||||
|  |                         <groupId>org.junit.jupiter</groupId> | ||||||
|  |                         <artifactId>junit-jupiter-engine</artifactId> | ||||||
|  |                         <version>${junit-version}</version> | ||||||
|  |                     </dependency> | ||||||
|  |                 </dependencies> | ||||||
|  |             </plugin> | ||||||
|  |             <plugin> | ||||||
|  |                 <artifactId>maven-dependency-plugin</artifactId> | ||||||
|  |                 <version>3.3.0</version> | ||||||
|  |                 <executions> | ||||||
|  |                     <execution> | ||||||
|  |                         <phase>package</phase> | ||||||
|  |                         <goals> | ||||||
|  |                             <goal>copy-dependencies</goal> | ||||||
|  |                         </goals> | ||||||
|  |                         <configuration> | ||||||
|  |                             <outputDirectory>${project.build.directory}/lib</outputDirectory> | ||||||
|  |                         </configuration> | ||||||
|  |                     </execution> | ||||||
|  |                 </executions> | ||||||
|  |             </plugin> | ||||||
|  |             <!-- attach test jar --> | ||||||
|  |             <plugin> | ||||||
|  |                 <groupId>org.apache.maven.plugins</groupId> | ||||||
|  |                 <artifactId>maven-jar-plugin</artifactId> | ||||||
|  |                 <version>3.3.0</version> | ||||||
|  |                 <executions> | ||||||
|  |                     <execution> | ||||||
|  |                         <goals> | ||||||
|  |                             <goal>test-jar</goal> | ||||||
|  |                         </goals> | ||||||
|  |                     </execution> | ||||||
|  |                 </executions> | ||||||
|  |                 <configuration> | ||||||
|  |                 </configuration> | ||||||
|  |             </plugin> | ||||||
|  |             <plugin> | ||||||
|  |                 <groupId>org.codehaus.mojo</groupId> | ||||||
|  |                 <artifactId>build-helper-maven-plugin</artifactId> | ||||||
|  |                 <version>3.3.0</version> | ||||||
|  |                 <executions> | ||||||
|  |                     <execution> | ||||||
|  |                         <id>add_sources</id> | ||||||
|  |                         <phase>generate-sources</phase> | ||||||
|  |                         <goals> | ||||||
|  |                             <goal>add-source</goal> | ||||||
|  |                         </goals> | ||||||
|  |                         <configuration> | ||||||
|  |                             <sources> | ||||||
|  |                                 <source>src/main/java</source> | ||||||
|  |                             </sources> | ||||||
|  |                         </configuration> | ||||||
|  |                     </execution> | ||||||
|  |                     <execution> | ||||||
|  |                         <id>add_test_sources</id> | ||||||
|  |                         <phase>generate-test-sources</phase> | ||||||
|  |                         <goals> | ||||||
|  |                             <goal>add-test-source</goal> | ||||||
|  |                         </goals> | ||||||
|  |                         <configuration> | ||||||
|  |                             <sources> | ||||||
|  |                                 <source>src/test/java</source> | ||||||
|  |                             </sources> | ||||||
|  |                         </configuration> | ||||||
|  |                     </execution> | ||||||
|  |                 </executions> | ||||||
|  |             </plugin> | ||||||
|  |             <plugin> | ||||||
|  |                 <groupId>org.apache.maven.plugins</groupId> | ||||||
|  |                 <artifactId>maven-javadoc-plugin</artifactId> | ||||||
|  |                 <version>3.4.1</version> | ||||||
|  |                 <executions> | ||||||
|  |                     <execution> | ||||||
|  |                         <id>attach-javadocs</id> | ||||||
|  |                         <goals> | ||||||
|  |                             <goal>jar</goal> | ||||||
|  |                         </goals> | ||||||
|  |                     </execution> | ||||||
|  |                 </executions> | ||||||
|  |                 <configuration> | ||||||
|  |                     <doclint>none</doclint> | ||||||
|  |                     <tags> | ||||||
|  |                         <tag> | ||||||
|  |                             <name>http.response.details</name> | ||||||
|  |                             <placement>a</placement> | ||||||
|  |                             <head>Http Response Details:</head> | ||||||
|  |                         </tag> | ||||||
|  |                     </tags> | ||||||
|  |                 </configuration> | ||||||
|  |             </plugin> | ||||||
|  |             <plugin> | ||||||
|  |                 <groupId>org.apache.maven.plugins</groupId> | ||||||
|  |                 <artifactId>maven-source-plugin</artifactId> | ||||||
|  |                 <version>3.2.1</version> | ||||||
|  |                 <executions> | ||||||
|  |                     <execution> | ||||||
|  |                         <id>attach-sources</id> | ||||||
|  |                         <goals> | ||||||
|  |                             <goal>jar-no-fork</goal> | ||||||
|  |                         </goals> | ||||||
|  |                     </execution> | ||||||
|  |                 </executions> | ||||||
|  |             </plugin> | ||||||
|  |             <!-- Use spotless plugin to automatically format code, remove unused import, etc | ||||||
|  |                  To apply changes directly to the file, run `mvn spotless:apply` | ||||||
|  |                  Ref: https://github.com/diffplug/spotless/tree/main/plugin-maven | ||||||
|  |             --> | ||||||
|  |             <plugin> | ||||||
|  |               <groupId>com.diffplug.spotless</groupId> | ||||||
|  |               <artifactId>spotless-maven-plugin</artifactId> | ||||||
|  |               <version>${spotless.version}</version> | ||||||
|  |               <configuration> | ||||||
|  |                 <formats> | ||||||
|  |                   <!-- you can define as many formats as you want, each is independent --> | ||||||
|  |                   <format> | ||||||
|  |                     <!-- define the files to apply to --> | ||||||
|  |                     <includes> | ||||||
|  |                       <include>.gitignore</include> | ||||||
|  |                     </includes> | ||||||
|  |                     <!-- define the steps to apply to those files --> | ||||||
|  |                     <trimTrailingWhitespace/> | ||||||
|  |                     <endWithNewline/> | ||||||
|  |                     <indent> | ||||||
|  |                       <spaces>true</spaces> <!-- or <tabs>true</tabs> --> | ||||||
|  |                       <spacesPerTab>4</spacesPerTab> <!-- optional, default is 4 --> | ||||||
|  |                     </indent> | ||||||
|  |                   </format> | ||||||
|  |                 </formats> | ||||||
|  |                 <!-- define a language-specific format --> | ||||||
|  |                 <java> | ||||||
|  |                   <!-- no need to specify files, inferred automatically, but you can if you want --> | ||||||
|  | 
 | ||||||
|  |                   <!-- apply a specific flavor of google-java-format and reflow long strings --> | ||||||
|  |                   <googleJavaFormat> | ||||||
|  |                     <version>1.8</version> | ||||||
|  |                     <style>AOSP</style> | ||||||
|  |                     <reflowLongStrings>true</reflowLongStrings> | ||||||
|  |                   </googleJavaFormat> | ||||||
|  | 
 | ||||||
|  |                   <removeUnusedImports/> | ||||||
|  |                   <importOrder/> | ||||||
|  | 
 | ||||||
|  |                 </java> | ||||||
|  |               </configuration> | ||||||
|  |             </plugin> | ||||||
|  |         </plugins> | ||||||
|  |     </build> | ||||||
|  | 
 | ||||||
|  |     <profiles> | ||||||
|  |         <profile> | ||||||
|  |             <id>sign-artifacts</id> | ||||||
|  |             <build> | ||||||
|  |                 <plugins> | ||||||
|  |                     <plugin> | ||||||
|  |                         <groupId>org.apache.maven.plugins</groupId> | ||||||
|  |                         <artifactId>maven-gpg-plugin</artifactId> | ||||||
|  |                         <version>3.0.1</version> | ||||||
|  |                         <executions> | ||||||
|  |                             <execution> | ||||||
|  |                                 <id>sign-artifacts</id> | ||||||
|  |                                 <phase>verify</phase> | ||||||
|  |                                 <goals> | ||||||
|  |                                     <goal>sign</goal> | ||||||
|  |                                 </goals> | ||||||
|  |                             </execution> | ||||||
|  |                         </executions> | ||||||
|  |                     </plugin> | ||||||
|  |                 </plugins> | ||||||
|  |             </build> | ||||||
|  |         </profile> | ||||||
|  |     </profiles> | ||||||
|  | 
 | ||||||
|  |     <dependencies> | ||||||
|  |         <!-- @Nullable annotation --> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>com.google.code.findbugs</groupId> | ||||||
|  |             <artifactId>jsr305</artifactId> | ||||||
|  |             <version>3.0.2</version> | ||||||
|  |         </dependency> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>com.squareup.okhttp3</groupId> | ||||||
|  |             <artifactId>okhttp</artifactId> | ||||||
|  |             <version>${okhttp-version}</version> | ||||||
|  |         </dependency> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>com.squareup.okhttp3</groupId> | ||||||
|  |             <artifactId>logging-interceptor</artifactId> | ||||||
|  |             <version>${okhttp-version}</version> | ||||||
|  |         </dependency> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>com.google.code.gson</groupId> | ||||||
|  |             <artifactId>gson</artifactId> | ||||||
|  |             <version>${gson-version}</version> | ||||||
|  |         </dependency> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>io.gsonfire</groupId> | ||||||
|  |             <artifactId>gson-fire</artifactId> | ||||||
|  |             <version>${gson-fire-version}</version> | ||||||
|  |         </dependency> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.apache.commons</groupId> | ||||||
|  |             <artifactId>commons-lang3</artifactId> | ||||||
|  |             <version>${commons-lang3-version}</version> | ||||||
|  |         </dependency> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>jakarta.annotation</groupId> | ||||||
|  |             <artifactId>jakarta.annotation-api</artifactId> | ||||||
|  |             <version>${jakarta-annotation-version}</version> | ||||||
|  |             <scope>provided</scope> | ||||||
|  |         </dependency> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.openapitools</groupId> | ||||||
|  |             <artifactId>jackson-databind-nullable</artifactId> | ||||||
|  |             <version>${jackson-databind-nullable-version}</version> | ||||||
|  |         </dependency> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>javax.ws.rs</groupId> | ||||||
|  |             <artifactId>jsr311-api</artifactId> | ||||||
|  |             <version>${jsr311-api-version}</version> | ||||||
|  |         </dependency> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>javax.ws.rs</groupId> | ||||||
|  |             <artifactId>javax.ws.rs-api</artifactId> | ||||||
|  |             <version>${javax.ws.rs-api-version}</version> | ||||||
|  |         </dependency> | ||||||
|  |         <!-- test dependencies --> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.junit.jupiter</groupId> | ||||||
|  |             <artifactId>junit-jupiter-engine</artifactId> | ||||||
|  |             <version>${junit-version}</version> | ||||||
|  |             <scope>test</scope> | ||||||
|  |         </dependency> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.junit.platform</groupId> | ||||||
|  |             <artifactId>junit-platform-runner</artifactId> | ||||||
|  |             <version>${junit-platform-runner.version}</version> | ||||||
|  |             <scope>test</scope> | ||||||
|  |         </dependency> | ||||||
|  |     </dependencies> | ||||||
|  |     <properties> | ||||||
|  |         <java.version>1.8</java.version> | ||||||
|  |         <maven.compiler.source>${java.version}</maven.compiler.source> | ||||||
|  |         <maven.compiler.target>${java.version}</maven.compiler.target> | ||||||
|  |         <gson-fire-version>1.8.5</gson-fire-version> | ||||||
|  |         <okhttp-version>4.11.0</okhttp-version> | ||||||
|  |         <gson-version>2.10.1</gson-version> | ||||||
|  |         <commons-lang3-version>3.13.0</commons-lang3-version> | ||||||
|  |         <jackson-databind-nullable-version>0.2.6</jackson-databind-nullable-version> | ||||||
|  |         <jakarta-annotation-version>1.3.5</jakarta-annotation-version> | ||||||
|  |         <junit-version>5.10.0</junit-version> | ||||||
|  |         <junit-platform-runner.version>1.10.0</junit-platform-runner.version> | ||||||
|  |         <javax.ws.rs-api-version>2.1.1</javax.ws.rs-api-version> | ||||||
|  |         <jsr311-api-version>1.1.1</jsr311-api-version> | ||||||
|  |         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | ||||||
|  |         <spotless.version>2.27.2</spotless.version> | ||||||
|  |     </properties> | ||||||
|  | </project> | ||||||
| @ -0,0 +1 @@ | |||||||
|  | rootProject.name = "openapi-java-client" | ||||||
| @ -0,0 +1,3 @@ | |||||||
|  | <manifest package="org.openapitools.client" xmlns:android="http://schemas.android.com/apk/res/android"> | ||||||
|  |     <application /> | ||||||
|  | </manifest> | ||||||
| @ -0,0 +1,62 @@ | |||||||
|  | /* | ||||||
|  |  * oneOf two primitives | ||||||
|  |  * oneOf with two entries of type string, see https://github.com/OpenAPITools/openapi-generator/issues/10450 | ||||||
|  |  * | ||||||
|  |  * The version of the OpenAPI document: 1.0.0 | ||||||
|  |  *  | ||||||
|  |  * | ||||||
|  |  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||||||
|  |  * https://openapi-generator.tech | ||||||
|  |  * Do not edit the class manually. | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | package org.openapitools.client; | ||||||
|  | 
 | ||||||
|  | import java.io.IOException; | ||||||
|  | 
 | ||||||
|  | import java.util.Map; | ||||||
|  | import java.util.List; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * Callback for asynchronous API call. | ||||||
|  |  * | ||||||
|  |  * @param <T> The return type | ||||||
|  |  */ | ||||||
|  | public interface ApiCallback<T> { | ||||||
|  |     /** | ||||||
|  |      * This is called when the API call fails. | ||||||
|  |      * | ||||||
|  |      * @param e The exception causing the failure | ||||||
|  |      * @param statusCode Status code of the response if available, otherwise it would be 0 | ||||||
|  |      * @param responseHeaders Headers of the response if available, otherwise it would be null | ||||||
|  |      */ | ||||||
|  |     void onFailure(ApiException e, int statusCode, Map<String, List<String>> responseHeaders); | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * This is called when the API call succeeded. | ||||||
|  |      * | ||||||
|  |      * @param result The result deserialized from response | ||||||
|  |      * @param statusCode Status code of the response | ||||||
|  |      * @param responseHeaders Headers of the response | ||||||
|  |      */ | ||||||
|  |     void onSuccess(T result, int statusCode, Map<String, List<String>> responseHeaders); | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * This is called when the API upload processing. | ||||||
|  |      * | ||||||
|  |      * @param bytesWritten bytes Written | ||||||
|  |      * @param contentLength content length of request body | ||||||
|  |      * @param done write end | ||||||
|  |      */ | ||||||
|  |     void onUploadProgress(long bytesWritten, long contentLength, boolean done); | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * This is called when the API download processing. | ||||||
|  |      * | ||||||
|  |      * @param bytesRead bytes Read | ||||||
|  |      * @param contentLength content length of the response | ||||||
|  |      * @param done Read end | ||||||
|  |      */ | ||||||
|  |     void onDownloadProgress(long bytesRead, long contentLength, boolean done); | ||||||
|  | } | ||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @ -0,0 +1,165 @@ | |||||||
|  | /* | ||||||
|  |  * oneOf two primitives | ||||||
|  |  * oneOf with two entries of type string, see https://github.com/OpenAPITools/openapi-generator/issues/10450 | ||||||
|  |  * | ||||||
|  |  * The version of the OpenAPI document: 1.0.0 | ||||||
|  |  *  | ||||||
|  |  * | ||||||
|  |  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||||||
|  |  * https://openapi-generator.tech | ||||||
|  |  * Do not edit the class manually. | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | package org.openapitools.client; | ||||||
|  | 
 | ||||||
|  | import java.util.Map; | ||||||
|  | import java.util.List; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * <p>ApiException class.</p> | ||||||
|  |  */ | ||||||
|  | @SuppressWarnings("serial") | ||||||
|  | @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") | ||||||
|  | public class ApiException extends Exception { | ||||||
|  |     private int code = 0; | ||||||
|  |     private Map<String, List<String>> responseHeaders = null; | ||||||
|  |     private String responseBody = null; | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * <p>Constructor for ApiException.</p> | ||||||
|  |      */ | ||||||
|  |     public ApiException() {} | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * <p>Constructor for ApiException.</p> | ||||||
|  |      * | ||||||
|  |      * @param throwable a {@link java.lang.Throwable} object | ||||||
|  |      */ | ||||||
|  |     public ApiException(Throwable throwable) { | ||||||
|  |         super(throwable); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * <p>Constructor for ApiException.</p> | ||||||
|  |      * | ||||||
|  |      * @param message the error message | ||||||
|  |      */ | ||||||
|  |     public ApiException(String message) { | ||||||
|  |         super(message); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * <p>Constructor for ApiException.</p> | ||||||
|  |      * | ||||||
|  |      * @param message the error message | ||||||
|  |      * @param throwable a {@link java.lang.Throwable} object | ||||||
|  |      * @param code HTTP status code | ||||||
|  |      * @param responseHeaders a {@link java.util.Map} of HTTP response headers | ||||||
|  |      * @param responseBody the response body | ||||||
|  |      */ | ||||||
|  |     public ApiException(String message, Throwable throwable, int code, Map<String, List<String>> responseHeaders, String responseBody) { | ||||||
|  |         super(message, throwable); | ||||||
|  |         this.code = code; | ||||||
|  |         this.responseHeaders = responseHeaders; | ||||||
|  |         this.responseBody = responseBody; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * <p>Constructor for ApiException.</p> | ||||||
|  |      * | ||||||
|  |      * @param message the error message | ||||||
|  |      * @param code HTTP status code | ||||||
|  |      * @param responseHeaders a {@link java.util.Map} of HTTP response headers | ||||||
|  |      * @param responseBody the response body | ||||||
|  |      */ | ||||||
|  |     public ApiException(String message, int code, Map<String, List<String>> responseHeaders, String responseBody) { | ||||||
|  |         this(message, (Throwable) null, code, responseHeaders, responseBody); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * <p>Constructor for ApiException.</p> | ||||||
|  |      * | ||||||
|  |      * @param message the error message | ||||||
|  |      * @param throwable a {@link java.lang.Throwable} object | ||||||
|  |      * @param code HTTP status code | ||||||
|  |      * @param responseHeaders a {@link java.util.Map} of HTTP response headers | ||||||
|  |      */ | ||||||
|  |     public ApiException(String message, Throwable throwable, int code, Map<String, List<String>> responseHeaders) { | ||||||
|  |         this(message, throwable, code, responseHeaders, null); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * <p>Constructor for ApiException.</p> | ||||||
|  |      * | ||||||
|  |      * @param code HTTP status code | ||||||
|  |      * @param responseHeaders a {@link java.util.Map} of HTTP response headers | ||||||
|  |      * @param responseBody the response body | ||||||
|  |      */ | ||||||
|  |     public ApiException(int code, Map<String, List<String>> responseHeaders, String responseBody) { | ||||||
|  |         this("Response Code: " + code + " Response Body: " + responseBody, (Throwable) null, code, responseHeaders, responseBody); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * <p>Constructor for ApiException.</p> | ||||||
|  |      * | ||||||
|  |      * @param code HTTP status code | ||||||
|  |      * @param message a {@link java.lang.String} object | ||||||
|  |      */ | ||||||
|  |     public ApiException(int code, String message) { | ||||||
|  |         super(message); | ||||||
|  |         this.code = code; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * <p>Constructor for ApiException.</p> | ||||||
|  |      * | ||||||
|  |      * @param code HTTP status code | ||||||
|  |      * @param message the error message | ||||||
|  |      * @param responseHeaders a {@link java.util.Map} of HTTP response headers | ||||||
|  |      * @param responseBody the response body | ||||||
|  |      */ | ||||||
|  |     public ApiException(int code, String message, Map<String, List<String>> responseHeaders, String responseBody) { | ||||||
|  |         this(code, message); | ||||||
|  |         this.responseHeaders = responseHeaders; | ||||||
|  |         this.responseBody = responseBody; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * Get the HTTP status code. | ||||||
|  |      * | ||||||
|  |      * @return HTTP status code | ||||||
|  |      */ | ||||||
|  |     public int getCode() { | ||||||
|  |         return code; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * Get the HTTP response headers. | ||||||
|  |      * | ||||||
|  |      * @return A map of list of string | ||||||
|  |      */ | ||||||
|  |     public Map<String, List<String>> getResponseHeaders() { | ||||||
|  |         return responseHeaders; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * Get the HTTP response body. | ||||||
|  |      * | ||||||
|  |      * @return Response body in the form of string | ||||||
|  |      */ | ||||||
|  |     public String getResponseBody() { | ||||||
|  |         return responseBody; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * Get the exception message including HTTP response data. | ||||||
|  |      * | ||||||
|  |      * @return The exception message | ||||||
|  |      */ | ||||||
|  |     public String getMessage() { | ||||||
|  |         return String.format("Message: %s%nHTTP response code: %s%nHTTP response body: %s%nHTTP response headers: %s", | ||||||
|  |                 super.getMessage(), this.getCode(), this.getResponseBody(), this.getResponseHeaders()); | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -0,0 +1,76 @@ | |||||||
|  | /* | ||||||
|  |  * oneOf two primitives | ||||||
|  |  * oneOf with two entries of type string, see https://github.com/OpenAPITools/openapi-generator/issues/10450 | ||||||
|  |  * | ||||||
|  |  * The version of the OpenAPI document: 1.0.0 | ||||||
|  |  *  | ||||||
|  |  * | ||||||
|  |  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||||||
|  |  * https://openapi-generator.tech | ||||||
|  |  * Do not edit the class manually. | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | package org.openapitools.client; | ||||||
|  | 
 | ||||||
|  | import java.util.List; | ||||||
|  | import java.util.Map; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * API response returned by API call. | ||||||
|  |  */ | ||||||
|  | public class ApiResponse<T> { | ||||||
|  |     final private int statusCode; | ||||||
|  |     final private Map<String, List<String>> headers; | ||||||
|  |     final private T data; | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * <p>Constructor for ApiResponse.</p> | ||||||
|  |      * | ||||||
|  |      * @param statusCode The status code of HTTP response | ||||||
|  |      * @param headers The headers of HTTP response | ||||||
|  |      */ | ||||||
|  |     public ApiResponse(int statusCode, Map<String, List<String>> headers) { | ||||||
|  |         this(statusCode, headers, null); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * <p>Constructor for ApiResponse.</p> | ||||||
|  |      * | ||||||
|  |      * @param statusCode The status code of HTTP response | ||||||
|  |      * @param headers The headers of HTTP response | ||||||
|  |      * @param data The object deserialized from response bod | ||||||
|  |      */ | ||||||
|  |     public ApiResponse(int statusCode, Map<String, List<String>> headers, T data) { | ||||||
|  |         this.statusCode = statusCode; | ||||||
|  |         this.headers = headers; | ||||||
|  |         this.data = data; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * <p>Get the <code>status code</code>.</p> | ||||||
|  |      * | ||||||
|  |      * @return the status code | ||||||
|  |      */ | ||||||
|  |     public int getStatusCode() { | ||||||
|  |         return statusCode; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * <p>Get the <code>headers</code>.</p> | ||||||
|  |      * | ||||||
|  |      * @return a {@link java.util.Map} of headers  | ||||||
|  |      */ | ||||||
|  |     public Map<String, List<String>> getHeaders() { | ||||||
|  |         return headers; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * <p>Get the <code>data</code>.</p> | ||||||
|  |      * | ||||||
|  |      * @return the data | ||||||
|  |      */ | ||||||
|  |     public T getData() { | ||||||
|  |         return data; | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -0,0 +1,41 @@ | |||||||
|  | /* | ||||||
|  |  * oneOf two primitives | ||||||
|  |  * oneOf with two entries of type string, see https://github.com/OpenAPITools/openapi-generator/issues/10450 | ||||||
|  |  * | ||||||
|  |  * The version of the OpenAPI document: 1.0.0 | ||||||
|  |  *  | ||||||
|  |  * | ||||||
|  |  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||||||
|  |  * https://openapi-generator.tech | ||||||
|  |  * Do not edit the class manually. | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | package org.openapitools.client; | ||||||
|  | 
 | ||||||
|  | @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") | ||||||
|  | public class Configuration { | ||||||
|  |     public static final String VERSION = "1.0.0"; | ||||||
|  | 
 | ||||||
|  |     private static ApiClient defaultApiClient = new ApiClient(); | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * Get the default API client, which would be used when creating API | ||||||
|  |      * instances without providing an API client. | ||||||
|  |      * | ||||||
|  |      * @return Default API client | ||||||
|  |      */ | ||||||
|  |     public static ApiClient getDefaultApiClient() { | ||||||
|  |         return defaultApiClient; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * Set the default API client, which would be used when creating API | ||||||
|  |      * instances without providing an API client. | ||||||
|  |      * | ||||||
|  |      * @param apiClient API client | ||||||
|  |      */ | ||||||
|  |     public static void setDefaultApiClient(ApiClient apiClient) { | ||||||
|  |         defaultApiClient = apiClient; | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -0,0 +1,85 @@ | |||||||
|  | /* | ||||||
|  |  * oneOf two primitives | ||||||
|  |  * oneOf with two entries of type string, see https://github.com/OpenAPITools/openapi-generator/issues/10450 | ||||||
|  |  * | ||||||
|  |  * The version of the OpenAPI document: 1.0.0 | ||||||
|  |  *  | ||||||
|  |  * | ||||||
|  |  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||||||
|  |  * https://openapi-generator.tech | ||||||
|  |  * Do not edit the class manually. | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | package org.openapitools.client; | ||||||
|  | 
 | ||||||
|  | import okhttp3.*; | ||||||
|  | import okio.Buffer; | ||||||
|  | import okio.BufferedSink; | ||||||
|  | import okio.GzipSink; | ||||||
|  | import okio.Okio; | ||||||
|  | 
 | ||||||
|  | import java.io.IOException; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * Encodes request bodies using gzip. | ||||||
|  |  * | ||||||
|  |  * Taken from https://github.com/square/okhttp/issues/350 | ||||||
|  |  */ | ||||||
|  | class GzipRequestInterceptor implements Interceptor { | ||||||
|  |     @Override | ||||||
|  |     public Response intercept(Chain chain) throws IOException { | ||||||
|  |         Request originalRequest = chain.request(); | ||||||
|  |         if (originalRequest.body() == null || originalRequest.header("Content-Encoding") != null) { | ||||||
|  |             return chain.proceed(originalRequest); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         Request compressedRequest = originalRequest.newBuilder() | ||||||
|  |                                                    .header("Content-Encoding", "gzip") | ||||||
|  |                                                    .method(originalRequest.method(), forceContentLength(gzip(originalRequest.body()))) | ||||||
|  |                                                    .build(); | ||||||
|  |         return chain.proceed(compressedRequest); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     private RequestBody forceContentLength(final RequestBody requestBody) throws IOException { | ||||||
|  |         final Buffer buffer = new Buffer(); | ||||||
|  |         requestBody.writeTo(buffer); | ||||||
|  |         return new RequestBody() { | ||||||
|  |             @Override | ||||||
|  |             public MediaType contentType() { | ||||||
|  |                 return requestBody.contentType(); | ||||||
|  |             } | ||||||
|  | 
 | ||||||
|  |             @Override | ||||||
|  |             public long contentLength() { | ||||||
|  |                 return buffer.size(); | ||||||
|  |             } | ||||||
|  | 
 | ||||||
|  |             @Override | ||||||
|  |             public void writeTo(BufferedSink sink) throws IOException { | ||||||
|  |                 sink.write(buffer.snapshot()); | ||||||
|  |             } | ||||||
|  |         }; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     private RequestBody gzip(final RequestBody body) { | ||||||
|  |         return new RequestBody() { | ||||||
|  |             @Override | ||||||
|  |             public MediaType contentType() { | ||||||
|  |                 return body.contentType(); | ||||||
|  |             } | ||||||
|  | 
 | ||||||
|  |             @Override | ||||||
|  |             public long contentLength() { | ||||||
|  |                 return -1; // We don't know the compressed length in advance! | ||||||
|  |             } | ||||||
|  | 
 | ||||||
|  |             @Override | ||||||
|  |             public void writeTo(BufferedSink sink) throws IOException { | ||||||
|  |                 BufferedSink gzipSink = Okio.buffer(new GzipSink(sink)); | ||||||
|  |                 body.writeTo(gzipSink); | ||||||
|  |                 gzipSink.close(); | ||||||
|  |             } | ||||||
|  |         }; | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -0,0 +1,401 @@ | |||||||
|  | /* | ||||||
|  |  * oneOf two primitives | ||||||
|  |  * oneOf with two entries of type string, see https://github.com/OpenAPITools/openapi-generator/issues/10450 | ||||||
|  |  * | ||||||
|  |  * The version of the OpenAPI document: 1.0.0 | ||||||
|  |  *  | ||||||
|  |  * | ||||||
|  |  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||||||
|  |  * https://openapi-generator.tech | ||||||
|  |  * Do not edit the class manually. | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | package org.openapitools.client; | ||||||
|  | 
 | ||||||
|  | import com.google.gson.Gson; | ||||||
|  | import com.google.gson.GsonBuilder; | ||||||
|  | import com.google.gson.JsonParseException; | ||||||
|  | import com.google.gson.TypeAdapter; | ||||||
|  | import com.google.gson.internal.bind.util.ISO8601Utils; | ||||||
|  | import com.google.gson.stream.JsonReader; | ||||||
|  | import com.google.gson.stream.JsonWriter; | ||||||
|  | import com.google.gson.JsonElement; | ||||||
|  | import io.gsonfire.GsonFireBuilder; | ||||||
|  | import io.gsonfire.TypeSelector; | ||||||
|  | 
 | ||||||
|  | import okio.ByteString; | ||||||
|  | 
 | ||||||
|  | import java.io.IOException; | ||||||
|  | import java.io.StringReader; | ||||||
|  | import java.lang.reflect.Type; | ||||||
|  | import java.text.DateFormat; | ||||||
|  | import java.text.ParseException; | ||||||
|  | import java.text.ParsePosition; | ||||||
|  | import java.time.LocalDate; | ||||||
|  | import java.time.OffsetDateTime; | ||||||
|  | import java.time.format.DateTimeFormatter; | ||||||
|  | import java.util.Date; | ||||||
|  | import java.util.Locale; | ||||||
|  | import java.util.Map; | ||||||
|  | import java.util.HashMap; | ||||||
|  | 
 | ||||||
|  | /* | ||||||
|  |  * A JSON utility class | ||||||
|  |  * | ||||||
|  |  * NOTE: in the future, this class may be converted to static, which may break | ||||||
|  |  *       backward-compatibility | ||||||
|  |  */ | ||||||
|  | public class JSON { | ||||||
|  |     private static Gson gson; | ||||||
|  |     private static boolean isLenientOnJson = false; | ||||||
|  |     private static DateTypeAdapter dateTypeAdapter = new DateTypeAdapter(); | ||||||
|  |     private static SqlDateTypeAdapter sqlDateTypeAdapter = new SqlDateTypeAdapter(); | ||||||
|  |     private static OffsetDateTimeTypeAdapter offsetDateTimeTypeAdapter = new OffsetDateTimeTypeAdapter(); | ||||||
|  |     private static LocalDateTypeAdapter localDateTypeAdapter = new LocalDateTypeAdapter(); | ||||||
|  |     private static ByteArrayAdapter byteArrayAdapter = new ByteArrayAdapter(); | ||||||
|  | 
 | ||||||
|  |     @SuppressWarnings("unchecked") | ||||||
|  |     public static GsonBuilder createGson() { | ||||||
|  |         GsonFireBuilder fireBuilder = new GsonFireBuilder() | ||||||
|  |         ; | ||||||
|  |         GsonBuilder builder = fireBuilder.createGsonBuilder(); | ||||||
|  |         return builder; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     private static String getDiscriminatorValue(JsonElement readElement, String discriminatorField) { | ||||||
|  |         JsonElement element = readElement.getAsJsonObject().get(discriminatorField); | ||||||
|  |         if (null == element) { | ||||||
|  |             throw new IllegalArgumentException("missing discriminator field: <" + discriminatorField + ">"); | ||||||
|  |         } | ||||||
|  |         return element.getAsString(); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * Returns the Java class that implements the OpenAPI schema for the specified discriminator value. | ||||||
|  |      * | ||||||
|  |      * @param classByDiscriminatorValue The map of discriminator values to Java classes. | ||||||
|  |      * @param discriminatorValue The value of the OpenAPI discriminator in the input data. | ||||||
|  |      * @return The Java class that implements the OpenAPI schema | ||||||
|  |      */ | ||||||
|  |     private static Class getClassByDiscriminator(Map classByDiscriminatorValue, String discriminatorValue) { | ||||||
|  |         Class clazz = (Class) classByDiscriminatorValue.get(discriminatorValue); | ||||||
|  |         if (null == clazz) { | ||||||
|  |             throw new IllegalArgumentException("cannot determine model class of name: <" + discriminatorValue + ">"); | ||||||
|  |         } | ||||||
|  |         return clazz; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     { | ||||||
|  |         GsonBuilder gsonBuilder = createGson(); | ||||||
|  |         gsonBuilder.registerTypeAdapter(Date.class, dateTypeAdapter); | ||||||
|  |         gsonBuilder.registerTypeAdapter(java.sql.Date.class, sqlDateTypeAdapter); | ||||||
|  |         gsonBuilder.registerTypeAdapter(OffsetDateTime.class, offsetDateTimeTypeAdapter); | ||||||
|  |         gsonBuilder.registerTypeAdapter(LocalDate.class, localDateTypeAdapter); | ||||||
|  |         gsonBuilder.registerTypeAdapter(byte[].class, byteArrayAdapter); | ||||||
|  |         gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.MyExamplePostRequest.CustomTypeAdapterFactory()); | ||||||
|  |         gson = gsonBuilder.create(); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * Get Gson. | ||||||
|  |      * | ||||||
|  |      * @return Gson | ||||||
|  |      */ | ||||||
|  |     public static Gson getGson() { | ||||||
|  |         return gson; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * Set Gson. | ||||||
|  |      * | ||||||
|  |      * @param gson Gson | ||||||
|  |      */ | ||||||
|  |     public static void setGson(Gson gson) { | ||||||
|  |         JSON.gson = gson; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public static void setLenientOnJson(boolean lenientOnJson) { | ||||||
|  |         isLenientOnJson = lenientOnJson; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * Serialize the given Java object into JSON string. | ||||||
|  |      * | ||||||
|  |      * @param obj Object | ||||||
|  |      * @return String representation of the JSON | ||||||
|  |      */ | ||||||
|  |     public static String serialize(Object obj) { | ||||||
|  |         return gson.toJson(obj); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * Deserialize the given JSON string to Java object. | ||||||
|  |      * | ||||||
|  |      * @param <T>        Type | ||||||
|  |      * @param body       The JSON string | ||||||
|  |      * @param returnType The type to deserialize into | ||||||
|  |      * @return The deserialized Java object | ||||||
|  |      */ | ||||||
|  |     @SuppressWarnings("unchecked") | ||||||
|  |     public static <T> T deserialize(String body, Type returnType) { | ||||||
|  |         try { | ||||||
|  |             if (isLenientOnJson) { | ||||||
|  |                 JsonReader jsonReader = new JsonReader(new StringReader(body)); | ||||||
|  |                 // see https://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/com/google/gson/stream/JsonReader.html#setLenient(boolean) | ||||||
|  |                 jsonReader.setLenient(true); | ||||||
|  |                 return gson.fromJson(jsonReader, returnType); | ||||||
|  |             } else { | ||||||
|  |                 return gson.fromJson(body, returnType); | ||||||
|  |             } | ||||||
|  |         } catch (JsonParseException e) { | ||||||
|  |             // Fallback processing when failed to parse JSON form response body: | ||||||
|  |             // return the response body string directly for the String return type; | ||||||
|  |             if (returnType.equals(String.class)) { | ||||||
|  |                 return (T) body; | ||||||
|  |             } else { | ||||||
|  |                 throw (e); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * Gson TypeAdapter for Byte Array type | ||||||
|  |      */ | ||||||
|  |     public static class ByteArrayAdapter extends TypeAdapter<byte[]> { | ||||||
|  | 
 | ||||||
|  |         @Override | ||||||
|  |         public void write(JsonWriter out, byte[] value) throws IOException { | ||||||
|  |             if (value == null) { | ||||||
|  |                 out.nullValue(); | ||||||
|  |             } else { | ||||||
|  |                 out.value(ByteString.of(value).base64()); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         @Override | ||||||
|  |         public byte[] read(JsonReader in) throws IOException { | ||||||
|  |             switch (in.peek()) { | ||||||
|  |                 case NULL: | ||||||
|  |                     in.nextNull(); | ||||||
|  |                     return null; | ||||||
|  |                 default: | ||||||
|  |                     String bytesAsBase64 = in.nextString(); | ||||||
|  |                     ByteString byteString = ByteString.decodeBase64(bytesAsBase64); | ||||||
|  |                     return byteString.toByteArray(); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * Gson TypeAdapter for JSR310 OffsetDateTime type | ||||||
|  |      */ | ||||||
|  |     public static class OffsetDateTimeTypeAdapter extends TypeAdapter<OffsetDateTime> { | ||||||
|  | 
 | ||||||
|  |         private DateTimeFormatter formatter; | ||||||
|  | 
 | ||||||
|  |         public OffsetDateTimeTypeAdapter() { | ||||||
|  |             this(DateTimeFormatter.ISO_OFFSET_DATE_TIME); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         public OffsetDateTimeTypeAdapter(DateTimeFormatter formatter) { | ||||||
|  |             this.formatter = formatter; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         public void setFormat(DateTimeFormatter dateFormat) { | ||||||
|  |             this.formatter = dateFormat; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         @Override | ||||||
|  |         public void write(JsonWriter out, OffsetDateTime date) throws IOException { | ||||||
|  |             if (date == null) { | ||||||
|  |                 out.nullValue(); | ||||||
|  |             } else { | ||||||
|  |                 out.value(formatter.format(date)); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         @Override | ||||||
|  |         public OffsetDateTime read(JsonReader in) throws IOException { | ||||||
|  |             switch (in.peek()) { | ||||||
|  |                 case NULL: | ||||||
|  |                     in.nextNull(); | ||||||
|  |                     return null; | ||||||
|  |                 default: | ||||||
|  |                     String date = in.nextString(); | ||||||
|  |                     if (date.endsWith("+0000")) { | ||||||
|  |                         date = date.substring(0, date.length()-5) + "Z"; | ||||||
|  |                     } | ||||||
|  |                     return OffsetDateTime.parse(date, formatter); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * Gson TypeAdapter for JSR310 LocalDate type | ||||||
|  |      */ | ||||||
|  |     public static class LocalDateTypeAdapter extends TypeAdapter<LocalDate> { | ||||||
|  | 
 | ||||||
|  |         private DateTimeFormatter formatter; | ||||||
|  | 
 | ||||||
|  |         public LocalDateTypeAdapter() { | ||||||
|  |             this(DateTimeFormatter.ISO_LOCAL_DATE); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         public LocalDateTypeAdapter(DateTimeFormatter formatter) { | ||||||
|  |             this.formatter = formatter; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         public void setFormat(DateTimeFormatter dateFormat) { | ||||||
|  |             this.formatter = dateFormat; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         @Override | ||||||
|  |         public void write(JsonWriter out, LocalDate date) throws IOException { | ||||||
|  |             if (date == null) { | ||||||
|  |                 out.nullValue(); | ||||||
|  |             } else { | ||||||
|  |                 out.value(formatter.format(date)); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         @Override | ||||||
|  |         public LocalDate read(JsonReader in) throws IOException { | ||||||
|  |             switch (in.peek()) { | ||||||
|  |                 case NULL: | ||||||
|  |                     in.nextNull(); | ||||||
|  |                     return null; | ||||||
|  |                 default: | ||||||
|  |                     String date = in.nextString(); | ||||||
|  |                     return LocalDate.parse(date, formatter); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public static void setOffsetDateTimeFormat(DateTimeFormatter dateFormat) { | ||||||
|  |         offsetDateTimeTypeAdapter.setFormat(dateFormat); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public static void setLocalDateFormat(DateTimeFormatter dateFormat) { | ||||||
|  |         localDateTypeAdapter.setFormat(dateFormat); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * Gson TypeAdapter for java.sql.Date type | ||||||
|  |      * If the dateFormat is null, a simple "yyyy-MM-dd" format will be used | ||||||
|  |      * (more efficient than SimpleDateFormat). | ||||||
|  |      */ | ||||||
|  |     public static class SqlDateTypeAdapter extends TypeAdapter<java.sql.Date> { | ||||||
|  | 
 | ||||||
|  |         private DateFormat dateFormat; | ||||||
|  | 
 | ||||||
|  |         public SqlDateTypeAdapter() {} | ||||||
|  | 
 | ||||||
|  |         public SqlDateTypeAdapter(DateFormat dateFormat) { | ||||||
|  |             this.dateFormat = dateFormat; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         public void setFormat(DateFormat dateFormat) { | ||||||
|  |             this.dateFormat = dateFormat; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         @Override | ||||||
|  |         public void write(JsonWriter out, java.sql.Date date) throws IOException { | ||||||
|  |             if (date == null) { | ||||||
|  |                 out.nullValue(); | ||||||
|  |             } else { | ||||||
|  |                 String value; | ||||||
|  |                 if (dateFormat != null) { | ||||||
|  |                     value = dateFormat.format(date); | ||||||
|  |                 } else { | ||||||
|  |                     value = date.toString(); | ||||||
|  |                 } | ||||||
|  |                 out.value(value); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         @Override | ||||||
|  |         public java.sql.Date read(JsonReader in) throws IOException { | ||||||
|  |             switch (in.peek()) { | ||||||
|  |                 case NULL: | ||||||
|  |                     in.nextNull(); | ||||||
|  |                     return null; | ||||||
|  |                 default: | ||||||
|  |                     String date = in.nextString(); | ||||||
|  |                     try { | ||||||
|  |                         if (dateFormat != null) { | ||||||
|  |                             return new java.sql.Date(dateFormat.parse(date).getTime()); | ||||||
|  |                         } | ||||||
|  |                         return new java.sql.Date(ISO8601Utils.parse(date, new ParsePosition(0)).getTime()); | ||||||
|  |                     } catch (ParseException e) { | ||||||
|  |                         throw new JsonParseException(e); | ||||||
|  |                     } | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * Gson TypeAdapter for java.util.Date type | ||||||
|  |      * If the dateFormat is null, ISO8601Utils will be used. | ||||||
|  |      */ | ||||||
|  |     public static class DateTypeAdapter extends TypeAdapter<Date> { | ||||||
|  | 
 | ||||||
|  |         private DateFormat dateFormat; | ||||||
|  | 
 | ||||||
|  |         public DateTypeAdapter() {} | ||||||
|  | 
 | ||||||
|  |         public DateTypeAdapter(DateFormat dateFormat) { | ||||||
|  |             this.dateFormat = dateFormat; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         public void setFormat(DateFormat dateFormat) { | ||||||
|  |             this.dateFormat = dateFormat; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         @Override | ||||||
|  |         public void write(JsonWriter out, Date date) throws IOException { | ||||||
|  |             if (date == null) { | ||||||
|  |                 out.nullValue(); | ||||||
|  |             } else { | ||||||
|  |                 String value; | ||||||
|  |                 if (dateFormat != null) { | ||||||
|  |                     value = dateFormat.format(date); | ||||||
|  |                 } else { | ||||||
|  |                     value = ISO8601Utils.format(date, true); | ||||||
|  |                 } | ||||||
|  |                 out.value(value); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         @Override | ||||||
|  |         public Date read(JsonReader in) throws IOException { | ||||||
|  |             try { | ||||||
|  |                 switch (in.peek()) { | ||||||
|  |                     case NULL: | ||||||
|  |                         in.nextNull(); | ||||||
|  |                         return null; | ||||||
|  |                     default: | ||||||
|  |                         String date = in.nextString(); | ||||||
|  |                         try { | ||||||
|  |                             if (dateFormat != null) { | ||||||
|  |                                 return dateFormat.parse(date); | ||||||
|  |                             } | ||||||
|  |                             return ISO8601Utils.parse(date, new ParsePosition(0)); | ||||||
|  |                         } catch (ParseException e) { | ||||||
|  |                             throw new JsonParseException(e); | ||||||
|  |                         } | ||||||
|  |                 } | ||||||
|  |             } catch (IllegalArgumentException e) { | ||||||
|  |                 throw new JsonParseException(e); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public static void setDateFormat(DateFormat dateFormat) { | ||||||
|  |         dateTypeAdapter.setFormat(dateFormat); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public static void setSqlDateFormat(DateFormat dateFormat) { | ||||||
|  |         sqlDateTypeAdapter.setFormat(dateFormat); | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -0,0 +1,57 @@ | |||||||
|  | /* | ||||||
|  |  * oneOf two primitives | ||||||
|  |  * oneOf with two entries of type string, see https://github.com/OpenAPITools/openapi-generator/issues/10450 | ||||||
|  |  * | ||||||
|  |  * The version of the OpenAPI document: 1.0.0 | ||||||
|  |  *  | ||||||
|  |  * | ||||||
|  |  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||||||
|  |  * https://openapi-generator.tech | ||||||
|  |  * Do not edit the class manually. | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | package org.openapitools.client; | ||||||
|  | 
 | ||||||
|  | @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") | ||||||
|  | public class Pair { | ||||||
|  |     private String name = ""; | ||||||
|  |     private String value = ""; | ||||||
|  | 
 | ||||||
|  |     public Pair (String name, String value) { | ||||||
|  |         setName(name); | ||||||
|  |         setValue(value); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     private void setName(String name) { | ||||||
|  |         if (!isValidString(name)) { | ||||||
|  |             return; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         this.name = name; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     private void setValue(String value) { | ||||||
|  |         if (!isValidString(value)) { | ||||||
|  |             return; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         this.value = value; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public String getName() { | ||||||
|  |         return this.name; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public String getValue() { | ||||||
|  |         return this.value; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     private boolean isValidString(String arg) { | ||||||
|  |         if (arg == null) { | ||||||
|  |             return false; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         return true; | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -0,0 +1,73 @@ | |||||||
|  | /* | ||||||
|  |  * oneOf two primitives | ||||||
|  |  * oneOf with two entries of type string, see https://github.com/OpenAPITools/openapi-generator/issues/10450 | ||||||
|  |  * | ||||||
|  |  * The version of the OpenAPI document: 1.0.0 | ||||||
|  |  *  | ||||||
|  |  * | ||||||
|  |  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||||||
|  |  * https://openapi-generator.tech | ||||||
|  |  * Do not edit the class manually. | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | package org.openapitools.client; | ||||||
|  | 
 | ||||||
|  | import okhttp3.MediaType; | ||||||
|  | import okhttp3.RequestBody; | ||||||
|  | 
 | ||||||
|  | import java.io.IOException; | ||||||
|  | 
 | ||||||
|  | import okio.Buffer; | ||||||
|  | import okio.BufferedSink; | ||||||
|  | import okio.ForwardingSink; | ||||||
|  | import okio.Okio; | ||||||
|  | import okio.Sink; | ||||||
|  | 
 | ||||||
|  | public class ProgressRequestBody extends RequestBody { | ||||||
|  | 
 | ||||||
|  |     private final RequestBody requestBody; | ||||||
|  | 
 | ||||||
|  |     private final ApiCallback callback; | ||||||
|  | 
 | ||||||
|  |     public ProgressRequestBody(RequestBody requestBody, ApiCallback callback) { | ||||||
|  |         this.requestBody = requestBody; | ||||||
|  |         this.callback = callback; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Override | ||||||
|  |     public MediaType contentType() { | ||||||
|  |         return requestBody.contentType(); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Override | ||||||
|  |     public long contentLength() throws IOException { | ||||||
|  |         return requestBody.contentLength(); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Override | ||||||
|  |     public void writeTo(BufferedSink sink) throws IOException { | ||||||
|  |         BufferedSink bufferedSink = Okio.buffer(sink(sink)); | ||||||
|  |         requestBody.writeTo(bufferedSink); | ||||||
|  |         bufferedSink.flush(); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     private Sink sink(Sink sink) { | ||||||
|  |         return new ForwardingSink(sink) { | ||||||
|  | 
 | ||||||
|  |             long bytesWritten = 0L; | ||||||
|  |             long contentLength = 0L; | ||||||
|  | 
 | ||||||
|  |             @Override | ||||||
|  |             public void write(Buffer source, long byteCount) throws IOException { | ||||||
|  |                 super.write(source, byteCount); | ||||||
|  |                 if (contentLength == 0) { | ||||||
|  |                     contentLength = contentLength(); | ||||||
|  |                 } | ||||||
|  | 
 | ||||||
|  |                 bytesWritten += byteCount; | ||||||
|  |                 callback.onUploadProgress(bytesWritten, contentLength, bytesWritten == contentLength); | ||||||
|  |             } | ||||||
|  |         }; | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -0,0 +1,70 @@ | |||||||
|  | /* | ||||||
|  |  * oneOf two primitives | ||||||
|  |  * oneOf with two entries of type string, see https://github.com/OpenAPITools/openapi-generator/issues/10450 | ||||||
|  |  * | ||||||
|  |  * The version of the OpenAPI document: 1.0.0 | ||||||
|  |  *  | ||||||
|  |  * | ||||||
|  |  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||||||
|  |  * https://openapi-generator.tech | ||||||
|  |  * Do not edit the class manually. | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | package org.openapitools.client; | ||||||
|  | 
 | ||||||
|  | import okhttp3.MediaType; | ||||||
|  | import okhttp3.ResponseBody; | ||||||
|  | 
 | ||||||
|  | import java.io.IOException; | ||||||
|  | 
 | ||||||
|  | import okio.Buffer; | ||||||
|  | import okio.BufferedSource; | ||||||
|  | import okio.ForwardingSource; | ||||||
|  | import okio.Okio; | ||||||
|  | import okio.Source; | ||||||
|  | 
 | ||||||
|  | public class ProgressResponseBody extends ResponseBody { | ||||||
|  | 
 | ||||||
|  |     private final ResponseBody responseBody; | ||||||
|  |     private final ApiCallback callback; | ||||||
|  |     private BufferedSource bufferedSource; | ||||||
|  | 
 | ||||||
|  |     public ProgressResponseBody(ResponseBody responseBody, ApiCallback callback) { | ||||||
|  |         this.responseBody = responseBody; | ||||||
|  |         this.callback = callback; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Override | ||||||
|  |     public MediaType contentType() { | ||||||
|  |         return responseBody.contentType(); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Override | ||||||
|  |     public long contentLength() { | ||||||
|  |         return responseBody.contentLength(); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Override | ||||||
|  |     public BufferedSource source() { | ||||||
|  |         if (bufferedSource == null) { | ||||||
|  |             bufferedSource = Okio.buffer(source(responseBody.source())); | ||||||
|  |         } | ||||||
|  |         return bufferedSource; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     private Source source(Source source) { | ||||||
|  |         return new ForwardingSource(source) { | ||||||
|  |             long totalBytesRead = 0L; | ||||||
|  | 
 | ||||||
|  |             @Override | ||||||
|  |             public long read(Buffer sink, long byteCount) throws IOException { | ||||||
|  |                 long bytesRead = super.read(sink, byteCount); | ||||||
|  |                 // read() returns the number of bytes read, or -1 if this source is exhausted. | ||||||
|  |                 totalBytesRead += bytesRead != -1 ? bytesRead : 0; | ||||||
|  |                 callback.onDownloadProgress(totalBytesRead, responseBody.contentLength(), bytesRead == -1); | ||||||
|  |                 return bytesRead; | ||||||
|  |             } | ||||||
|  |         }; | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -0,0 +1,58 @@ | |||||||
|  | package org.openapitools.client; | ||||||
|  | 
 | ||||||
|  | import java.util.Map; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * Representing a Server configuration. | ||||||
|  |  */ | ||||||
|  | public class ServerConfiguration { | ||||||
|  |     public String URL; | ||||||
|  |     public String description; | ||||||
|  |     public Map<String, ServerVariable> variables; | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * @param URL A URL to the target host. | ||||||
|  |      * @param description A description of the host designated by the URL. | ||||||
|  |      * @param variables A map between a variable name and its value. The value is used for substitution in the server's URL template. | ||||||
|  |      */ | ||||||
|  |     public ServerConfiguration(String URL, String description, Map<String, ServerVariable> variables) { | ||||||
|  |         this.URL = URL; | ||||||
|  |         this.description = description; | ||||||
|  |         this.variables = variables; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * Format URL template using given variables. | ||||||
|  |      * | ||||||
|  |      * @param variables A map between a variable name and its value. | ||||||
|  |      * @return Formatted URL. | ||||||
|  |      */ | ||||||
|  |     public String URL(Map<String, String> variables) { | ||||||
|  |         String url = this.URL; | ||||||
|  | 
 | ||||||
|  |         // go through variables and replace placeholders | ||||||
|  |         for (Map.Entry<String, ServerVariable> variable: this.variables.entrySet()) { | ||||||
|  |             String name = variable.getKey(); | ||||||
|  |             ServerVariable serverVariable = variable.getValue(); | ||||||
|  |             String value = serverVariable.defaultValue; | ||||||
|  | 
 | ||||||
|  |             if (variables != null && variables.containsKey(name)) { | ||||||
|  |                 value = variables.get(name); | ||||||
|  |                 if (serverVariable.enumValues.size() > 0 && !serverVariable.enumValues.contains(value)) { | ||||||
|  |                     throw new IllegalArgumentException("The variable " + name + " in the server URL has invalid value " + value + "."); | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |             url = url.replace("{" + name + "}", value); | ||||||
|  |         } | ||||||
|  |         return url; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * Format URL template using default server variables. | ||||||
|  |      * | ||||||
|  |      * @return Formatted URL. | ||||||
|  |      */ | ||||||
|  |     public String URL() { | ||||||
|  |         return URL(null); | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -0,0 +1,23 @@ | |||||||
|  | package org.openapitools.client; | ||||||
|  | 
 | ||||||
|  | import java.util.HashSet; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * Representing a Server Variable for server URL template substitution. | ||||||
|  |  */ | ||||||
|  | public class ServerVariable { | ||||||
|  |     public String description; | ||||||
|  |     public String defaultValue; | ||||||
|  |     public HashSet<String> enumValues = null; | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * @param description A description for the server variable. | ||||||
|  |      * @param defaultValue The default value to use for substitution. | ||||||
|  |      * @param enumValues An enumeration of string values to be used if the substitution options are from a limited set. | ||||||
|  |      */ | ||||||
|  |     public ServerVariable(String description, String defaultValue, HashSet<String> enumValues) { | ||||||
|  |         this.description = description; | ||||||
|  |         this.defaultValue = defaultValue; | ||||||
|  |         this.enumValues = enumValues; | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -0,0 +1,83 @@ | |||||||
|  | /* | ||||||
|  |  * oneOf two primitives | ||||||
|  |  * oneOf with two entries of type string, see https://github.com/OpenAPITools/openapi-generator/issues/10450 | ||||||
|  |  * | ||||||
|  |  * The version of the OpenAPI document: 1.0.0 | ||||||
|  |  *  | ||||||
|  |  * | ||||||
|  |  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||||||
|  |  * https://openapi-generator.tech | ||||||
|  |  * Do not edit the class manually. | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | package org.openapitools.client; | ||||||
|  | 
 | ||||||
|  | import java.util.Collection; | ||||||
|  | import java.util.Iterator; | ||||||
|  | 
 | ||||||
|  | @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") | ||||||
|  | public class StringUtil { | ||||||
|  |   /** | ||||||
|  |    * Check if the given array contains the given value (with case-insensitive comparison). | ||||||
|  |    * | ||||||
|  |    * @param array The array | ||||||
|  |    * @param value The value to search | ||||||
|  |    * @return true if the array contains the value | ||||||
|  |    */ | ||||||
|  |   public static boolean containsIgnoreCase(String[] array, String value) { | ||||||
|  |     for (String str : array) { | ||||||
|  |       if (value == null && str == null) { | ||||||
|  |         return true; | ||||||
|  |       } | ||||||
|  |       if (value != null && value.equalsIgnoreCase(str)) { | ||||||
|  |         return true; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |     return false; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   /** | ||||||
|  |    * Join an array of strings with the given separator. | ||||||
|  |    * <p> | ||||||
|  |    * Note: This might be replaced by utility method from commons-lang or guava someday | ||||||
|  |    * if one of those libraries is added as dependency. | ||||||
|  |    * </p> | ||||||
|  |    * | ||||||
|  |    * @param array     The array of strings | ||||||
|  |    * @param separator The separator | ||||||
|  |    * @return the resulting string | ||||||
|  |    */ | ||||||
|  |   public static String join(String[] array, String separator) { | ||||||
|  |     int len = array.length; | ||||||
|  |     if (len == 0) { | ||||||
|  |       return ""; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     StringBuilder out = new StringBuilder(); | ||||||
|  |     out.append(array[0]); | ||||||
|  |     for (int i = 1; i < len; i++) { | ||||||
|  |       out.append(separator).append(array[i]); | ||||||
|  |     } | ||||||
|  |     return out.toString(); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   /** | ||||||
|  |    * Join a list of strings with the given separator. | ||||||
|  |    * | ||||||
|  |    * @param list      The list of strings | ||||||
|  |    * @param separator The separator | ||||||
|  |    * @return the resulting string | ||||||
|  |    */ | ||||||
|  |   public static String join(Collection<String> list, String separator) { | ||||||
|  |     Iterator<String> iterator = list.iterator(); | ||||||
|  |     StringBuilder out = new StringBuilder(); | ||||||
|  |     if (iterator.hasNext()) { | ||||||
|  |       out.append(iterator.next()); | ||||||
|  |     } | ||||||
|  |     while (iterator.hasNext()) { | ||||||
|  |       out.append(separator).append(iterator.next()); | ||||||
|  |     } | ||||||
|  |     return out.toString(); | ||||||
|  |   } | ||||||
|  | } | ||||||
| @ -0,0 +1,188 @@ | |||||||
|  | /* | ||||||
|  |  * oneOf two primitives | ||||||
|  |  * oneOf with two entries of type string, see https://github.com/OpenAPITools/openapi-generator/issues/10450 | ||||||
|  |  * | ||||||
|  |  * The version of the OpenAPI document: 1.0.0 | ||||||
|  |  *  | ||||||
|  |  * | ||||||
|  |  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||||||
|  |  * https://openapi-generator.tech | ||||||
|  |  * Do not edit the class manually. | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | package org.openapitools.client.api; | ||||||
|  | 
 | ||||||
|  | import org.openapitools.client.ApiCallback; | ||||||
|  | import org.openapitools.client.ApiClient; | ||||||
|  | import org.openapitools.client.ApiException; | ||||||
|  | import org.openapitools.client.ApiResponse; | ||||||
|  | import org.openapitools.client.Configuration; | ||||||
|  | import org.openapitools.client.Pair; | ||||||
|  | import org.openapitools.client.ProgressRequestBody; | ||||||
|  | import org.openapitools.client.ProgressResponseBody; | ||||||
|  | 
 | ||||||
|  | import com.google.gson.reflect.TypeToken; | ||||||
|  | 
 | ||||||
|  | import java.io.IOException; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | import org.openapitools.client.model.MyExamplePostRequest; | ||||||
|  | 
 | ||||||
|  | import java.lang.reflect.Type; | ||||||
|  | import java.util.ArrayList; | ||||||
|  | import java.util.HashMap; | ||||||
|  | import java.util.List; | ||||||
|  | import java.util.Map; | ||||||
|  | 
 | ||||||
|  | public class DefaultApi { | ||||||
|  |     private ApiClient localVarApiClient; | ||||||
|  |     private int localHostIndex; | ||||||
|  |     private String localCustomBaseUrl; | ||||||
|  | 
 | ||||||
|  |     public DefaultApi() { | ||||||
|  |         this(Configuration.getDefaultApiClient()); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public DefaultApi(ApiClient apiClient) { | ||||||
|  |         this.localVarApiClient = apiClient; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public ApiClient getApiClient() { | ||||||
|  |         return localVarApiClient; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public void setApiClient(ApiClient apiClient) { | ||||||
|  |         this.localVarApiClient = apiClient; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public int getHostIndex() { | ||||||
|  |         return localHostIndex; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public void setHostIndex(int hostIndex) { | ||||||
|  |         this.localHostIndex = hostIndex; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public String getCustomBaseUrl() { | ||||||
|  |         return localCustomBaseUrl; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public void setCustomBaseUrl(String customBaseUrl) { | ||||||
|  |         this.localCustomBaseUrl = customBaseUrl; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * Build call for myExamplePost | ||||||
|  |      * @param myExamplePostRequest  (optional) | ||||||
|  |      * @param _callback Callback for upload/download progress | ||||||
|  |      * @return Call to execute | ||||||
|  |      * @throws ApiException If fail to serialize the request body object | ||||||
|  |      * @http.response.details | ||||||
|  |      <table summary="Response Details" border="1"> | ||||||
|  |         <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr> | ||||||
|  |         <tr><td> 200 </td><td> OK </td><td>  -  </td></tr> | ||||||
|  |      </table> | ||||||
|  |      */ | ||||||
|  |     public okhttp3.Call myExamplePostCall(MyExamplePostRequest myExamplePostRequest, final ApiCallback _callback) throws ApiException { | ||||||
|  |         String basePath = null; | ||||||
|  |         // Operation Servers | ||||||
|  |         String[] localBasePaths = new String[] {  }; | ||||||
|  | 
 | ||||||
|  |         // Determine Base Path to Use | ||||||
|  |         if (localCustomBaseUrl != null){ | ||||||
|  |             basePath = localCustomBaseUrl; | ||||||
|  |         } else if ( localBasePaths.length > 0 ) { | ||||||
|  |             basePath = localBasePaths[localHostIndex]; | ||||||
|  |         } else { | ||||||
|  |             basePath = null; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         Object localVarPostBody = myExamplePostRequest; | ||||||
|  | 
 | ||||||
|  |         // create path and map variables | ||||||
|  |         String localVarPath = "/myExample"; | ||||||
|  | 
 | ||||||
|  |         List<Pair> localVarQueryParams = new ArrayList<Pair>(); | ||||||
|  |         List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>(); | ||||||
|  |         Map<String, String> localVarHeaderParams = new HashMap<String, String>(); | ||||||
|  |         Map<String, String> localVarCookieParams = new HashMap<String, String>(); | ||||||
|  |         Map<String, Object> localVarFormParams = new HashMap<String, Object>(); | ||||||
|  | 
 | ||||||
|  |         final String[] localVarAccepts = { | ||||||
|  |         }; | ||||||
|  |         final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); | ||||||
|  |         if (localVarAccept != null) { | ||||||
|  |             localVarHeaderParams.put("Accept", localVarAccept); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         final String[] localVarContentTypes = { | ||||||
|  |             "application/json" | ||||||
|  |         }; | ||||||
|  |         final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); | ||||||
|  |         if (localVarContentType != null) { | ||||||
|  |             localVarHeaderParams.put("Content-Type", localVarContentType); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         String[] localVarAuthNames = new String[] {  }; | ||||||
|  |         return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @SuppressWarnings("rawtypes") | ||||||
|  |     private okhttp3.Call myExamplePostValidateBeforeCall(MyExamplePostRequest myExamplePostRequest, final ApiCallback _callback) throws ApiException { | ||||||
|  |         return myExamplePostCall(myExamplePostRequest, _callback); | ||||||
|  | 
 | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      *  | ||||||
|  |      *  | ||||||
|  |      * @param myExamplePostRequest  (optional) | ||||||
|  |      * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body | ||||||
|  |      * @http.response.details | ||||||
|  |      <table summary="Response Details" border="1"> | ||||||
|  |         <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr> | ||||||
|  |         <tr><td> 200 </td><td> OK </td><td>  -  </td></tr> | ||||||
|  |      </table> | ||||||
|  |      */ | ||||||
|  |     public void myExamplePost(MyExamplePostRequest myExamplePostRequest) throws ApiException { | ||||||
|  |         myExamplePostWithHttpInfo(myExamplePostRequest); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      *  | ||||||
|  |      *  | ||||||
|  |      * @param myExamplePostRequest  (optional) | ||||||
|  |      * @return ApiResponse<Void> | ||||||
|  |      * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body | ||||||
|  |      * @http.response.details | ||||||
|  |      <table summary="Response Details" border="1"> | ||||||
|  |         <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr> | ||||||
|  |         <tr><td> 200 </td><td> OK </td><td>  -  </td></tr> | ||||||
|  |      </table> | ||||||
|  |      */ | ||||||
|  |     public ApiResponse<Void> myExamplePostWithHttpInfo(MyExamplePostRequest myExamplePostRequest) throws ApiException { | ||||||
|  |         okhttp3.Call localVarCall = myExamplePostValidateBeforeCall(myExamplePostRequest, null); | ||||||
|  |         return localVarApiClient.execute(localVarCall); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      *  (asynchronously) | ||||||
|  |      *  | ||||||
|  |      * @param myExamplePostRequest  (optional) | ||||||
|  |      * @param _callback The callback to be executed when the API call finishes | ||||||
|  |      * @return The request call | ||||||
|  |      * @throws ApiException If fail to process the API call, e.g. serializing the request body object | ||||||
|  |      * @http.response.details | ||||||
|  |      <table summary="Response Details" border="1"> | ||||||
|  |         <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr> | ||||||
|  |         <tr><td> 200 </td><td> OK </td><td>  -  </td></tr> | ||||||
|  |      </table> | ||||||
|  |      */ | ||||||
|  |     public okhttp3.Call myExamplePostAsync(MyExamplePostRequest myExamplePostRequest, final ApiCallback<Void> _callback) throws ApiException { | ||||||
|  | 
 | ||||||
|  |         okhttp3.Call localVarCall = myExamplePostValidateBeforeCall(myExamplePostRequest, _callback); | ||||||
|  |         localVarApiClient.executeAsync(localVarCall, _callback); | ||||||
|  |         return localVarCall; | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -0,0 +1,80 @@ | |||||||
|  | /* | ||||||
|  |  * oneOf two primitives | ||||||
|  |  * oneOf with two entries of type string, see https://github.com/OpenAPITools/openapi-generator/issues/10450 | ||||||
|  |  * | ||||||
|  |  * The version of the OpenAPI document: 1.0.0 | ||||||
|  |  *  | ||||||
|  |  * | ||||||
|  |  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||||||
|  |  * https://openapi-generator.tech | ||||||
|  |  * Do not edit the class manually. | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | package org.openapitools.client.auth; | ||||||
|  | 
 | ||||||
|  | import org.openapitools.client.ApiException; | ||||||
|  | import org.openapitools.client.Pair; | ||||||
|  | 
 | ||||||
|  | import java.net.URI; | ||||||
|  | import java.util.Map; | ||||||
|  | import java.util.List; | ||||||
|  | 
 | ||||||
|  | @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") | ||||||
|  | public class ApiKeyAuth implements Authentication { | ||||||
|  |   private final String location; | ||||||
|  |   private final String paramName; | ||||||
|  | 
 | ||||||
|  |   private String apiKey; | ||||||
|  |   private String apiKeyPrefix; | ||||||
|  | 
 | ||||||
|  |   public ApiKeyAuth(String location, String paramName) { | ||||||
|  |     this.location = location; | ||||||
|  |     this.paramName = paramName; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   public String getLocation() { | ||||||
|  |     return location; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   public String getParamName() { | ||||||
|  |     return paramName; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   public String getApiKey() { | ||||||
|  |     return apiKey; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   public void setApiKey(String apiKey) { | ||||||
|  |     this.apiKey = apiKey; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   public String getApiKeyPrefix() { | ||||||
|  |     return apiKeyPrefix; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   public void setApiKeyPrefix(String apiKeyPrefix) { | ||||||
|  |     this.apiKeyPrefix = apiKeyPrefix; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   @Override | ||||||
|  |   public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams, | ||||||
|  |                            String payload, String method, URI uri) throws ApiException { | ||||||
|  |     if (apiKey == null) { | ||||||
|  |       return; | ||||||
|  |     } | ||||||
|  |     String value; | ||||||
|  |     if (apiKeyPrefix != null) { | ||||||
|  |       value = apiKeyPrefix + " " + apiKey; | ||||||
|  |     } else { | ||||||
|  |       value = apiKey; | ||||||
|  |     } | ||||||
|  |     if ("query".equals(location)) { | ||||||
|  |       queryParams.add(new Pair(paramName, value)); | ||||||
|  |     } else if ("header".equals(location)) { | ||||||
|  |       headerParams.put(paramName, value); | ||||||
|  |     } else if ("cookie".equals(location)) { | ||||||
|  |       cookieParams.put(paramName, value); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
| @ -0,0 +1,36 @@ | |||||||
|  | /* | ||||||
|  |  * oneOf two primitives | ||||||
|  |  * oneOf with two entries of type string, see https://github.com/OpenAPITools/openapi-generator/issues/10450 | ||||||
|  |  * | ||||||
|  |  * The version of the OpenAPI document: 1.0.0 | ||||||
|  |  *  | ||||||
|  |  * | ||||||
|  |  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||||||
|  |  * https://openapi-generator.tech | ||||||
|  |  * Do not edit the class manually. | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | package org.openapitools.client.auth; | ||||||
|  | 
 | ||||||
|  | import org.openapitools.client.Pair; | ||||||
|  | import org.openapitools.client.ApiException; | ||||||
|  | 
 | ||||||
|  | import java.net.URI; | ||||||
|  | import java.util.Map; | ||||||
|  | import java.util.List; | ||||||
|  | 
 | ||||||
|  | public interface Authentication { | ||||||
|  |     /** | ||||||
|  |      * Apply authentication settings to header and query params. | ||||||
|  |      * | ||||||
|  |      * @param queryParams List of query parameters | ||||||
|  |      * @param headerParams Map of header parameters | ||||||
|  |      * @param cookieParams Map of cookie parameters | ||||||
|  |      * @param payload HTTP request body | ||||||
|  |      * @param method HTTP method | ||||||
|  |      * @param uri URI | ||||||
|  |      * @throws ApiException if failed to update the parameters | ||||||
|  |      */ | ||||||
|  |     void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams, String payload, String method, URI uri) throws ApiException; | ||||||
|  | } | ||||||
| @ -0,0 +1,57 @@ | |||||||
|  | /* | ||||||
|  |  * oneOf two primitives | ||||||
|  |  * oneOf with two entries of type string, see https://github.com/OpenAPITools/openapi-generator/issues/10450 | ||||||
|  |  * | ||||||
|  |  * The version of the OpenAPI document: 1.0.0 | ||||||
|  |  *  | ||||||
|  |  * | ||||||
|  |  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||||||
|  |  * https://openapi-generator.tech | ||||||
|  |  * Do not edit the class manually. | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | package org.openapitools.client.auth; | ||||||
|  | 
 | ||||||
|  | import org.openapitools.client.Pair; | ||||||
|  | import org.openapitools.client.ApiException; | ||||||
|  | 
 | ||||||
|  | import okhttp3.Credentials; | ||||||
|  | 
 | ||||||
|  | import java.net.URI; | ||||||
|  | import java.util.Map; | ||||||
|  | import java.util.List; | ||||||
|  | 
 | ||||||
|  | import java.io.UnsupportedEncodingException; | ||||||
|  | 
 | ||||||
|  | public class HttpBasicAuth implements Authentication { | ||||||
|  |     private String username; | ||||||
|  |     private String password; | ||||||
|  | 
 | ||||||
|  |     public String getUsername() { | ||||||
|  |         return username; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public void setUsername(String username) { | ||||||
|  |         this.username = username; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public String getPassword() { | ||||||
|  |         return password; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public void setPassword(String password) { | ||||||
|  |         this.password = password; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Override | ||||||
|  |     public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams, | ||||||
|  |                               String payload, String method, URI uri) throws ApiException { | ||||||
|  |         if (username == null && password == null) { | ||||||
|  |             return; | ||||||
|  |         } | ||||||
|  |         headerParams.put("Authorization", Credentials.basic( | ||||||
|  |             username == null ? "" : username, | ||||||
|  |             password == null ? "" : password)); | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -0,0 +1,63 @@ | |||||||
|  | /* | ||||||
|  |  * oneOf two primitives | ||||||
|  |  * oneOf with two entries of type string, see https://github.com/OpenAPITools/openapi-generator/issues/10450 | ||||||
|  |  * | ||||||
|  |  * The version of the OpenAPI document: 1.0.0 | ||||||
|  |  *  | ||||||
|  |  * | ||||||
|  |  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||||||
|  |  * https://openapi-generator.tech | ||||||
|  |  * Do not edit the class manually. | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | package org.openapitools.client.auth; | ||||||
|  | 
 | ||||||
|  | import org.openapitools.client.ApiException; | ||||||
|  | import org.openapitools.client.Pair; | ||||||
|  | 
 | ||||||
|  | import java.net.URI; | ||||||
|  | import java.util.Map; | ||||||
|  | import java.util.List; | ||||||
|  | 
 | ||||||
|  | @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") | ||||||
|  | public class HttpBearerAuth implements Authentication { | ||||||
|  |   private final String scheme; | ||||||
|  |   private String bearerToken; | ||||||
|  | 
 | ||||||
|  |   public HttpBearerAuth(String scheme) { | ||||||
|  |     this.scheme = scheme; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   /** | ||||||
|  |    * Gets the token, which together with the scheme, will be sent as the value of the Authorization header. | ||||||
|  |    * | ||||||
|  |    * @return The bearer token | ||||||
|  |    */ | ||||||
|  |   public String getBearerToken() { | ||||||
|  |     return bearerToken; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   /** | ||||||
|  |    * Sets the token, which together with the scheme, will be sent as the value of the Authorization header. | ||||||
|  |    * | ||||||
|  |    * @param bearerToken The bearer token to send in the Authorization header | ||||||
|  |    */ | ||||||
|  |   public void setBearerToken(String bearerToken) { | ||||||
|  |     this.bearerToken = bearerToken; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   @Override | ||||||
|  |   public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams, | ||||||
|  |                             String payload, String method, URI uri) throws ApiException { | ||||||
|  |     if (bearerToken == null) { | ||||||
|  |       return; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     headerParams.put("Authorization", (scheme != null ? upperCaseBearer(scheme) + " " : "") + bearerToken); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   private static String upperCaseBearer(String scheme) { | ||||||
|  |     return ("bearer".equalsIgnoreCase(scheme)) ? "Bearer" : scheme; | ||||||
|  |   } | ||||||
|  | } | ||||||
| @ -0,0 +1,148 @@ | |||||||
|  | /* | ||||||
|  |  * oneOf two primitives | ||||||
|  |  * oneOf with two entries of type string, see https://github.com/OpenAPITools/openapi-generator/issues/10450 | ||||||
|  |  * | ||||||
|  |  * The version of the OpenAPI document: 1.0.0 | ||||||
|  |  *  | ||||||
|  |  * | ||||||
|  |  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||||||
|  |  * https://openapi-generator.tech | ||||||
|  |  * Do not edit the class manually. | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | package org.openapitools.client.model; | ||||||
|  | 
 | ||||||
|  | import org.openapitools.client.ApiException; | ||||||
|  | import java.util.Objects; | ||||||
|  | import java.lang.reflect.Type; | ||||||
|  | import java.util.Map; | ||||||
|  | 
 | ||||||
|  | //import com.fasterxml.jackson.annotation.JsonValue; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * Abstract class for oneOf,anyOf schemas defined in OpenAPI spec | ||||||
|  |  */ | ||||||
|  | @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") | ||||||
|  | public abstract class AbstractOpenApiSchema { | ||||||
|  | 
 | ||||||
|  |     // store the actual instance of the schema/object | ||||||
|  |     private Object instance; | ||||||
|  | 
 | ||||||
|  |     // is nullable | ||||||
|  |     private Boolean isNullable; | ||||||
|  | 
 | ||||||
|  |     // schema type (e.g. oneOf, anyOf) | ||||||
|  |     private final String schemaType; | ||||||
|  | 
 | ||||||
|  |     public AbstractOpenApiSchema(String schemaType, Boolean isNullable) { | ||||||
|  |         this.schemaType = schemaType; | ||||||
|  |         this.isNullable = isNullable; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * Get the list of oneOf/anyOf composed schemas allowed to be stored in this object | ||||||
|  |      * | ||||||
|  |      * @return an instance of the actual schema/object | ||||||
|  |      */ | ||||||
|  |     public abstract Map<String, Class<?>> getSchemas(); | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * Get the actual instance | ||||||
|  |      * | ||||||
|  |      * @return an instance of the actual schema/object | ||||||
|  |      */ | ||||||
|  |     //@JsonValue | ||||||
|  |     public Object getActualInstance() {return instance;} | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * Set the actual instance | ||||||
|  |      * | ||||||
|  |      * @param instance the actual instance of the schema/object | ||||||
|  |      */ | ||||||
|  |     public void setActualInstance(Object instance) {this.instance = instance;} | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * Get the instant recursively when the schemas defined in oneOf/anyof happen to be oneOf/anyOf schema as well | ||||||
|  |      * | ||||||
|  |      * @return an instance of the actual schema/object | ||||||
|  |      */ | ||||||
|  |     public Object getActualInstanceRecursively() { | ||||||
|  |         return getActualInstanceRecursively(this); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     private Object getActualInstanceRecursively(AbstractOpenApiSchema object) { | ||||||
|  |         if (object.getActualInstance() == null) { | ||||||
|  |             return null; | ||||||
|  |         } else if (object.getActualInstance() instanceof AbstractOpenApiSchema) { | ||||||
|  |             return getActualInstanceRecursively((AbstractOpenApiSchema)object.getActualInstance()); | ||||||
|  |         } else { | ||||||
|  |             return object.getActualInstance(); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * Get the schema type (e.g. anyOf, oneOf) | ||||||
|  |      * | ||||||
|  |      * @return the schema type | ||||||
|  |      */ | ||||||
|  |     public String getSchemaType() { | ||||||
|  |         return schemaType; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Override | ||||||
|  |     public String toString() { | ||||||
|  |         StringBuilder sb = new StringBuilder(); | ||||||
|  |         sb.append("class ").append(getClass()).append(" {\n"); | ||||||
|  |         sb.append("    instance: ").append(toIndentedString(instance)).append("\n"); | ||||||
|  |         sb.append("    isNullable: ").append(toIndentedString(isNullable)).append("\n"); | ||||||
|  |         sb.append("    schemaType: ").append(toIndentedString(schemaType)).append("\n"); | ||||||
|  |         sb.append("}"); | ||||||
|  |         return sb.toString(); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * Convert the given object to string with each line indented by 4 spaces | ||||||
|  |      * (except the first line). | ||||||
|  |      */ | ||||||
|  |     private String toIndentedString(Object o) { | ||||||
|  |         if (o == null) { | ||||||
|  |             return "null"; | ||||||
|  |         } | ||||||
|  |         return o.toString().replace("\n", "\n    "); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public boolean equals(Object o) { | ||||||
|  |         if (this == o) { | ||||||
|  |             return true; | ||||||
|  |         } | ||||||
|  |         if (o == null || getClass() != o.getClass()) { | ||||||
|  |             return false; | ||||||
|  |         } | ||||||
|  |         AbstractOpenApiSchema a = (AbstractOpenApiSchema) o; | ||||||
|  |         return Objects.equals(this.instance, a.instance) && | ||||||
|  |             Objects.equals(this.isNullable, a.isNullable) && | ||||||
|  |             Objects.equals(this.schemaType, a.schemaType); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Override | ||||||
|  |     public int hashCode() { | ||||||
|  |         return Objects.hash(instance, isNullable, schemaType); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * Is nullable | ||||||
|  |      * | ||||||
|  |      * @return true if it's nullable | ||||||
|  |      */ | ||||||
|  |     public Boolean isNullable() { | ||||||
|  |         if (Boolean.TRUE.equals(isNullable)) { | ||||||
|  |             return Boolean.TRUE; | ||||||
|  |         } else { | ||||||
|  |             return Boolean.FALSE; | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,225 @@ | |||||||
|  | /* | ||||||
|  |  * oneOf two primitives | ||||||
|  |  * oneOf with two entries of type string, see https://github.com/OpenAPITools/openapi-generator/issues/10450 | ||||||
|  |  * | ||||||
|  |  * The version of the OpenAPI document: 1.0.0 | ||||||
|  |  *  | ||||||
|  |  * | ||||||
|  |  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||||||
|  |  * https://openapi-generator.tech | ||||||
|  |  * Do not edit the class manually. | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | package org.openapitools.client.model; | ||||||
|  | 
 | ||||||
|  | import java.util.Objects; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | import java.io.IOException; | ||||||
|  | import java.lang.reflect.Type; | ||||||
|  | import java.util.logging.Level; | ||||||
|  | import java.util.logging.Logger; | ||||||
|  | import java.util.ArrayList; | ||||||
|  | import java.util.Collections; | ||||||
|  | import java.util.HashSet; | ||||||
|  | import java.util.HashMap; | ||||||
|  | import java.util.List; | ||||||
|  | import java.util.Map; | ||||||
|  | 
 | ||||||
|  | import com.google.gson.Gson; | ||||||
|  | import com.google.gson.GsonBuilder; | ||||||
|  | import com.google.gson.JsonParseException; | ||||||
|  | import com.google.gson.TypeAdapter; | ||||||
|  | import com.google.gson.TypeAdapterFactory; | ||||||
|  | import com.google.gson.reflect.TypeToken; | ||||||
|  | import com.google.gson.JsonPrimitive; | ||||||
|  | import com.google.gson.annotations.JsonAdapter; | ||||||
|  | import com.google.gson.annotations.SerializedName; | ||||||
|  | import com.google.gson.stream.JsonReader; | ||||||
|  | import com.google.gson.stream.JsonWriter; | ||||||
|  | import com.google.gson.JsonDeserializationContext; | ||||||
|  | import com.google.gson.JsonDeserializer; | ||||||
|  | import com.google.gson.JsonSerializationContext; | ||||||
|  | import com.google.gson.JsonSerializer; | ||||||
|  | import com.google.gson.JsonElement; | ||||||
|  | import com.google.gson.JsonObject; | ||||||
|  | import com.google.gson.JsonArray; | ||||||
|  | import com.google.gson.JsonParseException; | ||||||
|  | 
 | ||||||
|  | import org.openapitools.client.JSON; | ||||||
|  | 
 | ||||||
|  | @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") | ||||||
|  | public class MyExamplePostRequest extends AbstractOpenApiSchema { | ||||||
|  |     private static final Logger log = Logger.getLogger(MyExamplePostRequest.class.getName()); | ||||||
|  | 
 | ||||||
|  |     public static class CustomTypeAdapterFactory implements TypeAdapterFactory { | ||||||
|  |         @SuppressWarnings("unchecked") | ||||||
|  |         @Override | ||||||
|  |         public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> type) { | ||||||
|  |             if (!MyExamplePostRequest.class.isAssignableFrom(type.getRawType())) { | ||||||
|  |                 return null; // this class only serializes 'MyExamplePostRequest' and its subtypes | ||||||
|  |             } | ||||||
|  |             final TypeAdapter<JsonElement> elementAdapter = gson.getAdapter(JsonElement.class); | ||||||
|  |             final TypeAdapter<String> adapterString = gson.getDelegateAdapter(this, TypeToken.get(String.class)); | ||||||
|  | 
 | ||||||
|  |             return (TypeAdapter<T>) new TypeAdapter<MyExamplePostRequest>() { | ||||||
|  |                 @Override | ||||||
|  |                 public void write(JsonWriter out, MyExamplePostRequest value) throws IOException { | ||||||
|  |                     if (value == null || value.getActualInstance() == null) { | ||||||
|  |                         elementAdapter.write(out, null); | ||||||
|  |                         return; | ||||||
|  |                     } | ||||||
|  | 
 | ||||||
|  |                     // check if the actual instance is of the type `String` | ||||||
|  |                     if (value.getActualInstance() instanceof String) { | ||||||
|  |                       JsonPrimitive primitive = adapterString.toJsonTree((String)value.getActualInstance()).getAsJsonPrimitive(); | ||||||
|  |                       elementAdapter.write(out, primitive); | ||||||
|  |                       return; | ||||||
|  |                     } | ||||||
|  |                     throw new IOException("Failed to serialize as the type doesn't match oneOf schemas: String"); | ||||||
|  |                 } | ||||||
|  | 
 | ||||||
|  |                 @Override | ||||||
|  |                 public MyExamplePostRequest read(JsonReader in) throws IOException { | ||||||
|  |                     Object deserialized = null; | ||||||
|  |                     JsonElement jsonElement = elementAdapter.read(in); | ||||||
|  | 
 | ||||||
|  |                     int match = 0; | ||||||
|  |                     ArrayList<String> errorMessages = new ArrayList<>(); | ||||||
|  |                     TypeAdapter actualAdapter = elementAdapter; | ||||||
|  | 
 | ||||||
|  |                     // deserialize String | ||||||
|  |                     try { | ||||||
|  |                       // validate the JSON object to see if any exception is thrown | ||||||
|  |                       if(!jsonElement.getAsJsonPrimitive().isString()) { | ||||||
|  |                         throw new IllegalArgumentException(String.format("Expected json element to be of type String in the JSON string but got `%s`", jsonElement.toString())); | ||||||
|  |                       } | ||||||
|  |                       actualAdapter = adapterString; | ||||||
|  |                       match++; | ||||||
|  |                       log.log(Level.FINER, "Input data matches schema 'String'"); | ||||||
|  |                     } catch (Exception e) { | ||||||
|  |                       // deserialization failed, continue | ||||||
|  |                       errorMessages.add(String.format("Deserialization for String failed with `%s`.", e.getMessage())); | ||||||
|  |                       log.log(Level.FINER, "Input data does not match schema 'String'", e); | ||||||
|  |                     } | ||||||
|  | 
 | ||||||
|  |                     if (match == 1) { | ||||||
|  |                         MyExamplePostRequest ret = new MyExamplePostRequest(); | ||||||
|  |                         ret.setActualInstance(actualAdapter.fromJsonTree(jsonElement)); | ||||||
|  |                         return ret; | ||||||
|  |                     } | ||||||
|  | 
 | ||||||
|  |                     throw new IOException(String.format("Failed deserialization for MyExamplePostRequest: %d classes match result, expected 1. Detailed failure message for oneOf schemas: %s. JSON: %s", match, errorMessages, jsonElement.toString())); | ||||||
|  |                 } | ||||||
|  |             }.nullSafe(); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     // store a list of schema names defined in oneOf | ||||||
|  |     public static final Map<String, Class<?>> schemas = new HashMap<String, Class<?>>(); | ||||||
|  | 
 | ||||||
|  |     public MyExamplePostRequest() { | ||||||
|  |         super("oneOf", Boolean.FALSE); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public MyExamplePostRequest(String o) { | ||||||
|  |         super("oneOf", Boolean.FALSE); | ||||||
|  |         setActualInstance(o); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     static { | ||||||
|  |         schemas.put("String", String.class); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Override | ||||||
|  |     public Map<String, Class<?>> getSchemas() { | ||||||
|  |         return MyExamplePostRequest.schemas; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * Set the instance that matches the oneOf child schema, check | ||||||
|  |      * the instance parameter is valid against the oneOf child schemas: | ||||||
|  |      * String | ||||||
|  |      * | ||||||
|  |      * It could be an instance of the 'oneOf' schemas. | ||||||
|  |      */ | ||||||
|  |     @Override | ||||||
|  |     public void setActualInstance(Object instance) { | ||||||
|  |         if (instance instanceof String) { | ||||||
|  |             super.setActualInstance(instance); | ||||||
|  |             return; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         throw new RuntimeException("Invalid instance type. Must be String"); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * Get the actual instance, which can be the following: | ||||||
|  |      * String | ||||||
|  |      * | ||||||
|  |      * @return The actual instance (String) | ||||||
|  |      */ | ||||||
|  |     @Override | ||||||
|  |     public Object getActualInstance() { | ||||||
|  |         return super.getActualInstance(); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * Get the actual instance of `String`. If the actual instance is not `String`, | ||||||
|  |      * the ClassCastException will be thrown. | ||||||
|  |      * | ||||||
|  |      * @return The actual instance of `String` | ||||||
|  |      * @throws ClassCastException if the instance is not `String` | ||||||
|  |      */ | ||||||
|  |     public String getString() throws ClassCastException { | ||||||
|  |         return (String)super.getActualInstance(); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |  /** | ||||||
|  |   * Validates the JSON Element and throws an exception if issues found | ||||||
|  |   * | ||||||
|  |   * @param jsonElement JSON Element | ||||||
|  |   * @throws IOException if the JSON Element is invalid with respect to MyExamplePostRequest | ||||||
|  |   */ | ||||||
|  |   public static void validateJsonElement(JsonElement jsonElement) throws IOException { | ||||||
|  |     // validate oneOf schemas one by one | ||||||
|  |     int validCount = 0; | ||||||
|  |     ArrayList<String> errorMessages = new ArrayList<>(); | ||||||
|  |     // validate the json string with String | ||||||
|  |     try { | ||||||
|  |       if(!jsonElement.getAsJsonPrimitive().isString()) { | ||||||
|  |         throw new IllegalArgumentException(String.format("Expected json element to be of type String in the JSON string but got `%s`", jsonElement.toString())); | ||||||
|  |       } | ||||||
|  |       validCount++; | ||||||
|  |     } catch (Exception e) { | ||||||
|  |       errorMessages.add(String.format("Deserialization for String failed with `%s`.", e.getMessage())); | ||||||
|  |       // continue to the next one | ||||||
|  |     } | ||||||
|  |     if (validCount != 1) { | ||||||
|  |       throw new IOException(String.format("The JSON string is invalid for MyExamplePostRequest with oneOf schemas: String. %d class(es) match the result, expected 1. Detailed failure message for oneOf schemas: %s. JSON: %s", validCount, errorMessages, jsonElement.toString())); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |  /** | ||||||
|  |   * Create an instance of MyExamplePostRequest given an JSON string | ||||||
|  |   * | ||||||
|  |   * @param jsonString JSON string | ||||||
|  |   * @return An instance of MyExamplePostRequest | ||||||
|  |   * @throws IOException if the JSON string is invalid with respect to MyExamplePostRequest | ||||||
|  |   */ | ||||||
|  |   public static MyExamplePostRequest fromJson(String jsonString) throws IOException { | ||||||
|  |     return JSON.getGson().fromJson(jsonString, MyExamplePostRequest.class); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |  /** | ||||||
|  |   * Convert an instance of MyExamplePostRequest to an JSON string | ||||||
|  |   * | ||||||
|  |   * @return JSON string | ||||||
|  |   */ | ||||||
|  |   public String toJson() { | ||||||
|  |     return JSON.getGson().toJson(this); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
| @ -0,0 +1,44 @@ | |||||||
|  | /* | ||||||
|  |  * oneOf two primitives | ||||||
|  |  * oneOf with two entries of type string, see https://github.com/OpenAPITools/openapi-generator/issues/10450 | ||||||
|  |  * | ||||||
|  |  * The version of the OpenAPI document: 1.0.0 | ||||||
|  |  *  | ||||||
|  |  * | ||||||
|  |  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||||||
|  |  * https://openapi-generator.tech | ||||||
|  |  * Do not edit the class manually. | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | package org.openapitools.client.api; | ||||||
|  | 
 | ||||||
|  | import org.openapitools.client.ApiException; | ||||||
|  | import org.openapitools.client.model.MyExamplePostRequest; | ||||||
|  | import org.junit.jupiter.api.Disabled; | ||||||
|  | import org.junit.jupiter.api.Test; | ||||||
|  | 
 | ||||||
|  | import java.util.ArrayList; | ||||||
|  | import java.util.HashMap; | ||||||
|  | import java.util.List; | ||||||
|  | import java.util.Map; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * API tests for DefaultApi | ||||||
|  |  */ | ||||||
|  | @Disabled | ||||||
|  | public class DefaultApiTest { | ||||||
|  | 
 | ||||||
|  |     private final DefaultApi api = new DefaultApi(); | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * @throws ApiException if the Api call fails | ||||||
|  |      */ | ||||||
|  |     @Test | ||||||
|  |     public void myExamplePostTest() throws ApiException { | ||||||
|  |         MyExamplePostRequest myExamplePostRequest = null; | ||||||
|  |         api.myExamplePost(myExamplePostRequest); | ||||||
|  |         // TODO: test validations | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,33 @@ | |||||||
|  | /* | ||||||
|  |  * oneOf two primitives | ||||||
|  |  * oneOf with two entries of type string, see https://github.com/OpenAPITools/openapi-generator/issues/10450 | ||||||
|  |  * | ||||||
|  |  * The version of the OpenAPI document: 1.0.0 | ||||||
|  |  *  | ||||||
|  |  * | ||||||
|  |  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||||||
|  |  * https://openapi-generator.tech | ||||||
|  |  * Do not edit the class manually. | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | package org.openapitools.client.model; | ||||||
|  | 
 | ||||||
|  | import org.junit.jupiter.api.Disabled; | ||||||
|  | import org.junit.jupiter.api.Test; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * Model tests for MyExamplePostRequest | ||||||
|  |  */ | ||||||
|  | public class MyExamplePostRequestTest { | ||||||
|  |     private final MyExamplePostRequest model = new MyExamplePostRequest(); | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * Model tests for MyExamplePostRequest | ||||||
|  |      */ | ||||||
|  |     @Test | ||||||
|  |     public void testMyExamplePostRequest() { | ||||||
|  |         // TODO: test MyExamplePostRequest | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | } | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user