From 807ee4bea72db9e2529170c3f4c5b926faae8494 Mon Sep 17 00:00:00 2001 From: Justin Black Date: Tue, 5 Mar 2024 11:48:27 -0800 Subject: [PATCH 01/29] Renames path item schema in java client to routeschema --- .../petstore/java/.openapi-generator/FILES | 6 +- .../routeparameter0/PathParamSchema0.md | 96 +++++++++++++++++++ .../routeparameter0/RouteParamSchema0.md | 96 +++++++++++++++++++ .../commonparamsubdir/get/PathParameters.java | 6 +- .../{Parameter0.java => RouteParameter0.java} | 10 +- .../RouteParamSchema0.java} | 30 +++--- .../post/PathParameters.java | 6 +- .../codegen/generators/DefaultGenerator.java | 1 + .../generators/JavaClientGenerator.java | 19 +++- 9 files changed, 236 insertions(+), 34 deletions(-) create mode 100644 samples/client/petstore/java/docs/paths/commonparamsubdir/parameters/routeparameter0/PathParamSchema0.md create mode 100644 samples/client/petstore/java/docs/paths/commonparamsubdir/parameters/routeparameter0/RouteParamSchema0.md rename samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/parameters/{Parameter0.java => RouteParameter0.java} (69%) rename samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/parameters/{parameter0/PathParamSchema0.java => routeparameter0/RouteParamSchema0.java} (74%) diff --git a/samples/client/petstore/java/.openapi-generator/FILES b/samples/client/petstore/java/.openapi-generator/FILES index b83f4c06c88..3b9c01b2824 100644 --- a/samples/client/petstore/java/.openapi-generator/FILES +++ b/samples/client/petstore/java/.openapi-generator/FILES @@ -191,7 +191,7 @@ docs/paths/anotherfakedummy/patch/responses/code200response/content/applicationj docs/paths/commonparamsubdir/delete/parameters/parameter0/Schema0.md docs/paths/commonparamsubdir/delete/parameters/parameter1/Schema1.md docs/paths/commonparamsubdir/get/parameters/parameter0/Schema0.md -docs/paths/commonparamsubdir/parameters/parameter0/PathParamSchema0.md +docs/paths/commonparamsubdir/parameters/routeparameter0/RouteParamSchema0.md docs/paths/commonparamsubdir/post/parameters/parameter0/Schema0.md docs/paths/fake/delete/parameters/parameter0/Schema0.md docs/paths/fake/delete/parameters/parameter1/Schema1.md @@ -586,8 +586,8 @@ src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/Resp src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/parameters/parameter0/Schema0.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/responses/Code200Response.java -src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/parameters/Parameter0.java -src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/parameters/parameter0/PathParamSchema0.java +src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/parameters/RouteParameter0.java +src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/parameters/routeparameter0/RouteParamSchema0.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/HeaderParameters.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/PathParameters.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/Responses.java diff --git a/samples/client/petstore/java/docs/paths/commonparamsubdir/parameters/routeparameter0/PathParamSchema0.md b/samples/client/petstore/java/docs/paths/commonparamsubdir/parameters/routeparameter0/PathParamSchema0.md new file mode 100644 index 00000000000..88e05b5d341 --- /dev/null +++ b/samples/client/petstore/java/docs/paths/commonparamsubdir/parameters/routeparameter0/PathParamSchema0.md @@ -0,0 +1,96 @@ +# PathParamSchema0 +public class PathParamSchema0
+ +A class that contains necessary nested +- schema classes (which validate payloads), extends JsonSchema +- sealed interfaces which store validated payloads, java version of a sum type +- boxed classes which store validated payloads, sealed permits class implementations +- enum classes + +## Nested Class Summary +| Modifier and Type | Class and Description | +| ----------------- | ---------------------- | +| sealed interface | [PathParamSchema0.PathParamSchema01Boxed](#pathparamschema01boxed)
sealed interface for validated payloads | +| record | [PathParamSchema0.PathParamSchema01BoxedString](#pathparamschema01boxedstring)
boxed class to store validated String payloads | +| static class | [PathParamSchema0.PathParamSchema01](#pathparamschema01)
schema class | +| enum | [PathParamSchema0.StringPathParamSchemaEnums0](#stringpathparamschemaenums0)
String enum | + +## PathParamSchema01Boxed +public sealed interface PathParamSchema01Boxed
+permits
+[PathParamSchema01BoxedString](#pathparamschema01boxedstring) + +sealed interface that stores validated payloads using boxed classes + +## PathParamSchema01BoxedString +public record PathParamSchema01BoxedString
+implements [PathParamSchema01Boxed](#pathparamschema01boxed) + +record that stores validated String payloads, sealed permits implementation + +### Constructor Summary +| Constructor and Description | +| --------------------------- | +| PathParamSchema01BoxedString(String data)
Creates an instance, private visibility | + +### Method Summary +| Modifier and Type | Method and Description | +| ----------------- | ---------------------- | +| String | data()
validated payload | +| @Nullable Object | getData()
validated payload | + +## PathParamSchema01 +public static class PathParamSchema01
+extends JsonSchema + +A schema class that validates payloads + +### Code Sample +``` +import org.openapijsonschematools.client.configurations.JsonSchemaKeywordFlags; +import org.openapijsonschematools.client.configurations.SchemaConfiguration; +import org.openapijsonschematools.client.exceptions.ValidationException; +import org.openapijsonschematools.client.schemas.validation.MapUtils; +import org.openapijsonschematools.client.schemas.validation.FrozenList; +import org.openapijsonschematools.client.schemas.validation.FrozenMap; +import org.openapijsonschematools.client.paths.commonparamsubdir.parameters.routeparameter0.PathParamSchema0; + +import java.util.Arrays; +import java.util.List; +import java.util.AbstractMap; + +static final SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); + +// String validation +String validatedPayload = PathParamSchema0.PathParamSchema01.validate( + "a", + configuration +); +``` + +### Field Summary +| Modifier and Type | Field and Description | +| ----------------- | ---------------------- | +| Set> | type = Set.of(
    String.class
)
| +| Set | enumValues = SetMaker.makeSet(
    "a",
    "b"
)
| + +### Method Summary +| Modifier and Type | Method and Description | +| ----------------- | ---------------------- | +| String | validate(String arg, SchemaConfiguration configuration) | +| String | validate([StringPathParamSchemaEnums0](#stringpathparamschemaenums0) arg, SchemaConfiguration configuration) | +| [PathParamSchema01BoxedString](#pathparamschema01boxedstring) | validateAndBox(String arg, SchemaConfiguration configuration) | +| [PathParamSchema01Boxed](#pathparamschema01boxed) | validateAndBox(@Nullable Object arg, SchemaConfiguration configuration) | +| @Nullable Object | validate(@Nullable Object arg, SchemaConfiguration configuration) | + +## StringPathParamSchemaEnums0 +public enum StringPathParamSchemaEnums0
+extends `Enum` + +A class that stores String enum values + +### Enum Constant Summary +| Enum Constant | Description | +| ------------- | ----------- | +| A | value = "a" | +| B | value = "b" | diff --git a/samples/client/petstore/java/docs/paths/commonparamsubdir/parameters/routeparameter0/RouteParamSchema0.md b/samples/client/petstore/java/docs/paths/commonparamsubdir/parameters/routeparameter0/RouteParamSchema0.md new file mode 100644 index 00000000000..f298271d6d5 --- /dev/null +++ b/samples/client/petstore/java/docs/paths/commonparamsubdir/parameters/routeparameter0/RouteParamSchema0.md @@ -0,0 +1,96 @@ +# RouteParamSchema0 +public class RouteParamSchema0
+ +A class that contains necessary nested +- schema classes (which validate payloads), extends JsonSchema +- sealed interfaces which store validated payloads, java version of a sum type +- boxed classes which store validated payloads, sealed permits class implementations +- enum classes + +## Nested Class Summary +| Modifier and Type | Class and Description | +| ----------------- | ---------------------- | +| sealed interface | [RouteParamSchema0.RouteParamSchema01Boxed](#routeparamschema01boxed)
sealed interface for validated payloads | +| record | [RouteParamSchema0.RouteParamSchema01BoxedString](#routeparamschema01boxedstring)
boxed class to store validated String payloads | +| static class | [RouteParamSchema0.RouteParamSchema01](#routeparamschema01)
schema class | +| enum | [RouteParamSchema0.StringRouteParamSchemaEnums0](#stringrouteparamschemaenums0)
String enum | + +## RouteParamSchema01Boxed +public sealed interface RouteParamSchema01Boxed
+permits
+[RouteParamSchema01BoxedString](#routeparamschema01boxedstring) + +sealed interface that stores validated payloads using boxed classes + +## RouteParamSchema01BoxedString +public record RouteParamSchema01BoxedString
+implements [RouteParamSchema01Boxed](#routeparamschema01boxed) + +record that stores validated String payloads, sealed permits implementation + +### Constructor Summary +| Constructor and Description | +| --------------------------- | +| RouteParamSchema01BoxedString(String data)
Creates an instance, private visibility | + +### Method Summary +| Modifier and Type | Method and Description | +| ----------------- | ---------------------- | +| String | data()
validated payload | +| @Nullable Object | getData()
validated payload | + +## RouteParamSchema01 +public static class RouteParamSchema01
+extends JsonSchema + +A schema class that validates payloads + +### Code Sample +``` +import org.openapijsonschematools.client.configurations.JsonSchemaKeywordFlags; +import org.openapijsonschematools.client.configurations.SchemaConfiguration; +import org.openapijsonschematools.client.exceptions.ValidationException; +import org.openapijsonschematools.client.schemas.validation.MapUtils; +import org.openapijsonschematools.client.schemas.validation.FrozenList; +import org.openapijsonschematools.client.schemas.validation.FrozenMap; +import org.openapijsonschematools.client.paths.commonparamsubdir.parameters.routeparameter0.RouteParamSchema0; + +import java.util.Arrays; +import java.util.List; +import java.util.AbstractMap; + +static final SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); + +// String validation +String validatedPayload = RouteParamSchema0.RouteParamSchema01.validate( + "a", + configuration +); +``` + +### Field Summary +| Modifier and Type | Field and Description | +| ----------------- | ---------------------- | +| Set> | type = Set.of(
    String.class
)
| +| Set | enumValues = SetMaker.makeSet(
    "a",
    "b"
)
| + +### Method Summary +| Modifier and Type | Method and Description | +| ----------------- | ---------------------- | +| String | validate(String arg, SchemaConfiguration configuration) | +| String | validate([StringRouteParamSchemaEnums0](#stringrouteparamschemaenums0) arg, SchemaConfiguration configuration) | +| [RouteParamSchema01BoxedString](#routeparamschema01boxedstring) | validateAndBox(String arg, SchemaConfiguration configuration) | +| [RouteParamSchema01Boxed](#routeparamschema01boxed) | validateAndBox(@Nullable Object arg, SchemaConfiguration configuration) | +| @Nullable Object | validate(@Nullable Object arg, SchemaConfiguration configuration) | + +## StringRouteParamSchemaEnums0 +public enum StringRouteParamSchemaEnums0
+extends `Enum` + +A class that stores String enum values + +### Enum Constant Summary +| Enum Constant | Description | +| ------------- | ----------- | +| A | value = "a" | +| B | value = "b" | diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/PathParameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/PathParameters.java index 255e522a255..662156732d6 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/PathParameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/PathParameters.java @@ -13,7 +13,7 @@ import org.openapijsonschematools.client.exceptions.InvalidTypeException; import org.openapijsonschematools.client.exceptions.UnsetPropertyException; import org.openapijsonschematools.client.exceptions.ValidationException; -import org.openapijsonschematools.client.paths.commonparamsubdir.parameters.parameter0.PathParamSchema0; +import org.openapijsonschematools.client.paths.commonparamsubdir.parameters.routeparameter0.RouteParamSchema0; import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; import org.openapijsonschematools.client.schemas.GenericBuilder; import org.openapijsonschematools.client.schemas.NotAnyTypeJsonSchema; @@ -69,7 +69,7 @@ default T subDir(String value) { return getBuilderAfterSubDir(instance); } - default T subDir(PathParamSchema0.StringPathParamSchemaEnums0 value) { + default T subDir(RouteParamSchema0.StringRouteParamSchemaEnums0 value) { var instance = getInstance(); instance.put("subDir", value.value()); return getBuilderAfterSubDir(instance); @@ -125,7 +125,7 @@ protected PathParameters1() { super(new JsonSchemaInfo() .type(Set.of(Map.class)) .properties(Map.ofEntries( - new PropertyEntry("subDir", PathParamSchema0.PathParamSchema01.class) + new PropertyEntry("subDir", RouteParamSchema0.RouteParamSchema01.class) )) .required(Set.of( "subDir" diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/parameters/Parameter0.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/parameters/RouteParameter0.java similarity index 69% rename from samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/parameters/Parameter0.java rename to samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/parameters/RouteParameter0.java index 4ae8ad7e2b6..6efbea69bb2 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/parameters/Parameter0.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/parameters/RouteParameter0.java @@ -3,12 +3,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; import org.openapijsonschematools.client.parameter.SchemaNonQueryParameter; -import org.openapijsonschematools.client.paths.commonparamsubdir.parameters.parameter0.PathParamSchema0; +import org.openapijsonschematools.client.paths.commonparamsubdir.parameters.routeparameter0.RouteParamSchema0; -public class Parameter0 { +public class RouteParameter0 { - public static class Parameter01 extends SchemaNonQueryParameter { - public Parameter01() { + public static class RouteParameter01 extends SchemaNonQueryParameter { + public RouteParameter01() { super( "subDir", ParameterInType.PATH, @@ -16,7 +16,7 @@ public Parameter01() { ParameterStyle.SIMPLE, false, false, - PathParamSchema0.PathParamSchema01.getInstance() + RouteParamSchema0.RouteParamSchema01.getInstance() ); } } diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/parameters/parameter0/PathParamSchema0.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/parameters/routeparameter0/RouteParamSchema0.java similarity index 74% rename from samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/parameters/parameter0/PathParamSchema0.java rename to samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/parameters/routeparameter0/RouteParamSchema0.java index ab34e28c0a1..d8f4f419e84 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/parameters/parameter0/PathParamSchema0.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/parameters/routeparameter0/RouteParamSchema0.java @@ -1,4 +1,4 @@ -package org.openapijsonschematools.client.paths.commonparamsubdir.parameters.parameter0; +package org.openapijsonschematools.client.paths.commonparamsubdir.parameters.routeparameter0; import java.util.HashSet; import java.util.LinkedHashSet; import java.util.List; @@ -18,15 +18,15 @@ import org.openapijsonschematools.client.schemas.validation.StringValueMethod; import org.openapijsonschematools.client.schemas.validation.ValidationMetadata; -public class PathParamSchema0 { +public class RouteParamSchema0 { // nest classes so all schemas and input/output classes can be public - public enum StringPathParamSchemaEnums0 implements StringValueMethod { + public enum StringRouteParamSchemaEnums0 implements StringValueMethod { A("a"), B("b"); private final String value; - StringPathParamSchemaEnums0(String value) { + StringRouteParamSchemaEnums0(String value) { this.value = value; } public String value() { @@ -35,11 +35,11 @@ public String value() { } - public sealed interface PathParamSchema01Boxed permits PathParamSchema01BoxedString { + public sealed interface RouteParamSchema01Boxed permits RouteParamSchema01BoxedString { @Nullable Object getData(); } - public record PathParamSchema01BoxedString(String data) implements PathParamSchema01Boxed { + public record RouteParamSchema01BoxedString(String data) implements RouteParamSchema01Boxed { @Override public @Nullable Object getData() { return data; @@ -48,10 +48,10 @@ public record PathParamSchema01BoxedString(String data) implements PathParamSche - public static class PathParamSchema01 extends JsonSchema implements StringSchemaValidator, StringEnumValidator { - private static @Nullable PathParamSchema01 instance = null; + public static class RouteParamSchema01 extends JsonSchema implements StringSchemaValidator, StringEnumValidator { + private static @Nullable RouteParamSchema01 instance = null; - protected PathParamSchema01() { + protected RouteParamSchema01() { super(new JsonSchemaInfo() .type(Set.of( String.class @@ -63,9 +63,9 @@ protected PathParamSchema01() { ); } - public static PathParamSchema01 getInstance() { + public static RouteParamSchema01 getInstance() { if (instance == null) { - instance = new PathParamSchema01(); + instance = new RouteParamSchema01(); } return instance; } @@ -82,7 +82,7 @@ public String validate(String arg, SchemaConfiguration configuration) throws Val } @Override - public String validate(StringPathParamSchemaEnums0 arg,SchemaConfiguration configuration) throws ValidationException { + public String validate(StringRouteParamSchemaEnums0 arg,SchemaConfiguration configuration) throws ValidationException { return validate(arg.value(), configuration); } @@ -101,11 +101,11 @@ public String validate(StringPathParamSchemaEnums0 arg,SchemaConfiguration confi throw new InvalidTypeException("Invalid input type="+getClass(arg)+". It can't be instantiated by this schema"); } @Override - public PathParamSchema01BoxedString validateAndBox(String arg, SchemaConfiguration configuration) throws ValidationException, InvalidTypeException { - return new PathParamSchema01BoxedString(validate(arg, configuration)); + public RouteParamSchema01BoxedString validateAndBox(String arg, SchemaConfiguration configuration) throws ValidationException, InvalidTypeException { + return new RouteParamSchema01BoxedString(validate(arg, configuration)); } @Override - public PathParamSchema01Boxed validateAndBox(@Nullable Object arg, SchemaConfiguration configuration) throws ValidationException, InvalidTypeException { + public RouteParamSchema01Boxed validateAndBox(@Nullable Object arg, SchemaConfiguration configuration) throws ValidationException, InvalidTypeException { if (arg instanceof String castArg) { return validateAndBox(castArg, configuration); } diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/PathParameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/PathParameters.java index 951db208ba2..a37a27cda32 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/PathParameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/PathParameters.java @@ -13,7 +13,7 @@ import org.openapijsonschematools.client.exceptions.InvalidTypeException; import org.openapijsonschematools.client.exceptions.UnsetPropertyException; import org.openapijsonschematools.client.exceptions.ValidationException; -import org.openapijsonschematools.client.paths.commonparamsubdir.parameters.parameter0.PathParamSchema0; +import org.openapijsonschematools.client.paths.commonparamsubdir.parameters.routeparameter0.RouteParamSchema0; import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; import org.openapijsonschematools.client.schemas.GenericBuilder; import org.openapijsonschematools.client.schemas.NotAnyTypeJsonSchema; @@ -69,7 +69,7 @@ default T subDir(String value) { return getBuilderAfterSubDir(instance); } - default T subDir(PathParamSchema0.StringPathParamSchemaEnums0 value) { + default T subDir(RouteParamSchema0.StringRouteParamSchemaEnums0 value) { var instance = getInstance(); instance.put("subDir", value.value()); return getBuilderAfterSubDir(instance); @@ -125,7 +125,7 @@ protected PathParameters1() { super(new JsonSchemaInfo() .type(Set.of(Map.class)) .properties(Map.ofEntries( - new PropertyEntry("subDir", PathParamSchema0.PathParamSchema01.class) + new PropertyEntry("subDir", RouteParamSchema0.RouteParamSchema01.class) )) .required(Set.of( "subDir" diff --git a/src/main/java/org/openapijsonschematools/codegen/generators/DefaultGenerator.java b/src/main/java/org/openapijsonschematools/codegen/generators/DefaultGenerator.java index 5af15d7239b..17d47c5d8b0 100644 --- a/src/main/java/org/openapijsonschematools/codegen/generators/DefaultGenerator.java +++ b/src/main/java/org/openapijsonschematools/codegen/generators/DefaultGenerator.java @@ -2853,6 +2853,7 @@ public CodegenOperation fromOperation(Operation operation, String jsonPath, Link CodegenParameter derefParam = p.getSelfOrDeepestRef(); Pair inName = Pair.of(derefParam.in, derefParam.name); if (pathItemParameters != null && usedPathItemParameters.containsKey(inName)) { + // do not use a path item parameter if it is overridden by an operation parameter usedPathItemParameters.remove(inName); } diff --git a/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java b/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java index 662f473dc2d..55bb200bb2b 100644 --- a/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java +++ b/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java @@ -1200,7 +1200,7 @@ private String getSchemaPascalCaseName(String name, @NotNull String sourceJsonPa if (sourceJsonPath.startsWith("#/paths") && sourceJsonPath.contains("/parameters/")) { if (pathPieces[3].equals("parameters")) { // #/paths/path/parameters/0/Schema -> PathParamSchema0 - usedKey = "PathParam" + camelize(usedKey) + pathPieces[4]; // PathParamSchema0 + usedKey = "RouteParam" + camelize(usedKey) + pathPieces[4]; // RouteParamSchema0 } else { // #/paths/path/get/parameters/0/Schema -> Schema0 usedKey = camelize(usedKey) + pathPieces[5]; // Schema0 @@ -1328,6 +1328,9 @@ public String getPascalCaseParameter(String basename, String jsonPath) { } + private static final Set operationVerbs = Set.of("get", "put", "post", "delete", "options", "head", "patch", "trace"); + + @Override public String toParameterFilename(String name, String jsonPath) { // adds prefix parameter_ onto the result so modules do not start with _ @@ -1339,12 +1342,18 @@ public String toParameterFilename(String name, String jsonPath) { } return toModuleFilename(name, jsonPath); } - if (pathPieces[pathPieces.length-2].equals("parameters") && isInteger(name) && (pathPieces.length == 5 || pathPieces.length == 6)) { - // #/paths/somePath/parameters/0 + if (operationVerbs.contains(pathPieces[3])) { // #/paths/somePath/verb/parameters/0 - return "Parameter" + name; + if (pathPieces[pathPieces.length-2].equals("parameters") && isInteger(name) && pathPieces.length == 6) { + return "Parameter" + name; + } + return "parameter" + name; + } + if (pathPieces[pathPieces.length-2].equals("parameters") && isInteger(name) && pathPieces.length == 5) { + // #/paths/somePath/parameters/0 + return "RouteParameter" + name; } - return "parameter" + name; + return "routeparameter" + name; } private String toSchemaRefClass(String ref, String sourceJsonPath) { From 40ab73d05bdf07267321e4c170cfe0829dcebbce Mon Sep 17 00:00:00 2001 From: Justin Black Date: Tue, 5 Mar 2024 12:33:38 -0800 Subject: [PATCH 02/29] Adds parametersInfo property to operation class --- .../DefaultGeneratorRunner.java | 50 ++-- .../codegen/generators/DefaultGenerator.java | 228 +++++++++--------- .../openapimodels/CodegenOperation.java | 59 +++-- .../openapimodels/CodegenParametersInfo.java | 42 ++++ .../generators/DefaultGeneratorTest.java | 161 ++++++------- 5 files changed, 298 insertions(+), 242 deletions(-) create mode 100644 src/main/java/org/openapijsonschematools/codegen/generators/openapimodels/CodegenParametersInfo.java diff --git a/src/main/java/org/openapijsonschematools/codegen/generatorrunner/DefaultGeneratorRunner.java b/src/main/java/org/openapijsonschematools/codegen/generatorrunner/DefaultGeneratorRunner.java index ce9b0c265da..582a8dbb44e 100644 --- a/src/main/java/org/openapijsonschematools/codegen/generatorrunner/DefaultGeneratorRunner.java +++ b/src/main/java/org/openapijsonschematools/codegen/generatorrunner/DefaultGeneratorRunner.java @@ -454,21 +454,23 @@ private void generatePathItem(List files, CodegenKey pathKey, CodegenPathI endpointMap.put("security", security); endpointMap.put("path", pathKey); generateXs(files, operationJsonPath, CodegenConstants.JSON_PATH_LOCATION_TYPE.OPERATION, CodegenConstants.APIS, endpointMap, true); - if (operation.pathParametersSchema != null) { - String objectJsonPath = operationJsonPath + "/" + "PathParameters"; - generateSchema(files, operation.pathParametersSchema, objectJsonPath); - } - if (operation.queryParametersSchema != null) { - String objectJsonPath = operationJsonPath + "/" + "QueryParameters"; - generateSchema(files, operation.queryParametersSchema, objectJsonPath); - } - if (operation.headerParametersSchema != null) { - String objectJsonPath = operationJsonPath + "/" + "HeaderParameters"; - generateSchema(files, operation.headerParametersSchema, objectJsonPath); - } - if (operation.cookieParametersSchema != null) { - String objectJsonPath = operationJsonPath + "/" + "CookieParameters"; - generateSchema(files, operation.cookieParametersSchema, objectJsonPath); + if (operation.parametersInfo != null) { + if (operation.parametersInfo.pathParametersSchema != null) { + String objectJsonPath = operationJsonPath + "/" + "PathParameters"; + generateSchema(files, operation.parametersInfo.pathParametersSchema, objectJsonPath); + } + if (operation.parametersInfo.queryParametersSchema != null) { + String objectJsonPath = operationJsonPath + "/" + "QueryParameters"; + generateSchema(files, operation.parametersInfo.queryParametersSchema, objectJsonPath); + } + if (operation.parametersInfo.headerParametersSchema != null) { + String objectJsonPath = operationJsonPath + "/" + "HeaderParameters"; + generateSchema(files, operation.parametersInfo.headerParametersSchema, objectJsonPath); + } + if (operation.parametersInfo.cookieParametersSchema != null) { + String objectJsonPath = operationJsonPath + "/" + "CookieParameters"; + generateSchema(files, operation.parametersInfo.cookieParametersSchema, objectJsonPath); + } } // operation docs @@ -503,14 +505,16 @@ private void generatePathItem(List files, CodegenKey pathKey, CodegenPathI } // paths.some_path.post.parameters.parameter_0.py - if (operation.parameters != null && !operation.parameters.allParameters.isEmpty()) { - String parametersJsonPath = operationJsonPath + "/parameters"; - generateXs(files, parametersJsonPath, CodegenConstants.JSON_PATH_LOCATION_TYPE.PARAMETERS, CodegenConstants.PARAMETERS, null, true); - Integer i = 0; - for (CodegenParameter cp: operation.parameters.allParameters) { - String parameterJsonPath = parametersJsonPath + "/" + i.toString(); - generateParameter(files, cp, parameterJsonPath); - i++; + if (operation.parametersInfo != null) { + if (operation.parametersInfo.parameters != null && !operation.parametersInfo.parameters.allParameters.isEmpty()) { + String parametersJsonPath = operationJsonPath + "/parameters"; + generateXs(files, parametersJsonPath, CodegenConstants.JSON_PATH_LOCATION_TYPE.PARAMETERS, CodegenConstants.PARAMETERS, null, true); + Integer i = 0; + for (CodegenParameter cp: operation.parametersInfo.parameters.allParameters) { + String parameterJsonPath = parametersJsonPath + "/" + i.toString(); + generateParameter(files, cp, parameterJsonPath); + i++; + } } } diff --git a/src/main/java/org/openapijsonschematools/codegen/generators/DefaultGenerator.java b/src/main/java/org/openapijsonschematools/codegen/generators/DefaultGenerator.java index 17d47c5d8b0..364367b2d47 100644 --- a/src/main/java/org/openapijsonschematools/codegen/generators/DefaultGenerator.java +++ b/src/main/java/org/openapijsonschematools/codegen/generators/DefaultGenerator.java @@ -59,6 +59,7 @@ import org.openapijsonschematools.codegen.generators.openapimodels.CodegenOauthFlow; import org.openapijsonschematools.codegen.generators.openapimodels.CodegenOauthFlows; import org.openapijsonschematools.codegen.generators.openapimodels.CodegenOperation; +import org.openapijsonschematools.codegen.generators.openapimodels.CodegenParametersInfo; import org.openapijsonschematools.codegen.generators.openapimodels.CodegenParameter; import org.openapijsonschematools.codegen.generators.openapimodels.CodegenPathItem; import org.openapijsonschematools.codegen.generators.openapimodels.CodegenPatternInfo; @@ -2639,6 +2640,110 @@ private void updateXParameters( xParametersProperties.put(derefParam.name, parameterSchema); } + private CodegenParametersInfo getParametersInfo(LinkedHashMap, CodegenParameter> pathItemParameters, List parameters, String operationJsonPath) { + if (pathItemParameters.isEmpty() && (parameters == null || parameters.isEmpty())) { + return null; + } + List allParams = new ArrayList<>(); + List pathParams = new ArrayList<>(); + List queryParams = new ArrayList<>(); + List headerParams = new ArrayList<>(); + List cookieParams = new ArrayList<>(); + HashMap pathParametersProperties = new HashMap<>(); + List pathParametersRequired = new ArrayList<>(); + HashMap queryParametersProperties = new HashMap<>(); + List queryParametersRequired = new ArrayList<>(); + HashMap headerParametersProperties = new HashMap<>(); + List headerParametersRequired = new ArrayList<>(); + HashMap cookieParametersProperties = new HashMap<>(); + List cookieParametersRequired = new ArrayList<>(); + ArrayList usedPathItemParams = null; + LinkedHashMap, CodegenParameter> usedPathItemParameters = new LinkedHashMap<>(); + if (pathItemParameters != null) { + usedPathItemParameters.putAll(pathItemParameters); + } + ParameterCollection operationParameters = null; + if (parameters != null) { + int i = 0; + for (Parameter param : parameters) { + String usedSourceJsonPath = operationJsonPath + "/parameters/" + i; + CodegenParameter p = fromParameter(param, usedSourceJsonPath); + allParams.add(p); + i++; + + CodegenParameter derefParam = p.getSelfOrDeepestRef(); + Pair inName = Pair.of(derefParam.in, derefParam.name); + if (pathItemParameters != null && usedPathItemParameters.containsKey(inName)) { + // do not use a path item parameter if it is overridden by an operation parameter + usedPathItemParameters.remove(inName); + } + + switch (derefParam.in) { + case "query": + updateXParameters(derefParam, p, queryParams, queryParametersRequired, queryParametersProperties); + break; + case "path": + updateXParameters(derefParam, p, pathParams, pathParametersRequired, pathParametersProperties); + break; + case "header": + updateXParameters(derefParam, p, headerParams, headerParametersRequired, headerParametersProperties); + break; + case "cookie": + updateXParameters(derefParam, p, cookieParams, cookieParametersRequired, cookieParametersProperties); + break; + default: + LOGGER.warn("Unknown parameter type for {}", derefParam.name); + break; + } + } + operationParameters = new ParameterCollection(allParams, pathParams, queryParams, headerParams, cookieParams); + } + ArrayList pathItemQueryParams; + ArrayList pathItemPathParams; + ArrayList pathItemHeaderParams; + ArrayList pathItemCookieParams; + ParameterCollection pathItemParams = null; + if (!usedPathItemParameters.isEmpty()) { + pathItemQueryParams = new ArrayList<>(); + pathItemPathParams = new ArrayList<>(); + pathItemHeaderParams = new ArrayList<>(); + pathItemCookieParams = new ArrayList<>(); + if (!usedPathItemParameters.isEmpty()) { + usedPathItemParams = new ArrayList<>(); + } + for (CodegenParameter pathItemParam: usedPathItemParameters.values()) { + usedPathItemParams.add(pathItemParam); + CodegenParameter derefParam = pathItemParam.getSelfOrDeepestRef(); + switch (derefParam.in) { + case "query": + updateXParameters(derefParam, pathItemParam, pathItemQueryParams, queryParametersRequired, queryParametersProperties); + break; + case "path": + updateXParameters(derefParam, pathItemParam, pathItemPathParams, pathParametersRequired, pathParametersProperties); + break; + case "header": + updateXParameters(derefParam, pathItemParam, pathItemHeaderParams, headerParametersRequired, headerParametersProperties); + break; + case "cookie": + updateXParameters(derefParam, pathItemParam, pathItemCookieParams, cookieParametersRequired, cookieParametersProperties); + break; + default: + LOGGER.warn("Unknown parameter type for {}", derefParam.name); + break; + } + } + pathItemParams = new ParameterCollection(usedPathItemParams, pathItemPathParams, pathItemQueryParams, pathItemHeaderParams, pathItemCookieParams); + } + String parametersJsonPath = operationJsonPath + "/parameters"; + CodegenKey jsonPathPiece = getKey("parameters", "misc", parametersJsonPath); + String subpackage = getSubpackage(parametersJsonPath); + CodegenSchema pathParametersSchema = getXParametersSchema(pathParametersProperties, pathParametersRequired, operationJsonPath + "/" + "PathParameters", operationJsonPath + "/" + "PathParameters"); + CodegenSchema queryParametersSchema = getXParametersSchema(queryParametersProperties, queryParametersRequired, operationJsonPath + "/" + "QueryParameters", operationJsonPath + "/" + "QueryParameters"); + CodegenSchema headerParametersSchema = getXParametersSchema(headerParametersProperties, headerParametersRequired, operationJsonPath + "/" + "HeaderParameters", operationJsonPath + "/" + "HeaderParameters"); + CodegenSchema cookieParametersSchema = getXParametersSchema(cookieParametersProperties, cookieParametersRequired, operationJsonPath + "/" + "CookieParameters", operationJsonPath + "/" + "CookieParameters"); + return new CodegenParametersInfo(jsonPathPiece, subpackage, operationParameters, pathParametersSchema, queryParametersSchema, headerParametersSchema, cookieParametersSchema, pathItemParams); + } + /** * Convert OAS Operation object to Codegen Operation object * @@ -2791,12 +2896,6 @@ public CodegenOperation fromOperation(Operation operation, String jsonPath, Link // callbacks = foundCallbacks; // } - List parameters = operation.getParameters(); - List allParams = new ArrayList<>(); - List pathParams = new ArrayList<>(); - List queryParams = new ArrayList<>(); - List headerParams = new ArrayList<>(); - List cookieParams = new ArrayList<>(); boolean hasRequiredParamOrBody = false; boolean hasOptionalParamOrBody = false; @@ -2828,115 +2927,18 @@ public CodegenOperation fromOperation(Operation operation, String jsonPath, Link requestBodySchema = getXParametersSchema(requestBodySchemaProperties, new ArrayList<>(), jsonPath, jsonPath); } - HashMap pathParametersProperties = new HashMap<>(); - List pathParametersRequired = new ArrayList<>(); - HashMap queryParametersProperties = new HashMap<>(); - List queryParametersRequired = new ArrayList<>(); - HashMap headerParametersProperties = new HashMap<>(); - List headerParametersRequired = new ArrayList<>(); - HashMap cookieParametersProperties = new HashMap<>(); - List cookieParametersRequired = new ArrayList<>(); - ArrayList usedPathItemParams = null; - LinkedHashMap, CodegenParameter> usedPathItemParameters = new LinkedHashMap<>(); - if (pathItemParameters != null) { - usedPathItemParameters.putAll(pathItemParameters); - } - ParameterCollection operationParameters = null; - if (parameters != null) { - int i = 0; - for (Parameter param : parameters) { - String usedSourceJsonPath = jsonPath + "/parameters/" + i; - CodegenParameter p = fromParameter(param, usedSourceJsonPath); - allParams.add(p); - i++; - - CodegenParameter derefParam = p.getSelfOrDeepestRef(); - Pair inName = Pair.of(derefParam.in, derefParam.name); - if (pathItemParameters != null && usedPathItemParameters.containsKey(inName)) { - // do not use a path item parameter if it is overridden by an operation parameter - usedPathItemParameters.remove(inName); - } - - switch (derefParam.in) { - case "query": - updateXParameters(derefParam, p, queryParams, queryParametersRequired, queryParametersProperties); - break; - case "path": - updateXParameters(derefParam, p, pathParams, pathParametersRequired, pathParametersProperties); - break; - case "header": - updateXParameters(derefParam, p, headerParams, headerParametersRequired, headerParametersProperties); - break; - case "cookie": - updateXParameters(derefParam, p, cookieParams, cookieParametersRequired, cookieParametersProperties); - break; - default: - LOGGER.warn("Unknown parameter type for {}", derefParam.name); - break; - } - } - operationParameters = new ParameterCollection(allParams, pathParams, queryParams, headerParams, cookieParams); - } - ArrayList pathItemQueryParams; - ArrayList pathItemPathParams; - ArrayList pathItemHeaderParams; - ArrayList pathItemCookieParams; - ParameterCollection pathItemParams = null; - if (!usedPathItemParameters.isEmpty()) { - pathItemQueryParams = new ArrayList<>(); - pathItemPathParams = new ArrayList<>(); - pathItemHeaderParams = new ArrayList<>(); - pathItemCookieParams = new ArrayList<>(); - if (!usedPathItemParameters.isEmpty()) { - usedPathItemParams = new ArrayList<>(); - } - for (CodegenParameter pathItemParam: usedPathItemParameters.values()) { - usedPathItemParams.add(pathItemParam); - CodegenParameter derefParam = pathItemParam.getSelfOrDeepestRef(); - switch (derefParam.in) { - case "query": - updateXParameters(derefParam, pathItemParam, pathItemQueryParams, queryParametersRequired, queryParametersProperties); - break; - case "path": - updateXParameters(derefParam, pathItemParam, pathItemPathParams, pathParametersRequired, pathParametersProperties); - break; - case "header": - updateXParameters(derefParam, pathItemParam, pathItemHeaderParams, headerParametersRequired, headerParametersProperties); - break; - case "cookie": - updateXParameters(derefParam, pathItemParam, pathItemCookieParams, cookieParametersRequired, cookieParametersProperties); - break; - default: - LOGGER.warn("Unknown parameter type for {}", derefParam.name); - break; - } - } - pathItemParams = new ParameterCollection(usedPathItemParams, pathItemPathParams, pathItemQueryParams, pathItemHeaderParams, pathItemCookieParams); - } - + CodegenParametersInfo parametersInfo = getParametersInfo(pathItemParameters, operation.getParameters(), jsonPath); // create optional, required parameters - for (CodegenParameter cp : allParams) { - if (cp.refInfo != null) { - if (Boolean.TRUE.equals(cp.getDeepestRef().required)) { //required parameters - hasRequiredParamOrBody = true; - } else { // optional parameters - hasOptionalParamOrBody = true; - } + if (parametersInfo != null) { + if (parametersInfo.hasRequired) { + hasRequiredParamOrBody = true; } else { - if (Boolean.TRUE.equals(cp.required)) { //required parameters - hasRequiredParamOrBody = true; - } else { // optional parameters - hasOptionalParamOrBody = true; - } + hasOptionalParamOrBody = true; } } CodegenList security = fromSecurity(operation.getSecurity(), jsonPath + "/security"); ExternalDocumentation externalDocs = operation.getExternalDocs(); CodegenKey jsonPathPiece = getKey(pathPieces[pathPieces.length-1], "verb"); - CodegenSchema pathParametersSchema = getXParametersSchema(pathParametersProperties, pathParametersRequired, jsonPath + "/" + "PathParameters", jsonPath + "/" + "PathParameters"); - CodegenSchema queryParametersSchema = getXParametersSchema(queryParametersProperties, queryParametersRequired, jsonPath + "/" + "QueryParameters", jsonPath + "/" + "QueryParameters"); - CodegenSchema headerParametersSchema = getXParametersSchema(headerParametersProperties, headerParametersRequired, jsonPath + "/" + "HeaderParameters", jsonPath + "/" + "HeaderParameters"); - CodegenSchema cookieParametersSchema = getXParametersSchema(cookieParametersProperties, cookieParametersRequired, jsonPath + "/" + "CookieParameters", jsonPath + "/" + "CookieParameters"); return new CodegenOperation( deprecated, @@ -2949,11 +2951,7 @@ public CodegenOperation fromOperation(Operation operation, String jsonPath, Link produces, codegenList, requestBody, - operationParameters, - pathParametersSchema, - queryParametersSchema, - headerParametersSchema, - cookieParametersSchema, + parametersInfo, hasRequiredParamOrBody, hasOptionalParamOrBody, security, @@ -2968,8 +2966,8 @@ public CodegenOperation fromOperation(Operation operation, String jsonPath, Link vendorExtensions, operationId, jsonPathPiece, - requestBodySchema, - pathItemParams); + requestBodySchema + ); } private CodegenSchema getXParametersSchema(HashMap xParametersProperties, List xParametersRequired, String sourceJsonPath, String currentJsonPath) { diff --git a/src/main/java/org/openapijsonschematools/codegen/generators/openapimodels/CodegenOperation.java b/src/main/java/org/openapijsonschematools/codegen/generators/openapimodels/CodegenOperation.java index 8475d36f2d3..b863eb5ae1b 100644 --- a/src/main/java/org/openapijsonschematools/codegen/generators/openapimodels/CodegenOperation.java +++ b/src/main/java/org/openapijsonschematools/codegen/generators/openapimodels/CodegenOperation.java @@ -33,13 +33,8 @@ public class CodegenOperation { public final CodegenRequestBody requestBody; // properties where key is contentType, value is a ref schema, encapsulates imports public final CodegenSchema requestBodySchema; - public final ParameterCollection parameters; - public final CodegenSchema pathParametersSchema; - public final CodegenSchema queryParametersSchema; - public final CodegenSchema headerParametersSchema; - public final CodegenSchema cookieParametersSchema; - public final ParameterCollection pathItemParameters; + public final CodegenParametersInfo parametersInfo; public final boolean hasRequiredParamOrBody; public final boolean hasOptionalParamOrBody; public final CodegenList security; @@ -67,11 +62,7 @@ public CodegenOperation( LinkedHashSet produces, CodegenList servers, CodegenRequestBody requestBody, - ParameterCollection parameters, - CodegenSchema pathParametersSchema, - CodegenSchema queryParametersSchema, - CodegenSchema headerParametersSchema, - CodegenSchema cookieParametersSchema, + CodegenParametersInfo parametersInfo, boolean hasRequiredParamOrBody, boolean hasOptionalParamOrBody, CodegenList security, @@ -86,8 +77,7 @@ public CodegenOperation( Map vendorExtensions, CodegenKey operationId, CodegenKey jsonPathPiece, - CodegenSchema requestBodySchema, - ParameterCollection pathItemParameters + CodegenSchema requestBodySchema ) { this.deprecated = deprecated; this.nonErrorStatusCodes = nonErrorStatusCodes; @@ -99,11 +89,7 @@ public CodegenOperation( this.produces = produces; this.servers = servers; this.requestBody = requestBody; - this.parameters = parameters; - this.pathParametersSchema = pathParametersSchema; - this.queryParametersSchema = queryParametersSchema; - this.headerParametersSchema = headerParametersSchema; - this.cookieParametersSchema = cookieParametersSchema; + this.parametersInfo = parametersInfo; this.hasRequiredParamOrBody = hasRequiredParamOrBody; this.hasOptionalParamOrBody = hasOptionalParamOrBody; this.security = security; @@ -119,7 +105,6 @@ public CodegenOperation( this.operationId = operationId; this.jsonPathPiece = jsonPathPiece; this.requestBodySchema = requestBodySchema; - this.pathItemParameters = pathItemParameters; TreeMap nonErrorResponsesMap = new TreeMap<>(); if (statusCodeResponses != null) { for (Map.Entry entry: statusCodeResponses.entrySet()) { @@ -155,6 +140,36 @@ public CodegenOperation( } } + @Deprecated + public ParameterCollection parameters() { + return parametersInfo.parameters; + } + + @Deprecated + public ParameterCollection pathItemParameters() { + return parametersInfo.pathItemParameters; + } + + @Deprecated + public CodegenSchema pathParametersSchema() { + return parametersInfo.pathParametersSchema; + } + + @Deprecated + public CodegenSchema queryParametersSchema() { + return parametersInfo.queryParametersSchema; + } + + @Deprecated + public CodegenSchema headerParametersSchema() { + return parametersInfo.headerParametersSchema; + } + + @Deprecated + public CodegenSchema cookieParametersSchema() { + return parametersInfo.cookieParametersSchema; + } + // used by operation templates @Deprecated public Map getNonErrorResponses() { @@ -221,7 +236,7 @@ public String toString() { sb.append(", produces=").append(produces); sb.append(", servers=").append(servers); sb.append(", requestBody=").append(requestBody); - sb.append(", parameters=").append(parameters); + sb.append(", parametersInfo=").append(parametersInfo); sb.append(", hasRequiredParamOrBody=").append(hasRequiredParamOrBody); sb.append(", hasOptionalParamOrBody=").append(hasOptionalParamOrBody); sb.append(", security=").append(security); @@ -251,7 +266,7 @@ public boolean equals(Object o) { Objects.equals(produces, that.produces) && Objects.equals(servers, that.servers) && Objects.equals(requestBody, that.requestBody) && - Objects.equals(parameters, that.parameters) && + Objects.equals(parametersInfo, that.parametersInfo) && Objects.equals(hasRequiredParamOrBody, that.hasRequiredParamOrBody) && Objects.equals(hasOptionalParamOrBody, that.hasOptionalParamOrBody) && Objects.equals(security, that.security) && @@ -271,7 +286,7 @@ public int hashCode() { return Objects.hash(deprecated, operationId, summary, description, defaultResponse, - produces, servers, requestBody, parameters, + produces, servers, requestBody, parametersInfo, hasRequiredParamOrBody, hasOptionalParamOrBody, security, tags, responses, callbacks, externalDocs, vendorExtensions, statusCodeResponses, wildcardCodeResponses, diff --git a/src/main/java/org/openapijsonschematools/codegen/generators/openapimodels/CodegenParametersInfo.java b/src/main/java/org/openapijsonschematools/codegen/generators/openapimodels/CodegenParametersInfo.java new file mode 100644 index 00000000000..213102530fb --- /dev/null +++ b/src/main/java/org/openapijsonschematools/codegen/generators/openapimodels/CodegenParametersInfo.java @@ -0,0 +1,42 @@ +package org.openapijsonschematools.codegen.generators.openapimodels; + +public class CodegenParametersInfo { + public final CodegenKey jsonPathPiece; + public final String subpackage; + public final ParameterCollection parameters; + public final CodegenSchema pathParametersSchema; + public final CodegenSchema queryParametersSchema; + public final CodegenSchema headerParametersSchema; + public final CodegenSchema cookieParametersSchema; + public final ParameterCollection pathItemParameters; + public final boolean hasRequired; + + public CodegenParametersInfo(CodegenKey jsonPathPiece, String subpackage, ParameterCollection parameters, CodegenSchema pathParametersSchema, CodegenSchema queryParametersSchema, CodegenSchema headerParametersSchema, CodegenSchema cookieParametersSchema, ParameterCollection pathItemParameters) { + this.jsonPathPiece = jsonPathPiece; + this.subpackage = subpackage; + this.parameters = parameters; + this.pathParametersSchema = pathParametersSchema; + this.queryParametersSchema = queryParametersSchema; + this.headerParametersSchema = headerParametersSchema; + this.cookieParametersSchema = cookieParametersSchema; + this.pathItemParameters = pathItemParameters; + boolean hasRequired = false; + if (parameters != null) { + for (CodegenParameter param: parameters.allParameters) { + if (Boolean.TRUE.equals(param.getSelfOrDeepestRef().required)) { + hasRequired = true; + break; + } + } + } + if (!hasRequired) { + for (CodegenParameter param: pathItemParameters.allParameters) { + if (Boolean.TRUE.equals(param.getSelfOrDeepestRef().required)) { + hasRequired = true; + break; + } + } + } + this.hasRequired = hasRequired; + } +} diff --git a/src/test/java/org/openapijsonschematools/codegen/generators/DefaultGeneratorTest.java b/src/test/java/org/openapijsonschematools/codegen/generators/DefaultGeneratorTest.java index 40e0613a522..f847fb0a42b 100644 --- a/src/test/java/org/openapijsonschematools/codegen/generators/DefaultGeneratorTest.java +++ b/src/test/java/org/openapijsonschematools/codegen/generators/DefaultGeneratorTest.java @@ -19,7 +19,6 @@ import com.google.common.collect.Sets; import com.samskivert.mustache.Mustache.Lambda; -import io.swagger.parser.OpenAPIParser; import io.swagger.v3.oas.models.Components; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.Operation; @@ -38,8 +37,6 @@ import io.swagger.v3.oas.models.responses.ApiResponse; import io.swagger.v3.oas.models.responses.ApiResponses; import io.swagger.v3.oas.models.security.SecurityScheme; -import io.swagger.v3.parser.core.models.ParseOptions; -import org.openapijsonschematools.codegen.generatorrunner.DefaultGeneratorRunner; import org.openapijsonschematools.codegen.TestUtils; import org.openapijsonschematools.codegen.common.CodegenConstants; import org.openapijsonschematools.codegen.generators.openapimodels.CodegenDiscriminator; @@ -122,9 +119,9 @@ public void testRefedEnumParameter() { "#/components/schemas/PetByType" ); CodegenOperation operation = codegen.fromOperation(path.getGet(), getOperationPath("/pets/petType/{type}", "get"), null); - assertEquals(operation.parameters.pathParameters.get(0).imports, null); - assertEquals(operation.parameters.pathParameters.get(0).schema.imports.size(), 1); - Assert.assertTrue(operation.parameters.pathParameters.get(0).schema.refInfo.ref.enumInfo.valueToName != null); + assertEquals(operation.parametersInfo.parameters.pathParameters.get(0).imports, null); + assertEquals(operation.parametersInfo.parameters.pathParameters.get(0).schema.imports.size(), 1); + Assert.assertTrue(operation.parametersInfo.parameters.pathParameters.get(0).schema.refInfo.ref.enumInfo.valueToName != null); } @Test @@ -585,11 +582,11 @@ public void testExample1() { PathItem path = openAPI.getPaths().get("/example1/singular"); CodegenOperation op = codegen.fromOperation(path.getGet(), getOperationPath("/example1/singular", "get"), null); - assertEquals(op.parameters.queryParameters.get(0).example, "example1 value"); + assertEquals(op.parametersInfo.parameters.queryParameters.get(0).example, "example1 value"); path = openAPI.getPaths().get("/example1/plural"); op = codegen.fromOperation(path.getGet(), getOperationPath("/example1/plural", "get"), null); - assertEquals(op.parameters.queryParameters.get(0).example, "An example1 value"); + assertEquals(op.parametersInfo.parameters.queryParameters.get(0).example, "An example1 value"); } @Test @@ -599,7 +596,7 @@ public void testExample2() { PathItem path = openAPI.getPaths().get("/example2/singular"); CodegenOperation op = codegen.fromOperation(path.getGet(), getOperationPath("/example2/singular", "get"), null); - assertEquals(op.parameters.queryParameters.get(0).example, "example2 value"); + assertEquals(op.parametersInfo.parameters.queryParameters.get(0).example, "example2 value"); } @Test @@ -609,11 +606,11 @@ public void testExample3() { PathItem path = openAPI.getPaths().get("/example3/singular"); CodegenOperation op = codegen.fromOperation(path.getGet(), getOperationPath("/example3/singular", "get"), null); - assertEquals(op.parameters.queryParameters.get(0).example, "example3: parameter value"); + assertEquals(op.parametersInfo.parameters.queryParameters.get(0).example, "example3: parameter value"); path = openAPI.getPaths().get("/example3/plural"); op = codegen.fromOperation(path.getGet(), getOperationPath("/example3/plural", "get"), null); - assertEquals(op.parameters.queryParameters.get(0).example, "An example3 value"); + assertEquals(op.parametersInfo.parameters.queryParameters.get(0).example, "An example3 value"); } @Test @@ -1667,36 +1664,36 @@ public void pathItemParmsCorrectlyCalculated() { CodegenPathItem pathItem = codegen.fromPathItem(docPathItem, "#/paths/~1users~1{UserID}"); CodegenOperation operation = pathItem.operations.get(codegen.getKey("get", "verb")); - Assert.assertEquals(operation.parameters, null); - Assert.assertEquals(operation.pathItemParameters.allParameters.size(), 1); - Assert.assertEquals(operation.pathItemParameters.pathParameters.size(), 1); - Assert.assertEquals(operation.pathItemParameters.queryParameters.size(), 0); - Assert.assertEquals(operation.pathItemParameters.headerParameters.size(), 0); - Assert.assertEquals(operation.pathItemParameters.cookieParameters.size(), 0); - Assert.assertEquals(operation.pathItemParameters.allParameters.get(0).name, "UserID"); + Assert.assertEquals(operation.parametersInfo.parameters, null); + Assert.assertEquals(operation.parametersInfo.pathItemParameters.allParameters.size(), 1); + Assert.assertEquals(operation.parametersInfo.pathItemParameters.pathParameters.size(), 1); + Assert.assertEquals(operation.parametersInfo.pathItemParameters.queryParameters.size(), 0); + Assert.assertEquals(operation.parametersInfo.pathItemParameters.headerParameters.size(), 0); + Assert.assertEquals(operation.parametersInfo.pathItemParameters.cookieParameters.size(), 0); + Assert.assertEquals(operation.parametersInfo.pathItemParameters.allParameters.get(0).name, "UserID"); operation = pathItem.operations.get(codegen.getKey("post", "verb")); - Assert.assertEquals(operation.parameters.allParameters.size(), 1); - Assert.assertEquals(operation.parameters.pathParameters.size(), 0); - Assert.assertEquals(operation.parameters.queryParameters.size(), 0); - Assert.assertEquals(operation.parameters.headerParameters.size(), 1); - Assert.assertEquals(operation.parameters.cookieParameters.size(), 0); - Assert.assertEquals(operation.parameters.allParameters.get(0).name, "someHeader"); - Assert.assertEquals(operation.pathItemParameters.allParameters.size(), 1); - Assert.assertEquals(operation.pathItemParameters.pathParameters.size(), 1); - Assert.assertEquals(operation.pathItemParameters.queryParameters.size(), 0); - Assert.assertEquals(operation.pathItemParameters.headerParameters.size(), 0); - Assert.assertEquals(operation.pathItemParameters.cookieParameters.size(), 0); - Assert.assertEquals(operation.pathItemParameters.allParameters.get(0).name, "UserID"); + Assert.assertEquals(operation.parametersInfo.parameters.allParameters.size(), 1); + Assert.assertEquals(operation.parametersInfo.parameters.pathParameters.size(), 0); + Assert.assertEquals(operation.parametersInfo.parameters.queryParameters.size(), 0); + Assert.assertEquals(operation.parametersInfo.parameters.headerParameters.size(), 1); + Assert.assertEquals(operation.parametersInfo.parameters.cookieParameters.size(), 0); + Assert.assertEquals(operation.parametersInfo.parameters.allParameters.get(0).name, "someHeader"); + Assert.assertEquals(operation.parametersInfo.pathItemParameters.allParameters.size(), 1); + Assert.assertEquals(operation.parametersInfo.pathItemParameters.pathParameters.size(), 1); + Assert.assertEquals(operation.parametersInfo.pathItemParameters.queryParameters.size(), 0); + Assert.assertEquals(operation.parametersInfo.pathItemParameters.headerParameters.size(), 0); + Assert.assertEquals(operation.parametersInfo.pathItemParameters.cookieParameters.size(), 0); + Assert.assertEquals(operation.parametersInfo.pathItemParameters.allParameters.get(0).name, "UserID"); operation = pathItem.operations.get(codegen.getKey("delete", "verb")); - Assert.assertEquals(operation.parameters.allParameters.size(), 1); - Assert.assertEquals(operation.parameters.pathParameters.size(), 1); - Assert.assertEquals(operation.parameters.queryParameters.size(), 0); - Assert.assertEquals(operation.parameters.headerParameters.size(), 0); - Assert.assertEquals(operation.parameters.cookieParameters.size(), 0); - Assert.assertEquals(operation.parameters.allParameters.get(0).name, "UserID"); - Assert.assertEquals(operation.pathItemParameters, null); + Assert.assertEquals(operation.parametersInfo.parameters.allParameters.size(), 1); + Assert.assertEquals(operation.parametersInfo.parameters.pathParameters.size(), 1); + Assert.assertEquals(operation.parametersInfo.parameters.queryParameters.size(), 0); + Assert.assertEquals(operation.parametersInfo.parameters.headerParameters.size(), 0); + Assert.assertEquals(operation.parametersInfo.parameters.cookieParameters.size(), 0); + Assert.assertEquals(operation.parametersInfo.parameters.allParameters.get(0).name, "UserID"); + Assert.assertEquals(operation.parametersInfo.pathItemParameters, null); } @Test @@ -1790,7 +1787,7 @@ public void testFormComposedSchema() { final CodegenOperation operation = cg.fromOperation( path.getPost(), getOperationPath("/users/me", "post"), null); - assertNull(operation.parameters); + assertNull(operation.parametersInfo.parameters); assertNotNull(operation.requestBody); } @@ -1894,7 +1891,7 @@ public void testItemsPresent() { path = "/ref_array_with_validations_in_items/{items}"; operation = openAPI.getPaths().get(path).getPost(); co = codegen.fromOperation(operation, getOperationPath(path, "post"), null); - assertEquals(co.parameters.pathParameters.get(0).schema.refInfo.ref.items.maximum, new BigDecimal(7)); + assertEquals(co.parametersInfo.parameters.pathParameters.get(0).schema.refInfo.ref.items.maximum, new BigDecimal(7)); CodegenKey applicationJson = codegen.getKey("application/json", "misc"); assertEquals(co.requestBody.content.get(applicationJson).schema.refInfo.ref.items.maximum, new BigDecimal(7)); assertEquals(co.responses.get("200").content.get(applicationJson).schema.refInfo.ref.items.maximum, new BigDecimal(7)); @@ -1902,7 +1899,7 @@ public void testItemsPresent() { path = "/array_with_validations_in_items/{items}"; operation = openAPI.getPaths().get(path).getPost(); co = codegen.fromOperation(operation, getOperationPath(path, "post"), null); - assertEquals(co.parameters.pathParameters.get(0).schema.items.maximum, new BigDecimal(7)); + assertEquals(co.parametersInfo.parameters.pathParameters.get(0).schema.items.maximum, new BigDecimal(7)); assertEquals(co.requestBody.content.get(applicationJson).schema.items.maximum, new BigDecimal(7)); assertEquals(co.responses.get("200").content.get(applicationJson).schema.items.maximum, new BigDecimal(7)); } @@ -2069,27 +2066,27 @@ public void testAdditionalPropertiesPresentInParameters() { path = "/ref_additional_properties/"; operation = openAPI.getPaths().get(path).getPost(); co = codegen.fromOperation(operation, getOperationPath(path, "post"), null); - mapWithAddPropsUnset = co.parameters.queryParameters.get(0); + mapWithAddPropsUnset = co.parametersInfo.parameters.queryParameters.get(0); assertEquals(mapWithAddPropsUnset.schema.refInfo.ref.additionalProperties, null); - mapWithAddPropsTrue = co.parameters.queryParameters.get(1); + mapWithAddPropsTrue = co.parametersInfo.parameters.queryParameters.get(1); assertNotNull(mapWithAddPropsTrue.schema.refInfo); assertTrue(mapWithAddPropsTrue.schema.refInfo.ref.additionalProperties.isBooleanSchemaTrue); - mapWithAddPropsFalse = co.parameters.queryParameters.get(2); + mapWithAddPropsFalse = co.parametersInfo.parameters.queryParameters.get(2); assertNotNull(mapWithAddPropsFalse.schema.refInfo.ref.additionalProperties); assertTrue(mapWithAddPropsFalse.schema.refInfo.ref.additionalProperties.isBooleanSchemaFalse); - mapWithAddPropsSchema = co.parameters.queryParameters.get(3); + mapWithAddPropsSchema = co.parametersInfo.parameters.queryParameters.get(3); assertNotNull(mapWithAddPropsSchema.schema.refInfo); path = "/additional_properties/"; operation = openAPI.getPaths().get(path).getPost(); co = codegen.fromOperation(operation, getOperationPath(path, "post"), null); - mapWithAddPropsUnset = co.parameters.queryParameters.get(0); + mapWithAddPropsUnset = co.parametersInfo.parameters.queryParameters.get(0); assertEquals(mapWithAddPropsUnset.schema.additionalProperties, null); - mapWithAddPropsTrue = co.parameters.queryParameters.get(1); + mapWithAddPropsTrue = co.parametersInfo.parameters.queryParameters.get(1); assertTrue(mapWithAddPropsTrue.schema.additionalProperties.isBooleanSchemaTrue); - mapWithAddPropsFalse = co.parameters.queryParameters.get(2); + mapWithAddPropsFalse = co.parametersInfo.parameters.queryParameters.get(2); assertTrue(mapWithAddPropsFalse.schema.additionalProperties.isBooleanSchemaFalse); - mapWithAddPropsSchema = co.parameters.queryParameters.get(3); + mapWithAddPropsSchema = co.parametersInfo.parameters.queryParameters.get(3); assertTrue(mapWithAddPropsSchema.schema.additionalProperties.types.contains("string")); } @@ -2264,8 +2261,8 @@ public void testIsXPresence() { path = "/ref_date_with_validation/{date}"; operation = openAPI.getPaths().get(path).getPost(); co = codegen.fromOperation(operation, getOperationPath(path, "post"), null); - assertTrue(co.parameters.pathParameters.get(0).schema.refInfo.ref.types.contains("string")); - assertEquals(co.parameters.pathParameters.get(0).schema.refInfo.ref.format, "date"); + assertTrue(co.parametersInfo.parameters.pathParameters.get(0).schema.refInfo.ref.types.contains("string")); + assertEquals(co.parametersInfo.parameters.pathParameters.get(0).schema.refInfo.ref.format, "date"); CodegenKey applicationJson = codegen.getKey("application/json", "misc"); assertTrue(co.requestBody.content.get(applicationJson).schema.refInfo.ref.types.contains("string")); assertEquals(co.requestBody.content.get(applicationJson).schema.refInfo.ref.format, "date"); @@ -2275,8 +2272,8 @@ public void testIsXPresence() { path = "/date_with_validation/{date}"; operation = openAPI.getPaths().get(path).getPost(); co = codegen.fromOperation(operation, getOperationPath(path, "post"), null); - assertTrue(co.parameters.pathParameters.get(0).schema.types.contains("string")); - assertEquals(co.parameters.pathParameters.get(0).schema.format, "date"); + assertTrue(co.parametersInfo.parameters.pathParameters.get(0).schema.types.contains("string")); + assertEquals(co.parametersInfo.parameters.pathParameters.get(0).schema.format, "date"); assertTrue(co.requestBody.content.get(applicationJson).schema.types.contains("string")); assertEquals(co.requestBody.content.get(applicationJson).schema.format, "date"); assertTrue(co.responses.get("200").content.get(applicationJson).schema.types.contains("string")); @@ -2306,8 +2303,8 @@ public void testIsXPresence() { path = "/ref_date_time_with_validation/{dateTime}"; operation = openAPI.getPaths().get(path).getPost(); co = codegen.fromOperation(operation, getOperationPath(path, "post"), null); - assertTrue(co.parameters.pathParameters.get(0).schema.refInfo.ref.types.contains("string")); - assertEquals(co.parameters.pathParameters.get(0).schema.refInfo.ref.format, "date-time"); + assertTrue(co.parametersInfo.parameters.pathParameters.get(0).schema.refInfo.ref.types.contains("string")); + assertEquals(co.parametersInfo.parameters.pathParameters.get(0).schema.refInfo.ref.format, "date-time"); assertTrue(co.requestBody.content.get(applicationJson).schema.refInfo.ref.types.contains("string")); assertEquals(co.requestBody.content.get(applicationJson).schema.refInfo.ref.format, "date-time"); assertTrue(co.responses.get("200").content.get(applicationJson).schema.refInfo.ref.types.contains("string")); @@ -2316,8 +2313,8 @@ public void testIsXPresence() { path = "/date_time_with_validation/{dateTime}"; operation = openAPI.getPaths().get(path).getPost(); co = codegen.fromOperation(operation, getOperationPath(path, "post"), null); - assertTrue(co.parameters.pathParameters.get(0).schema.types.contains("string")); - assertEquals(co.parameters.pathParameters.get(0).schema.format, "date-time"); + assertTrue(co.parametersInfo.parameters.pathParameters.get(0).schema.types.contains("string")); + assertEquals(co.parametersInfo.parameters.pathParameters.get(0).schema.format, "date-time"); assertTrue(co.requestBody.content.get(applicationJson).schema.types.contains("string")); assertEquals(co.requestBody.content.get(applicationJson).schema.format, "date-time"); assertTrue(co.responses.get("200").content.get(applicationJson).schema.types.contains("string")); @@ -2326,14 +2323,14 @@ public void testIsXPresence() { path = "/null/{param}"; operation = openAPI.getPaths().get(path).getPost(); co = codegen.fromOperation(operation, getOperationPath(path, "post"), null); - assertTrue(co.parameters.pathParameters.get(0).schema.types.contains("null")); + assertTrue(co.parametersInfo.parameters.pathParameters.get(0).schema.types.contains("null")); assertTrue(co.requestBody.content.get(applicationJson).schema.types.contains("null")); assertTrue(co.responses.get("200").content.get(applicationJson).schema.types.contains("null")); path = "/ref_null/{param}"; operation = openAPI.getPaths().get(path).getPost(); co = codegen.fromOperation(operation, getOperationPath(path, "post"), null); - assertTrue(co.parameters.pathParameters.get(0).schema.refInfo.ref.types.contains("null")); + assertTrue(co.parametersInfo.parameters.pathParameters.get(0).schema.refInfo.ref.types.contains("null")); assertTrue(co.requestBody.content.get(applicationJson).schema.refInfo.ref.types.contains("null")); assertTrue(co.responses.get("200").content.get(applicationJson).schema.refInfo.ref.types.contains("null")); } @@ -2440,7 +2437,7 @@ public void testQueryParametersGetHasValidation() { String path = "/queryParametersWithValidation"; Operation operation = openAPI.getPaths().get(path).getPost(); CodegenOperation co = codegen.fromOperation(operation, getOperationPath(path, "post"), null); - List params = co.parameters.queryParameters; + List params = co.parametersInfo.parameters.queryParameters; assertEquals(params.size(), 50); for (CodegenParameter param : params) { assertTrue(param.schema.isCustomSchema()); @@ -2456,7 +2453,7 @@ public void testHeaderParametersGetHasValidation() { String path = "/headerParametersWithValidation"; Operation operation = openAPI.getPaths().get(path).getPost(); CodegenOperation co = codegen.fromOperation(operation, getOperationPath(path, "post"), null); - List params = co.parameters.headerParameters; + List params = co.parametersInfo.parameters.headerParameters; assertEquals(params.size(), 50); for (CodegenParameter param : params) { assertTrue(param.schema.isCustomSchema()); @@ -2472,7 +2469,7 @@ public void testCookieParametersGetHasValidation() { String path = "/cookieParametersWithValidation"; Operation operation = openAPI.getPaths().get(path).getPost(); CodegenOperation co = codegen.fromOperation(operation, getOperationPath(path, "post"), null); - List params = co.parameters.cookieParameters; + List params = co.parametersInfo.parameters.cookieParameters; assertEquals(params.size(), 50); for (CodegenParameter param : params) { assertTrue(param.schema.isCustomSchema()); @@ -2488,7 +2485,7 @@ public void testPathParametersGetHasValidation() { String path = "/pathParametersWithValidation"; Operation operation = openAPI.getPaths().get(path).getPost(); CodegenOperation co = codegen.fromOperation(operation, getOperationPath(path, "post"), null); - List params = co.parameters.pathParameters; + List params = co.parametersInfo.parameters.pathParameters; assertEquals(params.size(), 50); for (CodegenParameter param : params) { assertTrue(param.schema.isCustomSchema()); @@ -2595,8 +2592,8 @@ public void testVarsAndRequiredVarsPresent() { operation = openAPI.getPaths().get(path).getPost(); co = codegen.fromOperation(operation, getOperationPath(path, "post"), null); - assertEquals(co.parameters.pathParameters.get(0).schema.properties.size(), 3); - assertEquals(co.parameters.pathParameters.get(0).schema.requiredProperties.size(), 2); + assertEquals(co.parametersInfo.parameters.pathParameters.get(0).schema.properties.size(), 3); + assertEquals(co.parametersInfo.parameters.pathParameters.get(0).schema.requiredProperties.size(), 2); CodegenKey applicationJson = codegen.getKey("application/json", "misc"); assertEquals(co.requestBody.content.get(applicationJson).schema.properties.size(), 3); assertEquals(co.requestBody.content.get(applicationJson).schema.requiredProperties.size(), 2); @@ -2728,7 +2725,7 @@ public void testHasVarsInParameter() { path = "/array_with_validations_in_items/{items}"; operation = openAPI.getPaths().get(path).getPost(); co = codegen.fromOperation(operation, getOperationPath(path, "post"), null); - assertTrue(co.parameters.pathParameters.get(0).schema.properties == null); + assertTrue(co.parametersInfo.parameters.pathParameters.get(0).schema.properties == null); CodegenKey ck = codegen.getKey("application/json", "misc"); assertTrue(co.requestBody.content.get(ck).schema.properties == null); @@ -2736,7 +2733,7 @@ public void testHasVarsInParameter() { operation = openAPI.getPaths().get(path).getPost(); co = codegen.fromOperation(operation, getOperationPath(path, "post"), null); - assertTrue(co.parameters.pathParameters.get(0).schema.properties.size() == 3); + assertTrue(co.parametersInfo.parameters.pathParameters.get(0).schema.properties.size() == 3); assertTrue(co.requestBody.content.get(ck).schema.properties.size() == 3); } @@ -2894,7 +2891,7 @@ public void testHasRequiredInParameters() { "ComposedHasAllofReqPropNoPropertiesHasRequired", // TODO: hasRequired should be true, fix this "ComposedHasAllofReqPropHasPropertiesHasRequired" // TODO: hasRequired should be true, fix this )); - for (CodegenParameter param : co.parameters.pathParameters) { + for (CodegenParameter param : co.parametersInfo.parameters.pathParameters) { if (!modelNamesWithoutRequired.contains(param.name)) { // All variables must be in the above sets fail(); @@ -3012,7 +3009,7 @@ public void testBooleansSetForIntSchemas() { path = "/UnboundedInteger"; operation = openAPI.getPaths().get(path).getPost(); co = codegen.fromOperation(operation, getOperationPath(path, "post"), null); - cpa = co.parameters.pathParameters.get(0); + cpa = co.parametersInfo.parameters.pathParameters.get(0); assertTrue(cpa.schema.types.contains("integer")); assertNull(cpa.schema.format); CodegenRequestBody crb = co.requestBody; @@ -3026,7 +3023,7 @@ public void testBooleansSetForIntSchemas() { path = "/Int32"; operation = openAPI.getPaths().get(path).getPost(); co = codegen.fromOperation(operation, getOperationPath(path, "post"), null); - cpa = co.parameters.pathParameters.get(0); + cpa = co.parametersInfo.parameters.pathParameters.get(0); assertTrue(cpa.schema.types.contains("integer")); assertEquals(cpa.schema.format, "int32"); crb = co.requestBody; @@ -3039,7 +3036,7 @@ public void testBooleansSetForIntSchemas() { path = "/Int64"; operation = openAPI.getPaths().get(path).getPost(); co = codegen.fromOperation(operation, getOperationPath(path, "post"), null); - cpa = co.parameters.pathParameters.get(0); + cpa = co.parametersInfo.parameters.pathParameters.get(0); assertTrue(cpa.schema.types.contains("integer")); assertEquals(cpa.schema.format, "int64"); crb = co.requestBody; @@ -3327,42 +3324,42 @@ public void testComposedRequestQueryParamTypes() { path = "/ComposedObject"; co = codegen.fromOperation(openAPI.getPaths().get(path).getGet(), getOperationPath(path, "get"), null); - cp = co.parameters.queryParameters.get(0); + cp = co.parametersInfo.parameters.queryParameters.get(0); assertTrue(cp.schema.types.contains("object")); path = "/ComposedNumber"; co = codegen.fromOperation(openAPI.getPaths().get(path).getGet(), getOperationPath(path, "get"), null); - cp = co.parameters.queryParameters.get(0); + cp = co.parametersInfo.parameters.queryParameters.get(0); assertTrue(cp.schema.types.contains("number")); path = "/ComposedInteger"; co = codegen.fromOperation(openAPI.getPaths().get(path).getGet(), getOperationPath(path, "get"), null); - cp = co.parameters.queryParameters.get(0); + cp = co.parametersInfo.parameters.queryParameters.get(0); assertTrue(cp.schema.types.contains("integer")); path = "/ComposedString"; co = codegen.fromOperation(openAPI.getPaths().get(path).getGet(), getOperationPath(path, "get"), null); - cp = co.parameters.queryParameters.get(0); + cp = co.parametersInfo.parameters.queryParameters.get(0); assertTrue(cp.schema.types.contains("string")); path = "/ComposedBool"; co = codegen.fromOperation(openAPI.getPaths().get(path).getGet(), getOperationPath(path, "get"), null); - cp = co.parameters.queryParameters.get(0); + cp = co.parametersInfo.parameters.queryParameters.get(0); assertTrue(cp.schema.types.contains("boolean")); path = "/ComposedArray"; co = codegen.fromOperation(openAPI.getPaths().get(path).getGet(), getOperationPath(path, "get"), null); - cp = co.parameters.queryParameters.get(0); + cp = co.parametersInfo.parameters.queryParameters.get(0); assertTrue(cp.schema.types.contains("array")); path = "/ComposedNone"; co = codegen.fromOperation(openAPI.getPaths().get(path).getGet(), getOperationPath(path, "get"), null); - cp = co.parameters.queryParameters.get(0); + cp = co.parametersInfo.parameters.queryParameters.get(0); assertTrue(cp.schema.types.contains("null")); path = "/ComposedAnyType"; co = codegen.fromOperation(openAPI.getPaths().get(path).getGet(), getOperationPath(path, "get"), null); - cp = co.parameters.queryParameters.get(0); + cp = co.parametersInfo.parameters.queryParameters.get(0); assertTrue(cp.schema.types == null); } @@ -3451,7 +3448,7 @@ public void testRequestParameterContent() { path = "/jsonQueryParams"; co = codegen.fromOperation(openAPI.getPaths().get(path).getGet(), getOperationPath(path, "get"), null); - CodegenParameter coordinatesInlineSchema = co.parameters.queryParameters.get(0); + CodegenParameter coordinatesInlineSchema = co.parametersInfo.parameters.queryParameters.get(0); LinkedHashMap content = coordinatesInlineSchema.content; assertNotNull(content); CodegenKey ck = codegen.getKey("application/json", "misc"); @@ -3463,7 +3460,7 @@ public void testRequestParameterContent() { assertEquals(cp.refInfo, null); assertEquals(cp.jsonPathPiece.original, "schema"); - CodegenParameter coordinatesReferencedSchema = co.parameters.queryParameters.get(1); + CodegenParameter coordinatesReferencedSchema = co.parametersInfo.parameters.queryParameters.get(1); content = coordinatesReferencedSchema.content; mt = content.get(ck); assertNull(mt.encoding); @@ -3559,13 +3556,13 @@ public void testResponseContentAndHeader() { path = "/jsonQueryParams"; co = codegen.fromOperation(openAPI.getPaths().get(path).getGet(), getOperationPath(path, "get"), null); - CodegenParameter coordinatesInlineSchema = co.parameters.queryParameters.get(0); + CodegenParameter coordinatesInlineSchema = co.parametersInfo.parameters.queryParameters.get(0); LinkedHashMap content = coordinatesInlineSchema.content; assertNotNull(content); CodegenKey ck = codegen.getKey("application/json", "misc"); assertEquals(content.keySet(), new HashSet<>(Arrays.asList(ck))); - CodegenParameter schemaParam = co.parameters.queryParameters.get(2); + CodegenParameter schemaParam = co.parametersInfo.parameters.queryParameters.get(2); assertEquals(schemaParam.schema.jsonPathPiece.original, "schema"); CodegenResponse cr = co.responses.get("200"); From b6ddc7a883dafd6e6a301e2fbd09806a447bfcf9 Mon Sep 17 00:00:00 2001 From: Justin Black Date: Tue, 5 Mar 2024 13:57:22 -0800 Subject: [PATCH 03/29] Parameters classes generated --- .../petstore/java/.openapi-generator/FILES | 29 ++++++ .../client/components/parameters.java | 0 .../commonparamsubdir/delete/parameters.java | 35 +++++++ .../commonparamsubdir/get/parameters.java | 36 +++++++ .../paths/commonparamsubdir/parameters.java | 0 .../commonparamsubdir/post/parameters.java | 35 +++++++ .../client/paths/fake/delete/parameters.java | 44 +++++++++ .../client/paths/fake/get/parameters.java | 44 +++++++++ .../put/parameters.java | 22 +++++ .../put/parameters.java | 26 +++++ .../fakedeletecoffeeid/delete/parameters.java | 22 +++++ .../post/parameters.java | 24 +++++ .../paths/fakeobjinquery/get/parameters.java | 22 +++++ .../post/parameters.java | 92 +++++++++++++++++ .../post/parameters.java | 22 +++++ .../get/parameters.java | 22 +++++ .../fakerefobjinquery/get/parameters.java | 22 +++++ .../put/parameters.java | 32 ++++++ .../paths/petfindbystatus/get/parameters.java | 22 +++++ .../paths/petfindbytags/get/parameters.java | 22 +++++ .../paths/petpetid/delete/parameters.java | 35 +++++++ .../client/paths/petpetid/get/parameters.java | 22 +++++ .../paths/petpetid/post/parameters.java | 22 +++++ .../petpetiduploadimage/post/parameters.java | 22 +++++ .../storeorderorderid/delete/parameters.java | 22 +++++ .../storeorderorderid/get/parameters.java | 22 +++++ .../paths/userlogin/get/parameters.java | 24 +++++ .../paths/userusername/delete/parameters.java | 22 +++++ .../paths/userusername/get/parameters.java | 22 +++++ .../paths/userusername/put/parameters.java | 22 +++++ .../DefaultGeneratorRunner.java | 4 +- .../generators/JavaClientGenerator.java | 8 +- .../openapimodels/CodegenParametersInfo.java | 81 ++++++++++++++- .../paths/path/verb/Parameters.hbs | 98 +++++++++++++++++++ .../path/verb}/Responses.hbs | 12 +-- .../path/verb}/_returnOrThrow.hbs | 0 .../path/verb}/_statusCodeDeserialization.hbs | 4 +- .../verb}/_wildcardCodeDeserialization.hbs | 4 +- 38 files changed, 1004 insertions(+), 15 deletions(-) create mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/components/parameters.java create mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/parameters.java create mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/parameters.java create mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/parameters.java create mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/parameters.java create mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/parameters.java create mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/parameters.java create mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/parameters.java create mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/parameters.java create mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/parameters.java create mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/parameters.java create mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeobjinquery/get/parameters.java create mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters.java create mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/parameters.java create mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/parameters.java create mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakerefobjinquery/get/parameters.java create mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/parameters.java create mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/parameters.java create mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/parameters.java create mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/parameters.java create mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/get/parameters.java create mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/post/parameters.java create mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/parameters.java create mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/parameters.java create mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/parameters.java create mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userlogin/get/parameters.java create mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/delete/parameters.java create mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/get/parameters.java create mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/put/parameters.java create mode 100644 src/main/resources/java/src/main/java/packagename/paths/path/verb/Parameters.hbs rename src/main/resources/java/src/main/java/packagename/{components/responses => paths/path/verb}/Responses.hbs (92%) rename src/main/resources/java/src/main/java/packagename/{components/responses => paths/path/verb}/_returnOrThrow.hbs (100%) rename src/main/resources/java/src/main/java/packagename/{components/responses => paths/path/verb}/_statusCodeDeserialization.hbs (86%) rename src/main/resources/java/src/main/java/packagename/{components/responses => paths/path/verb}/_wildcardCodeDeserialization.hbs (87%) diff --git a/samples/client/petstore/java/.openapi-generator/FILES b/samples/client/petstore/java/.openapi-generator/FILES index 3b9c01b2824..2d9f756591a 100644 --- a/samples/client/petstore/java/.openapi-generator/FILES +++ b/samples/client/petstore/java/.openapi-generator/FILES @@ -349,6 +349,7 @@ src/main/java/org/openapijsonschematools/client/components/headers/numberheader/ src/main/java/org/openapijsonschematools/client/components/headers/refcontentschemaheader/content/applicationjson/RefContentSchemaHeaderSchema.java src/main/java/org/openapijsonschematools/client/components/headers/refschemaheader/RefSchemaHeaderSchema.java src/main/java/org/openapijsonschematools/client/components/headers/stringheader/StringHeaderSchema.java +src/main/java/org/openapijsonschematools/client/components/parameters.java src/main/java/org/openapijsonschematools/client/components/parameters/ComponentRefSchemaStringWithValidation.java src/main/java/org/openapijsonschematools/client/components/parameters/PathUserName.java src/main/java/org/openapijsonschematools/client/components/parameters/RefPathUserName.java @@ -575,6 +576,7 @@ src/main/java/org/openapijsonschematools/client/paths/anotherfakedummy/patch/res src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/HeaderParameters.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/PathParameters.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/Responses.java +src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/parameters.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/parameters/Parameter1.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/parameters/parameter0/Schema0.java @@ -583,14 +585,17 @@ src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/r src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/PathParameters.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/QueryParameters.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/Responses.java +src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/parameters.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/parameters/parameter0/Schema0.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/responses/Code200Response.java +src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/parameters.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/parameters/RouteParameter0.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/parameters/routeparameter0/RouteParamSchema0.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/HeaderParameters.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/PathParameters.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/Responses.java +src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/parameters.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/parameters/parameter0/Schema0.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/responses/Code200Response.java @@ -598,6 +603,7 @@ src/main/java/org/openapijsonschematools/client/paths/fake/delete/FakeDeleteSecu src/main/java/org/openapijsonschematools/client/paths/fake/delete/HeaderParameters.java src/main/java/org/openapijsonschematools/client/paths/fake/delete/QueryParameters.java src/main/java/org/openapijsonschematools/client/paths/fake/delete/Responses.java +src/main/java/org/openapijsonschematools/client/paths/fake/delete/parameters.java src/main/java/org/openapijsonschematools/client/paths/fake/delete/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/fake/delete/parameters/Parameter1.java src/main/java/org/openapijsonschematools/client/paths/fake/delete/parameters/Parameter2.java @@ -616,6 +622,7 @@ src/main/java/org/openapijsonschematools/client/paths/fake/get/HeaderParameters. src/main/java/org/openapijsonschematools/client/paths/fake/get/QueryParameters.java src/main/java/org/openapijsonschematools/client/paths/fake/get/RequestBody.java src/main/java/org/openapijsonschematools/client/paths/fake/get/Responses.java +src/main/java/org/openapijsonschematools/client/paths/fake/get/parameters.java src/main/java/org/openapijsonschematools/client/paths/fake/get/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/fake/get/parameters/Parameter1.java src/main/java/org/openapijsonschematools/client/paths/fake/get/parameters/Parameter2.java @@ -655,12 +662,14 @@ src/main/java/org/openapijsonschematools/client/paths/fakebodywithfileschema/put src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/QueryParameters.java src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/RequestBody.java src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/Responses.java +src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/parameters.java src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/parameters/parameter0/Schema0.java src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/requestbody/content/applicationjson/ApplicationjsonSchema.java src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/responses/Code200Response.java src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/QueryParameters.java src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/Responses.java +src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/parameters.java src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/parameters/Parameter1.java src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/parameters/Parameter2.java @@ -676,6 +685,7 @@ src/main/java/org/openapijsonschematools/client/paths/fakeclassnametest/patch/re src/main/java/org/openapijsonschematools/client/paths/fakeclassnametest/patch/security/FakeclassnametestPatchSecurityRequirementObject0.java src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/PathParameters.java src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/Responses.java +src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/parameters.java src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/parameters/parameter0/Schema0.java src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/responses/Code200Response.java @@ -690,6 +700,7 @@ src/main/java/org/openapijsonschematools/client/paths/fakeinlineadditionalproper src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/QueryParameters.java src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/RequestBody.java src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/Responses.java +src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/parameters.java src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/parameters/Parameter1.java src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/parameters/parameter0/Schema0.java @@ -732,6 +743,7 @@ src/main/java/org/openapijsonschematools/client/paths/fakemultiplesecurities/get src/main/java/org/openapijsonschematools/client/paths/fakemultiplesecurities/get/security/FakemultiplesecuritiesGetSecurityRequirementObject2.java src/main/java/org/openapijsonschematools/client/paths/fakeobjinquery/get/QueryParameters.java src/main/java/org/openapijsonschematools/client/paths/fakeobjinquery/get/Responses.java +src/main/java/org/openapijsonschematools/client/paths/fakeobjinquery/get/parameters.java src/main/java/org/openapijsonschematools/client/paths/fakeobjinquery/get/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/fakeobjinquery/get/parameters/parameter0/Schema0.java src/main/java/org/openapijsonschematools/client/paths/fakeobjinquery/get/responses/Code200Response.java @@ -741,6 +753,7 @@ src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ab src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/QueryParameters.java src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/RequestBody.java src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/Responses.java +src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters.java src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter1.java src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter10.java @@ -791,6 +804,7 @@ src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithre src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/PathParameters.java src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/RequestBody.java src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/Responses.java +src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/parameters.java src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/parameters/parameter0/Schema0.java src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/requestbody/content/multipartformdata/MultipartformdataSchema.java @@ -799,6 +813,7 @@ src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithre src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/security/FakepetiduploadimagewithrequiredfilePostSecurityRequirementObject0.java src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/QueryParameters.java src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/Responses.java +src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/parameters.java src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/parameters/parameter0/content/applicationjson/Schema0.java src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/responses/Code200Response.java @@ -808,6 +823,7 @@ src/main/java/org/openapijsonschematools/client/paths/fakeredirection/get/respon src/main/java/org/openapijsonschematools/client/paths/fakeredirection/get/responses/Code3XXResponse.java src/main/java/org/openapijsonschematools/client/paths/fakerefobjinquery/get/QueryParameters.java src/main/java/org/openapijsonschematools/client/paths/fakerefobjinquery/get/Responses.java +src/main/java/org/openapijsonschematools/client/paths/fakerefobjinquery/get/parameters.java src/main/java/org/openapijsonschematools/client/paths/fakerefobjinquery/get/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/fakerefobjinquery/get/parameters/parameter0/Schema0.java src/main/java/org/openapijsonschematools/client/paths/fakerefobjinquery/get/responses/Code200Response.java @@ -860,6 +876,7 @@ src/main/java/org/openapijsonschematools/client/paths/fakeresponsewithoutschema/ src/main/java/org/openapijsonschematools/client/paths/fakeresponsewithoutschema/get/responses/Code200Response.java src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/QueryParameters.java src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/Responses.java +src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/parameters.java src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/parameters/Parameter1.java src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/parameters/Parameter2.java @@ -928,6 +945,7 @@ src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/Petfindbys src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/PetfindbystatusGetSecurityInfo.java src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/QueryParameters.java src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/Responses.java +src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/parameters.java src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/parameters/parameter0/Schema0.java src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/responses/Code200Response.java @@ -941,6 +959,7 @@ src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/servers/se src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/PetfindbytagsGetSecurityInfo.java src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/QueryParameters.java src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/Responses.java +src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/parameters.java src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/parameters/parameter0/Schema0.java src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/responses/Code200Response.java @@ -951,6 +970,7 @@ src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/HeaderPara src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/PathParameters.java src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/PetpetidDeleteSecurityInfo.java src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/Responses.java +src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/parameters.java src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/parameters/Parameter1.java src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/parameters/parameter0/Schema0.java @@ -961,6 +981,7 @@ src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/security/P src/main/java/org/openapijsonschematools/client/paths/petpetid/get/PathParameters.java src/main/java/org/openapijsonschematools/client/paths/petpetid/get/PetpetidGetSecurityInfo.java src/main/java/org/openapijsonschematools/client/paths/petpetid/get/Responses.java +src/main/java/org/openapijsonschematools/client/paths/petpetid/get/parameters.java src/main/java/org/openapijsonschematools/client/paths/petpetid/get/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/petpetid/get/parameters/parameter0/Schema0.java src/main/java/org/openapijsonschematools/client/paths/petpetid/get/responses/Code200Response.java @@ -973,6 +994,7 @@ src/main/java/org/openapijsonschematools/client/paths/petpetid/post/PathParamete src/main/java/org/openapijsonschematools/client/paths/petpetid/post/PetpetidPostSecurityInfo.java src/main/java/org/openapijsonschematools/client/paths/petpetid/post/RequestBody.java src/main/java/org/openapijsonschematools/client/paths/petpetid/post/Responses.java +src/main/java/org/openapijsonschematools/client/paths/petpetid/post/parameters.java src/main/java/org/openapijsonschematools/client/paths/petpetid/post/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/petpetid/post/parameters/parameter0/Schema0.java src/main/java/org/openapijsonschematools/client/paths/petpetid/post/requestbody/content/applicationxwwwformurlencoded/ApplicationxwwwformurlencodedSchema.java @@ -983,6 +1005,7 @@ src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/P src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/PetpetiduploadimagePostSecurityInfo.java src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/RequestBody.java src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/Responses.java +src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/parameters.java src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/parameters/parameter0/Schema0.java src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/requestbody/content/multipartformdata/MultipartformdataSchema.java @@ -1003,12 +1026,14 @@ src/main/java/org/openapijsonschematools/client/paths/storeorder/post/responses/ src/main/java/org/openapijsonschematools/client/paths/storeorder/post/responses/code200response/content/applicationxml/ApplicationxmlSchema.java src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/PathParameters.java src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/Responses.java +src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/parameters.java src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/parameters/parameter0/Schema0.java src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/responses/Code400Response.java src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/responses/Code404Response.java src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/PathParameters.java src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/Responses.java +src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/parameters.java src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/parameters/parameter0/Schema0.java src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/responses/Code200Response.java @@ -1028,6 +1053,7 @@ src/main/java/org/openapijsonschematools/client/paths/usercreatewithlist/post/Re src/main/java/org/openapijsonschematools/client/paths/usercreatewithlist/post/responses/CodedefaultResponse.java src/main/java/org/openapijsonschematools/client/paths/userlogin/get/QueryParameters.java src/main/java/org/openapijsonschematools/client/paths/userlogin/get/Responses.java +src/main/java/org/openapijsonschematools/client/paths/userlogin/get/parameters.java src/main/java/org/openapijsonschematools/client/paths/userlogin/get/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/userlogin/get/parameters/Parameter1.java src/main/java/org/openapijsonschematools/client/paths/userlogin/get/parameters/parameter0/Schema0.java @@ -1049,11 +1075,13 @@ src/main/java/org/openapijsonschematools/client/paths/userlogout/get/Responses.j src/main/java/org/openapijsonschematools/client/paths/userlogout/get/responses/CodedefaultResponse.java src/main/java/org/openapijsonschematools/client/paths/userusername/delete/PathParameters.java src/main/java/org/openapijsonschematools/client/paths/userusername/delete/Responses.java +src/main/java/org/openapijsonschematools/client/paths/userusername/delete/parameters.java src/main/java/org/openapijsonschematools/client/paths/userusername/delete/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/userusername/delete/responses/Code200Response.java src/main/java/org/openapijsonschematools/client/paths/userusername/delete/responses/Code404Response.java src/main/java/org/openapijsonschematools/client/paths/userusername/get/PathParameters.java src/main/java/org/openapijsonschematools/client/paths/userusername/get/Responses.java +src/main/java/org/openapijsonschematools/client/paths/userusername/get/parameters.java src/main/java/org/openapijsonschematools/client/paths/userusername/get/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/userusername/get/responses/Code200Response.java src/main/java/org/openapijsonschematools/client/paths/userusername/get/responses/Code400Response.java @@ -1063,6 +1091,7 @@ src/main/java/org/openapijsonschematools/client/paths/userusername/get/responses src/main/java/org/openapijsonschematools/client/paths/userusername/put/PathParameters.java src/main/java/org/openapijsonschematools/client/paths/userusername/put/RequestBody.java src/main/java/org/openapijsonschematools/client/paths/userusername/put/Responses.java +src/main/java/org/openapijsonschematools/client/paths/userusername/put/parameters.java src/main/java/org/openapijsonschematools/client/paths/userusername/put/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/userusername/put/requestbody/content/applicationjson/ApplicationjsonSchema.java src/main/java/org/openapijsonschematools/client/paths/userusername/put/responses/Code400Response.java diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/components/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/components/parameters.java new file mode 100644 index 00000000000..e69de29bb2d diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/parameters.java new file mode 100644 index 00000000000..dd1392621ba --- /dev/null +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/parameters.java @@ -0,0 +1,35 @@ +package org.openapijsonschematools.client.paths.commonparamsubdir.delete; + +import org.openapijsonschematools.client.paths.commonparamsubdir.delete.parameters.Parameter0; +import org.openapijsonschematools.client.paths.commonparamsubdir.delete.parameters.Parameter1; +import org.openapijsonschematools.client.parameter.NonQueryParameter; + +import java.util.Map; +import java.util.AbstractMap; + +public class Parameters { + + public static class PathParametersDeserializer { + Map parameters; + + public PathParametersDeserializer() { + parameters = Map.ofEntries( + new AbstractMap.SimpleEntry<>("subDir", new Parameter1.Parameter11()) + ); + } + + // deserialize PathParameters + } + + public static class HeaderParametersDeserializer { + Map parameters; + + public HeaderParametersDeserializer() { + parameters = Map.ofEntries( + new AbstractMap.SimpleEntry<>("someHeader", new Parameter0.Parameter01()) + ); + } + + // HeaderParameters + } +} diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/parameters.java new file mode 100644 index 00000000000..0533c2ad3c5 --- /dev/null +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/parameters.java @@ -0,0 +1,36 @@ +package org.openapijsonschematools.client.paths.commonparamsubdir.get; + +import org.openapijsonschematools.client.paths.commonparamsubdir.parameters.RouteParameter0; +import org.openapijsonschematools.client.paths.commonparamsubdir.get.parameters.Parameter0; +import org.openapijsonschematools.client.parameter.QueryParameter; +import org.openapijsonschematools.client.parameter.NonQueryParameter; + +import java.util.Map; +import java.util.AbstractMap; + +public class Parameters { + + public static class PathParametersDeserializer { + Map parameters; + + public PathParametersDeserializer() { + parameters = Map.ofEntries( + new AbstractMap.SimpleEntry<>("subDir", new RouteParameter0.RouteParameter01()) + ); + } + + // deserialize PathParameters + } + + public static class QueryParametersDeserializer { + Map parameters; + + public QueryParametersDeserializer() { + parameters = Map.ofEntries( + new AbstractMap.SimpleEntry<>("searchStr", new Parameter0.Parameter01()) + ); + } + + // QueryParameters + } +} diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/parameters.java new file mode 100644 index 00000000000..e69de29bb2d diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/parameters.java new file mode 100644 index 00000000000..695889d0975 --- /dev/null +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/parameters.java @@ -0,0 +1,35 @@ +package org.openapijsonschematools.client.paths.commonparamsubdir.post; + +import org.openapijsonschematools.client.paths.commonparamsubdir.parameters.RouteParameter0; +import org.openapijsonschematools.client.paths.commonparamsubdir.post.parameters.Parameter0; +import org.openapijsonschematools.client.parameter.NonQueryParameter; + +import java.util.Map; +import java.util.AbstractMap; + +public class Parameters { + + public static class PathParametersDeserializer { + Map parameters; + + public PathParametersDeserializer() { + parameters = Map.ofEntries( + new AbstractMap.SimpleEntry<>("subDir", new RouteParameter0.RouteParameter01()) + ); + } + + // deserialize PathParameters + } + + public static class HeaderParametersDeserializer { + Map parameters; + + public HeaderParametersDeserializer() { + parameters = Map.ofEntries( + new AbstractMap.SimpleEntry<>("someHeader", new Parameter0.Parameter01()) + ); + } + + // HeaderParameters + } +} diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/parameters.java new file mode 100644 index 00000000000..42137e8112e --- /dev/null +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/parameters.java @@ -0,0 +1,44 @@ +package org.openapijsonschematools.client.paths.fake.delete; + +import org.openapijsonschematools.client.paths.fake.delete.parameters.Parameter0; +import org.openapijsonschematools.client.paths.fake.delete.parameters.Parameter1; +import org.openapijsonschematools.client.paths.fake.delete.parameters.Parameter2; +import org.openapijsonschematools.client.paths.fake.delete.parameters.Parameter3; +import org.openapijsonschematools.client.paths.fake.delete.parameters.Parameter4; +import org.openapijsonschematools.client.paths.fake.delete.parameters.Parameter5; +import org.openapijsonschematools.client.parameter.QueryParameter; +import org.openapijsonschematools.client.parameter.NonQueryParameter; + +import java.util.Map; +import java.util.AbstractMap; + +public class Parameters { + + public static class QueryParametersDeserializer { + Map parameters; + + public QueryParametersDeserializer() { + parameters = Map.ofEntries( + new AbstractMap.SimpleEntry<>("required_string_group", new Parameter0.Parameter01()), + new AbstractMap.SimpleEntry<>("required_int64_group", new Parameter2.Parameter21()), + new AbstractMap.SimpleEntry<>("string_group", new Parameter3.Parameter31()), + new AbstractMap.SimpleEntry<>("int64_group", new Parameter5.Parameter51()) + ); + } + + // QueryParameters + } + + public static class HeaderParametersDeserializer { + Map parameters; + + public HeaderParametersDeserializer() { + parameters = Map.ofEntries( + new AbstractMap.SimpleEntry<>("required_boolean_group", new Parameter1.Parameter11()), + new AbstractMap.SimpleEntry<>("boolean_group", new Parameter4.Parameter41()) + ); + } + + // HeaderParameters + } +} diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/parameters.java new file mode 100644 index 00000000000..cc9d04b06d8 --- /dev/null +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/parameters.java @@ -0,0 +1,44 @@ +package org.openapijsonschematools.client.paths.fake.get; + +import org.openapijsonschematools.client.paths.fake.get.parameters.Parameter0; +import org.openapijsonschematools.client.paths.fake.get.parameters.Parameter1; +import org.openapijsonschematools.client.paths.fake.get.parameters.Parameter2; +import org.openapijsonschematools.client.paths.fake.get.parameters.Parameter3; +import org.openapijsonschematools.client.paths.fake.get.parameters.Parameter4; +import org.openapijsonschematools.client.paths.fake.get.parameters.Parameter5; +import org.openapijsonschematools.client.parameter.QueryParameter; +import org.openapijsonschematools.client.parameter.NonQueryParameter; + +import java.util.Map; +import java.util.AbstractMap; + +public class Parameters { + + public static class QueryParametersDeserializer { + Map parameters; + + public QueryParametersDeserializer() { + parameters = Map.ofEntries( + new AbstractMap.SimpleEntry<>("enum_query_string_array", new Parameter2.Parameter21()), + new AbstractMap.SimpleEntry<>("enum_query_string", new Parameter3.Parameter31()), + new AbstractMap.SimpleEntry<>("enum_query_integer", new Parameter4.Parameter41()), + new AbstractMap.SimpleEntry<>("enum_query_double", new Parameter5.Parameter51()) + ); + } + + // QueryParameters + } + + public static class HeaderParametersDeserializer { + Map parameters; + + public HeaderParametersDeserializer() { + parameters = Map.ofEntries( + new AbstractMap.SimpleEntry<>("enum_header_string_array", new Parameter0.Parameter01()), + new AbstractMap.SimpleEntry<>("enum_header_string", new Parameter1.Parameter11()) + ); + } + + // HeaderParameters + } +} diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/parameters.java new file mode 100644 index 00000000000..00431ea82a9 --- /dev/null +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/parameters.java @@ -0,0 +1,22 @@ +package org.openapijsonschematools.client.paths.fakebodywithqueryparams.put; + +import org.openapijsonschematools.client.paths.fakebodywithqueryparams.put.parameters.Parameter0; +import org.openapijsonschematools.client.parameter.QueryParameter; + +import java.util.Map; +import java.util.AbstractMap; + +public class Parameters { + + public static class QueryParametersDeserializer { + Map parameters; + + public QueryParametersDeserializer() { + parameters = Map.ofEntries( + new AbstractMap.SimpleEntry<>("query", new Parameter0.Parameter01()) + ); + } + + // QueryParameters + } +} diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/parameters.java new file mode 100644 index 00000000000..932741524d7 --- /dev/null +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/parameters.java @@ -0,0 +1,26 @@ +package org.openapijsonschematools.client.paths.fakecasesensitiveparams.put; + +import org.openapijsonschematools.client.paths.fakecasesensitiveparams.put.parameters.Parameter0; +import org.openapijsonschematools.client.paths.fakecasesensitiveparams.put.parameters.Parameter1; +import org.openapijsonschematools.client.paths.fakecasesensitiveparams.put.parameters.Parameter2; +import org.openapijsonschematools.client.parameter.QueryParameter; + +import java.util.Map; +import java.util.AbstractMap; + +public class Parameters { + + public static class QueryParametersDeserializer { + Map parameters; + + public QueryParametersDeserializer() { + parameters = Map.ofEntries( + new AbstractMap.SimpleEntry<>("someVar", new Parameter0.Parameter01()), + new AbstractMap.SimpleEntry<>("SomeVar", new Parameter1.Parameter11()), + new AbstractMap.SimpleEntry<>("some_var", new Parameter2.Parameter21()) + ); + } + + // QueryParameters + } +} diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/parameters.java new file mode 100644 index 00000000000..bb4b8e9f5b8 --- /dev/null +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/parameters.java @@ -0,0 +1,22 @@ +package org.openapijsonschematools.client.paths.fakedeletecoffeeid.delete; + +import org.openapijsonschematools.client.paths.fakedeletecoffeeid.delete.parameters.Parameter0; +import org.openapijsonschematools.client.parameter.NonQueryParameter; + +import java.util.Map; +import java.util.AbstractMap; + +public class Parameters { + + public static class PathParametersDeserializer { + Map parameters; + + public PathParametersDeserializer() { + parameters = Map.ofEntries( + new AbstractMap.SimpleEntry<>("id", new Parameter0.Parameter01()) + ); + } + + // deserialize PathParameters + } +} diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/parameters.java new file mode 100644 index 00000000000..9e7356217c6 --- /dev/null +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/parameters.java @@ -0,0 +1,24 @@ +package org.openapijsonschematools.client.paths.fakeinlinecomposition.post; + +import org.openapijsonschematools.client.paths.fakeinlinecomposition.post.parameters.Parameter0; +import org.openapijsonschematools.client.paths.fakeinlinecomposition.post.parameters.Parameter1; +import org.openapijsonschematools.client.parameter.QueryParameter; + +import java.util.Map; +import java.util.AbstractMap; + +public class Parameters { + + public static class QueryParametersDeserializer { + Map parameters; + + public QueryParametersDeserializer() { + parameters = Map.ofEntries( + new AbstractMap.SimpleEntry<>("compositionAtRoot", new Parameter0.Parameter01()), + new AbstractMap.SimpleEntry<>("compositionInProperty", new Parameter1.Parameter11()) + ); + } + + // QueryParameters + } +} diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeobjinquery/get/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeobjinquery/get/parameters.java new file mode 100644 index 00000000000..ccd3972fc36 --- /dev/null +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeobjinquery/get/parameters.java @@ -0,0 +1,22 @@ +package org.openapijsonschematools.client.paths.fakeobjinquery.get; + +import org.openapijsonschematools.client.paths.fakeobjinquery.get.parameters.Parameter0; +import org.openapijsonschematools.client.parameter.QueryParameter; + +import java.util.Map; +import java.util.AbstractMap; + +public class Parameters { + + public static class QueryParametersDeserializer { + Map parameters; + + public QueryParametersDeserializer() { + parameters = Map.ofEntries( + new AbstractMap.SimpleEntry<>("mapBean", new Parameter0.Parameter01()) + ); + } + + // QueryParameters + } +} diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters.java new file mode 100644 index 00000000000..718446b6fc0 --- /dev/null +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters.java @@ -0,0 +1,92 @@ +package org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post; + +import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.Parameter0; +import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.Parameter1; +import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.Parameter2; +import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.Parameter3; +import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.Parameter4; +import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.Parameter5; +import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.Parameter6; +import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.Parameter7; +import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.Parameter8; +import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.Parameter9; +import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.Parameter10; +import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.Parameter11; +import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.Parameter12; +import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.Parameter13; +import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.Parameter14; +import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.Parameter15; +import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.Parameter16; +import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.Parameter17; +import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.Parameter18; +import org.openapijsonschematools.client.parameter.QueryParameter; +import org.openapijsonschematools.client.parameter.NonQueryParameter; + +import java.util.Map; +import java.util.AbstractMap; + +public class Parameters { + + public static class PathParametersDeserializer { + Map parameters; + + public PathParametersDeserializer() { + parameters = Map.ofEntries( + new AbstractMap.SimpleEntry<>("1", new Parameter9.Parameter91()), + new AbstractMap.SimpleEntry<>("aB", new Parameter10.Parameter101()), + new AbstractMap.SimpleEntry<>("Ab", new Parameter11.Parameter111()), + new AbstractMap.SimpleEntry<>("self", new Parameter12.Parameter121()), + new AbstractMap.SimpleEntry<>("A-B", new Parameter13.Parameter131()) + ); + } + + // deserialize PathParameters + } + + public static class QueryParametersDeserializer { + Map parameters; + + public QueryParametersDeserializer() { + parameters = Map.ofEntries( + new AbstractMap.SimpleEntry<>("1", new Parameter0.Parameter01()), + new AbstractMap.SimpleEntry<>("aB", new Parameter1.Parameter11()), + new AbstractMap.SimpleEntry<>("Ab", new Parameter2.Parameter21()), + new AbstractMap.SimpleEntry<>("self", new Parameter3.Parameter31()), + new AbstractMap.SimpleEntry<>("A-B", new Parameter4.Parameter41()) + ); + } + + // QueryParameters + } + + public static class HeaderParametersDeserializer { + Map parameters; + + public HeaderParametersDeserializer() { + parameters = Map.ofEntries( + new AbstractMap.SimpleEntry<>("1", new Parameter5.Parameter51()), + new AbstractMap.SimpleEntry<>("aB", new Parameter6.Parameter61()), + new AbstractMap.SimpleEntry<>("self", new Parameter7.Parameter71()), + new AbstractMap.SimpleEntry<>("A-B", new Parameter8.Parameter81()) + ); + } + + // HeaderParameters + } + + public static class CookieParametersDeserializer { + Map parameters; + + public CookieParametersDeserializer() { + parameters = Map.ofEntries( + new AbstractMap.SimpleEntry<>("1", new Parameter14.Parameter141()), + new AbstractMap.SimpleEntry<>("aB", new Parameter15.Parameter151()), + new AbstractMap.SimpleEntry<>("Ab", new Parameter16.Parameter161()), + new AbstractMap.SimpleEntry<>("self", new Parameter17.Parameter171()), + new AbstractMap.SimpleEntry<>("A-B", new Parameter18.Parameter181()) + ); + } + + // CookieParameters + } +} diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/parameters.java new file mode 100644 index 00000000000..d299ff8edbd --- /dev/null +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/parameters.java @@ -0,0 +1,22 @@ +package org.openapijsonschematools.client.paths.fakepetiduploadimagewithrequiredfile.post; + +import org.openapijsonschematools.client.paths.fakepetiduploadimagewithrequiredfile.post.parameters.Parameter0; +import org.openapijsonschematools.client.parameter.NonQueryParameter; + +import java.util.Map; +import java.util.AbstractMap; + +public class Parameters { + + public static class PathParametersDeserializer { + Map parameters; + + public PathParametersDeserializer() { + parameters = Map.ofEntries( + new AbstractMap.SimpleEntry<>("petId", new Parameter0.Parameter01()) + ); + } + + // deserialize PathParameters + } +} diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/parameters.java new file mode 100644 index 00000000000..6c665b671fb --- /dev/null +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/parameters.java @@ -0,0 +1,22 @@ +package org.openapijsonschematools.client.paths.fakequeryparamwithjsoncontenttype.get; + +import org.openapijsonschematools.client.paths.fakequeryparamwithjsoncontenttype.get.parameters.Parameter0; +import org.openapijsonschematools.client.parameter.QueryParameter; + +import java.util.Map; +import java.util.AbstractMap; + +public class Parameters { + + public static class QueryParametersDeserializer { + Map parameters; + + public QueryParametersDeserializer() { + parameters = Map.ofEntries( + new AbstractMap.SimpleEntry<>("someParam", new Parameter0.Parameter01()) + ); + } + + // QueryParameters + } +} diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakerefobjinquery/get/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakerefobjinquery/get/parameters.java new file mode 100644 index 00000000000..2dc4c2f6c85 --- /dev/null +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakerefobjinquery/get/parameters.java @@ -0,0 +1,22 @@ +package org.openapijsonschematools.client.paths.fakerefobjinquery.get; + +import org.openapijsonschematools.client.paths.fakerefobjinquery.get.parameters.Parameter0; +import org.openapijsonschematools.client.parameter.QueryParameter; + +import java.util.Map; +import java.util.AbstractMap; + +public class Parameters { + + public static class QueryParametersDeserializer { + Map parameters; + + public QueryParametersDeserializer() { + parameters = Map.ofEntries( + new AbstractMap.SimpleEntry<>("mapBean", new Parameter0.Parameter01()) + ); + } + + // QueryParameters + } +} diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/parameters.java new file mode 100644 index 00000000000..0da4ec58f64 --- /dev/null +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/parameters.java @@ -0,0 +1,32 @@ +package org.openapijsonschematools.client.paths.faketestqueryparamters.put; + +import org.openapijsonschematools.client.paths.faketestqueryparamters.put.parameters.Parameter0; +import org.openapijsonschematools.client.paths.faketestqueryparamters.put.parameters.Parameter1; +import org.openapijsonschematools.client.paths.faketestqueryparamters.put.parameters.Parameter2; +import org.openapijsonschematools.client.paths.faketestqueryparamters.put.parameters.Parameter3; +import org.openapijsonschematools.client.paths.faketestqueryparamters.put.parameters.Parameter4; +import org.openapijsonschematools.client.paths.faketestqueryparamters.put.parameters.Parameter5; +import org.openapijsonschematools.client.parameter.QueryParameter; + +import java.util.Map; +import java.util.AbstractMap; + +public class Parameters { + + public static class QueryParametersDeserializer { + Map parameters; + + public QueryParametersDeserializer() { + parameters = Map.ofEntries( + new AbstractMap.SimpleEntry<>("pipe", new Parameter0.Parameter01()), + new AbstractMap.SimpleEntry<>("ioutil", new Parameter1.Parameter11()), + new AbstractMap.SimpleEntry<>("http", new Parameter2.Parameter21()), + new AbstractMap.SimpleEntry<>("url", new Parameter3.Parameter31()), + new AbstractMap.SimpleEntry<>("context", new Parameter4.Parameter41()), + new AbstractMap.SimpleEntry<>("refParam", new Parameter5.Parameter51()) + ); + } + + // QueryParameters + } +} diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/parameters.java new file mode 100644 index 00000000000..b5cf05c31f3 --- /dev/null +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/parameters.java @@ -0,0 +1,22 @@ +package org.openapijsonschematools.client.paths.petfindbystatus.get; + +import org.openapijsonschematools.client.paths.petfindbystatus.get.parameters.Parameter0; +import org.openapijsonschematools.client.parameter.QueryParameter; + +import java.util.Map; +import java.util.AbstractMap; + +public class Parameters { + + public static class QueryParametersDeserializer { + Map parameters; + + public QueryParametersDeserializer() { + parameters = Map.ofEntries( + new AbstractMap.SimpleEntry<>("status", new Parameter0.Parameter01()) + ); + } + + // QueryParameters + } +} diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/parameters.java new file mode 100644 index 00000000000..8646b5c3ab1 --- /dev/null +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/parameters.java @@ -0,0 +1,22 @@ +package org.openapijsonschematools.client.paths.petfindbytags.get; + +import org.openapijsonschematools.client.paths.petfindbytags.get.parameters.Parameter0; +import org.openapijsonschematools.client.parameter.QueryParameter; + +import java.util.Map; +import java.util.AbstractMap; + +public class Parameters { + + public static class QueryParametersDeserializer { + Map parameters; + + public QueryParametersDeserializer() { + parameters = Map.ofEntries( + new AbstractMap.SimpleEntry<>("tags", new Parameter0.Parameter01()) + ); + } + + // QueryParameters + } +} diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/parameters.java new file mode 100644 index 00000000000..c8ff2e9272c --- /dev/null +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/parameters.java @@ -0,0 +1,35 @@ +package org.openapijsonschematools.client.paths.petpetid.delete; + +import org.openapijsonschematools.client.paths.petpetid.delete.parameters.Parameter0; +import org.openapijsonschematools.client.paths.petpetid.delete.parameters.Parameter1; +import org.openapijsonschematools.client.parameter.NonQueryParameter; + +import java.util.Map; +import java.util.AbstractMap; + +public class Parameters { + + public static class PathParametersDeserializer { + Map parameters; + + public PathParametersDeserializer() { + parameters = Map.ofEntries( + new AbstractMap.SimpleEntry<>("petId", new Parameter1.Parameter11()) + ); + } + + // deserialize PathParameters + } + + public static class HeaderParametersDeserializer { + Map parameters; + + public HeaderParametersDeserializer() { + parameters = Map.ofEntries( + new AbstractMap.SimpleEntry<>("api_key", new Parameter0.Parameter01()) + ); + } + + // HeaderParameters + } +} diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/get/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/get/parameters.java new file mode 100644 index 00000000000..370ea2dbe7c --- /dev/null +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/get/parameters.java @@ -0,0 +1,22 @@ +package org.openapijsonschematools.client.paths.petpetid.get; + +import org.openapijsonschematools.client.paths.petpetid.get.parameters.Parameter0; +import org.openapijsonschematools.client.parameter.NonQueryParameter; + +import java.util.Map; +import java.util.AbstractMap; + +public class Parameters { + + public static class PathParametersDeserializer { + Map parameters; + + public PathParametersDeserializer() { + parameters = Map.ofEntries( + new AbstractMap.SimpleEntry<>("petId", new Parameter0.Parameter01()) + ); + } + + // deserialize PathParameters + } +} diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/post/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/post/parameters.java new file mode 100644 index 00000000000..95fd88ea356 --- /dev/null +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/post/parameters.java @@ -0,0 +1,22 @@ +package org.openapijsonschematools.client.paths.petpetid.post; + +import org.openapijsonschematools.client.paths.petpetid.post.parameters.Parameter0; +import org.openapijsonschematools.client.parameter.NonQueryParameter; + +import java.util.Map; +import java.util.AbstractMap; + +public class Parameters { + + public static class PathParametersDeserializer { + Map parameters; + + public PathParametersDeserializer() { + parameters = Map.ofEntries( + new AbstractMap.SimpleEntry<>("petId", new Parameter0.Parameter01()) + ); + } + + // deserialize PathParameters + } +} diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/parameters.java new file mode 100644 index 00000000000..7c94ff3fe94 --- /dev/null +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/parameters.java @@ -0,0 +1,22 @@ +package org.openapijsonschematools.client.paths.petpetiduploadimage.post; + +import org.openapijsonschematools.client.paths.petpetiduploadimage.post.parameters.Parameter0; +import org.openapijsonschematools.client.parameter.NonQueryParameter; + +import java.util.Map; +import java.util.AbstractMap; + +public class Parameters { + + public static class PathParametersDeserializer { + Map parameters; + + public PathParametersDeserializer() { + parameters = Map.ofEntries( + new AbstractMap.SimpleEntry<>("petId", new Parameter0.Parameter01()) + ); + } + + // deserialize PathParameters + } +} diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/parameters.java new file mode 100644 index 00000000000..a9f25d38c73 --- /dev/null +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/parameters.java @@ -0,0 +1,22 @@ +package org.openapijsonschematools.client.paths.storeorderorderid.delete; + +import org.openapijsonschematools.client.paths.storeorderorderid.delete.parameters.Parameter0; +import org.openapijsonschematools.client.parameter.NonQueryParameter; + +import java.util.Map; +import java.util.AbstractMap; + +public class Parameters { + + public static class PathParametersDeserializer { + Map parameters; + + public PathParametersDeserializer() { + parameters = Map.ofEntries( + new AbstractMap.SimpleEntry<>("order_id", new Parameter0.Parameter01()) + ); + } + + // deserialize PathParameters + } +} diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/parameters.java new file mode 100644 index 00000000000..d4286adb548 --- /dev/null +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/parameters.java @@ -0,0 +1,22 @@ +package org.openapijsonschematools.client.paths.storeorderorderid.get; + +import org.openapijsonschematools.client.paths.storeorderorderid.get.parameters.Parameter0; +import org.openapijsonschematools.client.parameter.NonQueryParameter; + +import java.util.Map; +import java.util.AbstractMap; + +public class Parameters { + + public static class PathParametersDeserializer { + Map parameters; + + public PathParametersDeserializer() { + parameters = Map.ofEntries( + new AbstractMap.SimpleEntry<>("order_id", new Parameter0.Parameter01()) + ); + } + + // deserialize PathParameters + } +} diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userlogin/get/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userlogin/get/parameters.java new file mode 100644 index 00000000000..ebdb5069b90 --- /dev/null +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userlogin/get/parameters.java @@ -0,0 +1,24 @@ +package org.openapijsonschematools.client.paths.userlogin.get; + +import org.openapijsonschematools.client.paths.userlogin.get.parameters.Parameter0; +import org.openapijsonschematools.client.paths.userlogin.get.parameters.Parameter1; +import org.openapijsonschematools.client.parameter.QueryParameter; + +import java.util.Map; +import java.util.AbstractMap; + +public class Parameters { + + public static class QueryParametersDeserializer { + Map parameters; + + public QueryParametersDeserializer() { + parameters = Map.ofEntries( + new AbstractMap.SimpleEntry<>("username", new Parameter0.Parameter01()), + new AbstractMap.SimpleEntry<>("password", new Parameter1.Parameter11()) + ); + } + + // QueryParameters + } +} diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/delete/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/delete/parameters.java new file mode 100644 index 00000000000..61f019ada2e --- /dev/null +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/delete/parameters.java @@ -0,0 +1,22 @@ +package org.openapijsonschematools.client.paths.userusername.delete; + +import org.openapijsonschematools.client.paths.userusername.delete.parameters.Parameter0; +import org.openapijsonschematools.client.parameter.NonQueryParameter; + +import java.util.Map; +import java.util.AbstractMap; + +public class Parameters { + + public static class PathParametersDeserializer { + Map parameters; + + public PathParametersDeserializer() { + parameters = Map.ofEntries( + new AbstractMap.SimpleEntry<>("", new Parameter0.Parameter01()) + ); + } + + // deserialize PathParameters + } +} diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/get/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/get/parameters.java new file mode 100644 index 00000000000..5ce2e7d0242 --- /dev/null +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/get/parameters.java @@ -0,0 +1,22 @@ +package org.openapijsonschematools.client.paths.userusername.get; + +import org.openapijsonschematools.client.paths.userusername.get.parameters.Parameter0; +import org.openapijsonschematools.client.parameter.NonQueryParameter; + +import java.util.Map; +import java.util.AbstractMap; + +public class Parameters { + + public static class PathParametersDeserializer { + Map parameters; + + public PathParametersDeserializer() { + parameters = Map.ofEntries( + new AbstractMap.SimpleEntry<>("", new Parameter0.Parameter01()) + ); + } + + // deserialize PathParameters + } +} diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/put/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/put/parameters.java new file mode 100644 index 00000000000..aa889ecd528 --- /dev/null +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/put/parameters.java @@ -0,0 +1,22 @@ +package org.openapijsonschematools.client.paths.userusername.put; + +import org.openapijsonschematools.client.paths.userusername.put.parameters.Parameter0; +import org.openapijsonschematools.client.parameter.NonQueryParameter; + +import java.util.Map; +import java.util.AbstractMap; + +public class Parameters { + + public static class PathParametersDeserializer { + Map parameters; + + public PathParametersDeserializer() { + parameters = Map.ofEntries( + new AbstractMap.SimpleEntry<>("", new Parameter0.Parameter01()) + ); + } + + // deserialize PathParameters + } +} diff --git a/src/main/java/org/openapijsonschematools/codegen/generatorrunner/DefaultGeneratorRunner.java b/src/main/java/org/openapijsonschematools/codegen/generatorrunner/DefaultGeneratorRunner.java index 582a8dbb44e..87cd471f291 100644 --- a/src/main/java/org/openapijsonschematools/codegen/generatorrunner/DefaultGeneratorRunner.java +++ b/src/main/java/org/openapijsonschematools/codegen/generatorrunner/DefaultGeneratorRunner.java @@ -508,7 +508,9 @@ private void generatePathItem(List files, CodegenKey pathKey, CodegenPathI if (operation.parametersInfo != null) { if (operation.parametersInfo.parameters != null && !operation.parametersInfo.parameters.allParameters.isEmpty()) { String parametersJsonPath = operationJsonPath + "/parameters"; - generateXs(files, parametersJsonPath, CodegenConstants.JSON_PATH_LOCATION_TYPE.PARAMETERS, CodegenConstants.PARAMETERS, null, true); + Map parametersTemplateInfo = new HashMap<>(); + parametersTemplateInfo.put("parametersInfo", operation.parametersInfo); + generateXs(files, parametersJsonPath, CodegenConstants.JSON_PATH_LOCATION_TYPE.PARAMETERS, CodegenConstants.PARAMETERS, parametersTemplateInfo, true); Integer i = 0; for (CodegenParameter cp: operation.parametersInfo.parameters.allParameters) { String parameterJsonPath = parametersJsonPath + "/" + i.toString(); diff --git a/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java b/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java index 55bb200bb2b..b9117a4b881 100644 --- a/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java +++ b/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java @@ -942,6 +942,12 @@ public void processOpts() { put("src/main/java/packagename/components/parameter/Parameter.hbs", ".java"); }} ); + jsonPathTemplateFiles.put( + CodegenConstants.JSON_PATH_LOCATION_TYPE.PARAMETERS, + new HashMap<>() {{ + put("src/main/java/packagename/paths/path/verb/Parameters.hbs", ".java"); + }} + ); jsonPathDocTemplateFiles.put( CodegenConstants.JSON_PATH_LOCATION_TYPE.PARAMETER, new HashMap<>() {{ @@ -958,7 +964,7 @@ public void processOpts() { jsonPathTemplateFiles.put( CodegenConstants.JSON_PATH_LOCATION_TYPE.RESPONSES, new HashMap<>() {{ - put("src/main/java/packagename/components/responses/Responses.hbs", ".java"); + put("src/main/java/packagename/paths/path/verb/Responses.hbs", ".java"); }} ); jsonPathDocTemplateFiles.put( diff --git a/src/main/java/org/openapijsonschematools/codegen/generators/openapimodels/CodegenParametersInfo.java b/src/main/java/org/openapijsonschematools/codegen/generators/openapimodels/CodegenParametersInfo.java index 213102530fb..353ea3eb08d 100644 --- a/src/main/java/org/openapijsonschematools/codegen/generators/openapimodels/CodegenParametersInfo.java +++ b/src/main/java/org/openapijsonschematools/codegen/generators/openapimodels/CodegenParametersInfo.java @@ -1,16 +1,91 @@ package org.openapijsonschematools.codegen.generators.openapimodels; +import java.util.ArrayList; +import java.util.List; + public class CodegenParametersInfo { public final CodegenKey jsonPathPiece; public final String subpackage; public final ParameterCollection parameters; + public final ParameterCollection pathItemParameters; public final CodegenSchema pathParametersSchema; public final CodegenSchema queryParametersSchema; public final CodegenSchema headerParametersSchema; public final CodegenSchema cookieParametersSchema; - public final ParameterCollection pathItemParameters; public final boolean hasRequired; + public List pathParameters() { + List params = new ArrayList<>(); + if (parameters != null && parameters.pathParameters != null) { + for (CodegenParameter p: parameters.pathParameters) { + params.add(p); + } + } + if (pathItemParameters != null && pathItemParameters.pathParameters != null) { + for (CodegenParameter p: pathItemParameters.pathParameters) { + params.add(p); + } + } + if (params.isEmpty()) { + return null; + } + return params; + } + + public List queryParameters() { + List params = new ArrayList<>(); + if (parameters != null && parameters.queryParameters != null) { + for (CodegenParameter p: parameters.queryParameters) { + params.add(p); + } + } + if (pathItemParameters != null && pathItemParameters.queryParameters != null) { + for (CodegenParameter p: pathItemParameters.queryParameters) { + params.add(p); + } + } + if (params.isEmpty()) { + return null; + } + return params; + } + + public List headerParameters() { + List params = new ArrayList<>(); + if (parameters != null && parameters.headerParameters != null) { + for (CodegenParameter p: parameters.headerParameters) { + params.add(p); + } + } + if (pathItemParameters != null && pathItemParameters.headerParameters != null) { + for (CodegenParameter p: pathItemParameters.headerParameters) { + params.add(p); + } + } + if (params.isEmpty()) { + return null; + } + return params; + } + + public List cookieParameters() { + List params = new ArrayList<>(); + if (parameters != null && parameters.cookieParameters != null) { + for (CodegenParameter p: parameters.cookieParameters) { + params.add(p); + } + } + if (pathItemParameters != null && pathItemParameters.cookieParameters != null) { + for (CodegenParameter p: pathItemParameters.cookieParameters) { + params.add(p); + } + } + if (params.isEmpty()) { + return null; + } + return params; + } + public CodegenParametersInfo(CodegenKey jsonPathPiece, String subpackage, ParameterCollection parameters, CodegenSchema pathParametersSchema, CodegenSchema queryParametersSchema, CodegenSchema headerParametersSchema, CodegenSchema cookieParametersSchema, ParameterCollection pathItemParameters) { this.jsonPathPiece = jsonPathPiece; this.subpackage = subpackage; @@ -29,8 +104,8 @@ public CodegenParametersInfo(CodegenKey jsonPathPiece, String subpackage, Parame } } } - if (!hasRequired) { - for (CodegenParameter param: pathItemParameters.allParameters) { + if (!hasRequired && pathItemParameters != null) { + for (CodegenParameter param : pathItemParameters.allParameters) { if (Boolean.TRUE.equals(param.getSelfOrDeepestRef().required)) { hasRequired = true; break; diff --git a/src/main/resources/java/src/main/java/packagename/paths/path/verb/Parameters.hbs b/src/main/resources/java/src/main/java/packagename/paths/path/verb/Parameters.hbs new file mode 100644 index 00000000000..99c7cb4ff32 --- /dev/null +++ b/src/main/resources/java/src/main/java/packagename/paths/path/verb/Parameters.hbs @@ -0,0 +1,98 @@ +{{#with parametersInfo}} +package {{packageName}}.{{subpackage}}; + + {{#with pathItemParameters}} + {{#each allParameters}} +import {{packageName}}.{{subpackage}}.{{jsonPathPiece.pascalCase}}; + {{/each}} + {{/with}} + {{#with parameters}} + {{#each allParameters}} +import {{packageName}}.{{subpackage}}.{{jsonPathPiece.pascalCase}}; + {{/each}} + {{/with}} + {{#if queryParametersSchema}} +import {{packageName}}.parameter.QueryParameter; + {{/if}} + {{#or pathParametersSchema headerParametersSchema cookieParametersSchema}} +import {{packageName}}.parameter.NonQueryParameter; + {{/or}} + +import java.util.Map; +import java.util.AbstractMap; + +public class {{jsonPathPiece.pascalCase}} { + {{#if pathParametersSchema}} + + public static class PathParametersDeserializer { + Map parameters; + + public PathParametersDeserializer() { + parameters = Map.ofEntries( + {{#each pathParameters}} + new AbstractMap.SimpleEntry<>("{{{name}}}", new {{jsonPathPiece.pascalCase}}.{{jsonPathPiece.pascalCase}}1()){{#unless @last}},{{/unless}} + {{/each}} + ); + } + + {{#with pathParametersSchema}} + // deserialize {{containerJsonPathPiece.pascalCase}} + {{/with}} + } + {{/if}} + {{#if queryParametersSchema}} + + public static class QueryParametersDeserializer { + Map parameters; + + public QueryParametersDeserializer() { + parameters = Map.ofEntries( + {{#each queryParameters}} + new AbstractMap.SimpleEntry<>("{{{name}}}", new {{jsonPathPiece.pascalCase}}.{{jsonPathPiece.pascalCase}}1()){{#unless @last}},{{/unless}} + {{/each}} + ); + } + + {{#with queryParametersSchema}} + // {{containerJsonPathPiece.pascalCase}} + {{/with}} + } + {{/if}} + {{#if headerParametersSchema}} + + public static class HeaderParametersDeserializer { + Map parameters; + + public HeaderParametersDeserializer() { + parameters = Map.ofEntries( + {{#each headerParameters}} + new AbstractMap.SimpleEntry<>("{{{name}}}", new {{jsonPathPiece.pascalCase}}.{{jsonPathPiece.pascalCase}}1()){{#unless @last}},{{/unless}} + {{/each}} + ); + } + + {{#with headerParametersSchema}} + // {{containerJsonPathPiece.pascalCase}} + {{/with}} + } + {{/if}} + {{#if cookieParametersSchema}} + + public static class CookieParametersDeserializer { + Map parameters; + + public CookieParametersDeserializer() { + parameters = Map.ofEntries( + {{#each cookieParameters}} + new AbstractMap.SimpleEntry<>("{{{name}}}", new {{jsonPathPiece.pascalCase}}.{{jsonPathPiece.pascalCase}}1()){{#unless @last}},{{/unless}} + {{/each}} + ); + } + + {{#with cookieParametersSchema}} + // {{containerJsonPathPiece.pascalCase}} + {{/with}} + } + {{/if}} +} +{{/with}} \ No newline at end of file diff --git a/src/main/resources/java/src/main/java/packagename/components/responses/Responses.hbs b/src/main/resources/java/src/main/java/packagename/paths/path/verb/Responses.hbs similarity index 92% rename from src/main/resources/java/src/main/java/packagename/components/responses/Responses.hbs rename to src/main/resources/java/src/main/java/packagename/paths/path/verb/Responses.hbs index 84089cf9d0f..02100fba445 100644 --- a/src/main/resources/java/src/main/java/packagename/components/responses/Responses.hbs +++ b/src/main/resources/java/src/main/java/packagename/paths/path/verb/Responses.hbs @@ -87,7 +87,7 @@ public class {{responses.jsonPathPiece.pascalCase}} { {{#and statusCodeResponses wildcardCodeResponses }} @Nullable StatusCodeResponseDeserializer statusCodeDeserializer = statusCodeToResponseDeserializer.get(statusCode); if (statusCodeDeserializer != null) { - {{> src/main/java/packagename/components/responses/_statusCodeDeserialization }} + {{> src/main/java/packagename/paths/path/verb/_statusCodeDeserialization }} } @Nullable WildcardCodeResponseDeserializer wildcardCodeDeserializer = wildcardCodeToResponseDeserializer.get(statusCode); if (wildcardCodeDeserializer == null) { @@ -96,7 +96,7 @@ public class {{responses.jsonPathPiece.pascalCase}} { response ); } - {{> src/main/java/packagename/components/responses/_wildcardCodeDeserialization }} + {{> src/main/java/packagename/paths/path/verb/_wildcardCodeDeserialization }} {{else}} {{#or statusCodeResponses wildcardCodeResponses }} {{#if statusCodeResponses }} @@ -107,7 +107,7 @@ public class {{responses.jsonPathPiece.pascalCase}} { response ); } - {{> src/main/java/packagename/components/responses/_statusCodeDeserialization }} + {{> src/main/java/packagename/paths/path/verb/_statusCodeDeserialization }} {{else}} @Nullable WildcardCodeResponseDeserializer wildcardCodeDeserializer = wildcardCodeToResponseDeserializer.get(statusCode); if (wildcardCodeDeserializer == null) { @@ -116,7 +116,7 @@ public class {{responses.jsonPathPiece.pascalCase}} { response ); } - {{> src/main/java/packagename/components/responses/_wildcardCodeDeserialization }} + {{> src/main/java/packagename/paths/path/verb/_wildcardCodeDeserialization }} {{/if}} {{/or}} {{/and}} @@ -129,12 +129,12 @@ public class {{responses.jsonPathPiece.pascalCase}} { {{#if statusCodeResponses}} @Nullable StatusCodeResponseDeserializer statusCodeDeserializer = statusCodeToResponseDeserializer.get(statusCode); if (statusCodeDeserializer != null) { - {{> src/main/java/packagename/components/responses/_statusCodeDeserialization }} + {{> src/main/java/packagename/paths/path/verb/_statusCodeDeserialization }} } {{else}} @Nullable WildcardCodeResponseDeserializer wildcardCodeDeserializer = wildcardCodeToResponseDeserializer.get(statusCode); if (wildcardCodeDeserializer != null) { - {{> src/main/java/packagename/components/responses/_wildcardCodeDeserialization }} + {{> src/main/java/packagename/paths/path/verb/_wildcardCodeDeserialization }} } {{/if}} var deserializedResponse = defaultResponseDeserializer.deserialize(response, configuration); diff --git a/src/main/resources/java/src/main/java/packagename/components/responses/_returnOrThrow.hbs b/src/main/resources/java/src/main/java/packagename/paths/path/verb/_returnOrThrow.hbs similarity index 100% rename from src/main/resources/java/src/main/java/packagename/components/responses/_returnOrThrow.hbs rename to src/main/resources/java/src/main/java/packagename/paths/path/verb/_returnOrThrow.hbs diff --git a/src/main/resources/java/src/main/java/packagename/components/responses/_statusCodeDeserialization.hbs b/src/main/resources/java/src/main/java/packagename/paths/path/verb/_statusCodeDeserialization.hbs similarity index 86% rename from src/main/resources/java/src/main/java/packagename/components/responses/_statusCodeDeserialization.hbs rename to src/main/resources/java/src/main/java/packagename/paths/path/verb/_statusCodeDeserialization.hbs index 70ff8d84eea..3c96f251864 100644 --- a/src/main/resources/java/src/main/java/packagename/components/responses/_statusCodeDeserialization.hbs +++ b/src/main/resources/java/src/main/java/packagename/paths/path/verb/_statusCodeDeserialization.hbs @@ -2,7 +2,7 @@ {{#each statusCodeResponses}} Status{{jsonPathPiece.pascalCase}}Deserializer castDeserializer = (Status{{jsonPathPiece.pascalCase}}Deserializer) statusCodeDeserializer; var deserializedResponse = castDeserializer.deserialize(response, configuration); -{{> src/main/java/packagename/components/responses/_returnOrThrow }} +{{> src/main/java/packagename/paths/path/verb/_returnOrThrow }} {{/each}} {{else}} {{#each statusCodeResponses}} @@ -17,7 +17,7 @@ if (statusCodeDeserializer instanceof Status{{jsonPathPiece.pascalCase}}Deserial {{/if}} {{/if}} var deserializedResponse = castDeserializer.deserialize(response, configuration); - {{> src/main/java/packagename/components/responses/_returnOrThrow }} + {{> src/main/java/packagename/paths/path/verb/_returnOrThrow }} {{/each}} } {{/eq}} \ No newline at end of file diff --git a/src/main/resources/java/src/main/java/packagename/components/responses/_wildcardCodeDeserialization.hbs b/src/main/resources/java/src/main/java/packagename/paths/path/verb/_wildcardCodeDeserialization.hbs similarity index 87% rename from src/main/resources/java/src/main/java/packagename/components/responses/_wildcardCodeDeserialization.hbs rename to src/main/resources/java/src/main/java/packagename/paths/path/verb/_wildcardCodeDeserialization.hbs index 040f0e31e62..38ebf7b0dc5 100644 --- a/src/main/resources/java/src/main/java/packagename/components/responses/_wildcardCodeDeserialization.hbs +++ b/src/main/resources/java/src/main/java/packagename/paths/path/verb/_wildcardCodeDeserialization.hbs @@ -2,7 +2,7 @@ {{#each wildcardCodeResponses}} Wildcard{{jsonPathPiece.pascalCase}}Deserializer castDeserializer = (Wildcard{{jsonPathPiece.pascalCase}}Deserializer) wildcardCodeDeserializer; var deserializedResponse = castDeserializer.deserialize(response, configuration); -{{> src/main/java/packagename/components/responses/_returnOrThrow }} +{{> src/main/java/packagename/paths/path/verb/_returnOrThrow }} {{/each}} {{else}} {{#each wildcardCodeResponses}} @@ -17,7 +17,7 @@ if (wildcardCodeDeserializer instanceof Wildcard{{jsonPathPiece.pascalCase}}Dese {{/if}} {{/if}} var deserializedResponse = castDeserializer.deserialize(response, configuration); - {{> src/main/java/packagename/components/responses/_returnOrThrow }} + {{> src/main/java/packagename/paths/path/verb/_returnOrThrow }} {{/each}} } {{/eq}} \ No newline at end of file From caa565c89b8b39fdc74a3a828960fd07f94a9286 Mon Sep 17 00:00:00 2001 From: Justin Black Date: Tue, 5 Mar 2024 14:01:29 -0800 Subject: [PATCH 04/29] Removes unused doc --- .../routeparameter0/PathParamSchema0.md | 96 ------------------- 1 file changed, 96 deletions(-) delete mode 100644 samples/client/petstore/java/docs/paths/commonparamsubdir/parameters/routeparameter0/PathParamSchema0.md diff --git a/samples/client/petstore/java/docs/paths/commonparamsubdir/parameters/routeparameter0/PathParamSchema0.md b/samples/client/petstore/java/docs/paths/commonparamsubdir/parameters/routeparameter0/PathParamSchema0.md deleted file mode 100644 index 88e05b5d341..00000000000 --- a/samples/client/petstore/java/docs/paths/commonparamsubdir/parameters/routeparameter0/PathParamSchema0.md +++ /dev/null @@ -1,96 +0,0 @@ -# PathParamSchema0 -public class PathParamSchema0
- -A class that contains necessary nested -- schema classes (which validate payloads), extends JsonSchema -- sealed interfaces which store validated payloads, java version of a sum type -- boxed classes which store validated payloads, sealed permits class implementations -- enum classes - -## Nested Class Summary -| Modifier and Type | Class and Description | -| ----------------- | ---------------------- | -| sealed interface | [PathParamSchema0.PathParamSchema01Boxed](#pathparamschema01boxed)
sealed interface for validated payloads | -| record | [PathParamSchema0.PathParamSchema01BoxedString](#pathparamschema01boxedstring)
boxed class to store validated String payloads | -| static class | [PathParamSchema0.PathParamSchema01](#pathparamschema01)
schema class | -| enum | [PathParamSchema0.StringPathParamSchemaEnums0](#stringpathparamschemaenums0)
String enum | - -## PathParamSchema01Boxed -public sealed interface PathParamSchema01Boxed
-permits
-[PathParamSchema01BoxedString](#pathparamschema01boxedstring) - -sealed interface that stores validated payloads using boxed classes - -## PathParamSchema01BoxedString -public record PathParamSchema01BoxedString
-implements [PathParamSchema01Boxed](#pathparamschema01boxed) - -record that stores validated String payloads, sealed permits implementation - -### Constructor Summary -| Constructor and Description | -| --------------------------- | -| PathParamSchema01BoxedString(String data)
Creates an instance, private visibility | - -### Method Summary -| Modifier and Type | Method and Description | -| ----------------- | ---------------------- | -| String | data()
validated payload | -| @Nullable Object | getData()
validated payload | - -## PathParamSchema01 -public static class PathParamSchema01
-extends JsonSchema - -A schema class that validates payloads - -### Code Sample -``` -import org.openapijsonschematools.client.configurations.JsonSchemaKeywordFlags; -import org.openapijsonschematools.client.configurations.SchemaConfiguration; -import org.openapijsonschematools.client.exceptions.ValidationException; -import org.openapijsonschematools.client.schemas.validation.MapUtils; -import org.openapijsonschematools.client.schemas.validation.FrozenList; -import org.openapijsonschematools.client.schemas.validation.FrozenMap; -import org.openapijsonschematools.client.paths.commonparamsubdir.parameters.routeparameter0.PathParamSchema0; - -import java.util.Arrays; -import java.util.List; -import java.util.AbstractMap; - -static final SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); - -// String validation -String validatedPayload = PathParamSchema0.PathParamSchema01.validate( - "a", - configuration -); -``` - -### Field Summary -| Modifier and Type | Field and Description | -| ----------------- | ---------------------- | -| Set> | type = Set.of(
    String.class
)
| -| Set | enumValues = SetMaker.makeSet(
    "a",
    "b"
)
| - -### Method Summary -| Modifier and Type | Method and Description | -| ----------------- | ---------------------- | -| String | validate(String arg, SchemaConfiguration configuration) | -| String | validate([StringPathParamSchemaEnums0](#stringpathparamschemaenums0) arg, SchemaConfiguration configuration) | -| [PathParamSchema01BoxedString](#pathparamschema01boxedstring) | validateAndBox(String arg, SchemaConfiguration configuration) | -| [PathParamSchema01Boxed](#pathparamschema01boxed) | validateAndBox(@Nullable Object arg, SchemaConfiguration configuration) | -| @Nullable Object | validate(@Nullable Object arg, SchemaConfiguration configuration) | - -## StringPathParamSchemaEnums0 -public enum StringPathParamSchemaEnums0
-extends `Enum` - -A class that stores String enum values - -### Enum Constant Summary -| Enum Constant | Description | -| ------------- | ----------- | -| A | value = "a" | -| B | value = "b" | From d7f437f42a74f8e6427c11034fb41930d6e1230f Mon Sep 17 00:00:00 2001 From: Justin Black Date: Tue, 5 Mar 2024 14:43:00 -0800 Subject: [PATCH 05/29] Sample regen to eliminate extra parameter files --- samples/client/petstore/java/.openapi-generator/FILES | 2 -- .../client/components/parameters.java | 0 .../client/paths/commonparamsubdir/parameters.java | 0 .../codegen/generatorrunner/DefaultGeneratorRunner.java | 7 ++++--- .../codegen/generators/JavaClientGenerator.java | 8 +++++++- 5 files changed, 11 insertions(+), 6 deletions(-) delete mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/components/parameters.java delete mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/parameters.java diff --git a/samples/client/petstore/java/.openapi-generator/FILES b/samples/client/petstore/java/.openapi-generator/FILES index 2d9f756591a..6297287f289 100644 --- a/samples/client/petstore/java/.openapi-generator/FILES +++ b/samples/client/petstore/java/.openapi-generator/FILES @@ -349,7 +349,6 @@ src/main/java/org/openapijsonschematools/client/components/headers/numberheader/ src/main/java/org/openapijsonschematools/client/components/headers/refcontentschemaheader/content/applicationjson/RefContentSchemaHeaderSchema.java src/main/java/org/openapijsonschematools/client/components/headers/refschemaheader/RefSchemaHeaderSchema.java src/main/java/org/openapijsonschematools/client/components/headers/stringheader/StringHeaderSchema.java -src/main/java/org/openapijsonschematools/client/components/parameters.java src/main/java/org/openapijsonschematools/client/components/parameters/ComponentRefSchemaStringWithValidation.java src/main/java/org/openapijsonschematools/client/components/parameters/PathUserName.java src/main/java/org/openapijsonschematools/client/components/parameters/RefPathUserName.java @@ -589,7 +588,6 @@ src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/para src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/parameters/parameter0/Schema0.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/responses/Code200Response.java -src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/parameters.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/parameters/RouteParameter0.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/parameters/routeparameter0/RouteParamSchema0.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/HeaderParameters.java diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/components/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/components/parameters.java deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/parameters.java deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/src/main/java/org/openapijsonschematools/codegen/generatorrunner/DefaultGeneratorRunner.java b/src/main/java/org/openapijsonschematools/codegen/generatorrunner/DefaultGeneratorRunner.java index 87cd471f291..c283f01a410 100644 --- a/src/main/java/org/openapijsonschematools/codegen/generatorrunner/DefaultGeneratorRunner.java +++ b/src/main/java/org/openapijsonschematools/codegen/generatorrunner/DefaultGeneratorRunner.java @@ -430,10 +430,11 @@ private void generatePathItem(List files, CodegenKey pathKey, CodegenPathI } if (pathItem.parameters != null) { - generateXs(files, jsonPath + "/parameters", CodegenConstants.JSON_PATH_LOCATION_TYPE.PARAMETERS, CodegenConstants.PARAMETERS, null, true); + String parametersJsonPath = jsonPath + "/parameters"; + generateXs(files, parametersJsonPath, CodegenConstants.JSON_PATH_LOCATION_TYPE.PARAMETERS, CodegenConstants.PARAMETERS, null, generator.shouldGenerateFile(parametersJsonPath)); int i = 0; for (CodegenParameter param: pathItem.parameters) { - generateParameter(files, param, jsonPath + "/parameters/" + i); + generateParameter(files, param, parametersJsonPath + "/" + i); i += 1; } } @@ -841,7 +842,7 @@ private TreeMap generateParameters(List files) { } TreeMap parameters = new TreeMap<>(); String parametersJsonPath = "#/components/parameters"; - generateXs(files, parametersJsonPath, CodegenConstants.JSON_PATH_LOCATION_TYPE.PARAMETERS, CodegenConstants.PARAMETERS, null, true); + generateXs(files, parametersJsonPath, CodegenConstants.JSON_PATH_LOCATION_TYPE.PARAMETERS, CodegenConstants.PARAMETERS, null, generator.shouldGenerateFile(parametersJsonPath)); for (Map.Entry entry: specParameters.entrySet()) { String componentName = entry.getKey(); Parameter specParameter = entry.getValue(); diff --git a/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java b/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java index b9117a4b881..55d6c54f4a2 100644 --- a/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java +++ b/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java @@ -3291,8 +3291,14 @@ public CodegenSchema fromSchema(Schema p, String sourceJsonPath, String currentJ public boolean shouldGenerateFile(String jsonPath) { if (jsonPath.equals("#/components/responses")) { return false; + } else if (jsonPath.equals("#/components/headers")) { + return false; + } else if (jsonPath.equals("#/components/parameters")) { + return false; } - if (jsonPath.equals("#/components/headers")) { + String[] pathPieces = jsonPath.split("/"); + if (pathPieces.length == 4 && jsonPath.endsWith("/parameters")) { + // #/paths/path/parameters return false; } return true; From db1da4f2332067de0e2aa4fee3d4ef7a8922d9fd Mon Sep 17 00:00:00 2001 From: Justin Black Date: Tue, 5 Mar 2024 15:11:29 -0800 Subject: [PATCH 06/29] Fixes parameter class filenames --- .../petstore/java/.openapi-generator/FILES | 54 +++++++++---------- .../{parameters.java => Parameters.java} | 0 .../get/{parameters.java => Parameters.java} | 0 .../post/{parameters.java => Parameters.java} | 0 .../{parameters.java => Parameters.java} | 0 .../get/{parameters.java => Parameters.java} | 0 .../put/{parameters.java => Parameters.java} | 0 .../put/{parameters.java => Parameters.java} | 0 .../{parameters.java => Parameters.java} | 0 .../post/{parameters.java => Parameters.java} | 0 .../get/{parameters.java => Parameters.java} | 0 .../post/{parameters.java => Parameters.java} | 0 .../post/{parameters.java => Parameters.java} | 0 .../get/{parameters.java => Parameters.java} | 0 .../get/{parameters.java => Parameters.java} | 0 .../put/{parameters.java => Parameters.java} | 0 .../get/{parameters.java => Parameters.java} | 0 .../get/{parameters.java => Parameters.java} | 0 .../{parameters.java => Parameters.java} | 0 .../get/{parameters.java => Parameters.java} | 0 .../post/{parameters.java => Parameters.java} | 0 .../post/{parameters.java => Parameters.java} | 0 .../{parameters.java => Parameters.java} | 0 .../get/{parameters.java => Parameters.java} | 0 .../get/{parameters.java => Parameters.java} | 0 .../{parameters.java => Parameters.java} | 0 .../get/{parameters.java => Parameters.java} | 0 .../put/{parameters.java => Parameters.java} | 0 .../codegen/generators/DefaultGenerator.java | 5 +- .../generators/JavaClientGenerator.java | 9 ++-- .../generators/PythonClientGenerator.java | 5 ++ 31 files changed, 41 insertions(+), 32 deletions(-) rename samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/{parameters.java => Parameters.java} (100%) rename samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/{parameters.java => Parameters.java} (100%) rename samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/{parameters.java => Parameters.java} (100%) rename samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/{parameters.java => Parameters.java} (100%) rename samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/{parameters.java => Parameters.java} (100%) rename samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/{parameters.java => Parameters.java} (100%) rename samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/{parameters.java => Parameters.java} (100%) rename samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/{parameters.java => Parameters.java} (100%) rename samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/{parameters.java => Parameters.java} (100%) rename samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeobjinquery/get/{parameters.java => Parameters.java} (100%) rename samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/{parameters.java => Parameters.java} (100%) rename samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/{parameters.java => Parameters.java} (100%) rename samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/{parameters.java => Parameters.java} (100%) rename samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakerefobjinquery/get/{parameters.java => Parameters.java} (100%) rename samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/{parameters.java => Parameters.java} (100%) rename samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/{parameters.java => Parameters.java} (100%) rename samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/{parameters.java => Parameters.java} (100%) rename samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/{parameters.java => Parameters.java} (100%) rename samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/get/{parameters.java => Parameters.java} (100%) rename samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/post/{parameters.java => Parameters.java} (100%) rename samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/{parameters.java => Parameters.java} (100%) rename samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/{parameters.java => Parameters.java} (100%) rename samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/{parameters.java => Parameters.java} (100%) rename samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userlogin/get/{parameters.java => Parameters.java} (100%) rename samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/delete/{parameters.java => Parameters.java} (100%) rename samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/get/{parameters.java => Parameters.java} (100%) rename samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/put/{parameters.java => Parameters.java} (100%) diff --git a/samples/client/petstore/java/.openapi-generator/FILES b/samples/client/petstore/java/.openapi-generator/FILES index 6297287f289..6a86a49436f 100644 --- a/samples/client/petstore/java/.openapi-generator/FILES +++ b/samples/client/petstore/java/.openapi-generator/FILES @@ -573,35 +573,35 @@ src/main/java/org/openapijsonschematools/client/paths/anotherfakedummy/patch/Res src/main/java/org/openapijsonschematools/client/paths/anotherfakedummy/patch/responses/Code200Response.java src/main/java/org/openapijsonschematools/client/paths/anotherfakedummy/patch/responses/code200response/content/applicationjson/ApplicationjsonSchema.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/HeaderParameters.java +src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/Parameters.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/PathParameters.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/Responses.java -src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/parameters.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/parameters/Parameter1.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/parameters/parameter0/Schema0.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/parameters/parameter1/Schema1.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/responses/Code200Response.java +src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/Parameters.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/PathParameters.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/QueryParameters.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/Responses.java -src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/parameters.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/parameters/parameter0/Schema0.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/responses/Code200Response.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/parameters/RouteParameter0.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/parameters/routeparameter0/RouteParamSchema0.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/HeaderParameters.java +src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/Parameters.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/PathParameters.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/Responses.java -src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/parameters.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/parameters/parameter0/Schema0.java src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/responses/Code200Response.java src/main/java/org/openapijsonschematools/client/paths/fake/delete/FakeDeleteSecurityInfo.java src/main/java/org/openapijsonschematools/client/paths/fake/delete/HeaderParameters.java +src/main/java/org/openapijsonschematools/client/paths/fake/delete/Parameters.java src/main/java/org/openapijsonschematools/client/paths/fake/delete/QueryParameters.java src/main/java/org/openapijsonschematools/client/paths/fake/delete/Responses.java -src/main/java/org/openapijsonschematools/client/paths/fake/delete/parameters.java src/main/java/org/openapijsonschematools/client/paths/fake/delete/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/fake/delete/parameters/Parameter1.java src/main/java/org/openapijsonschematools/client/paths/fake/delete/parameters/Parameter2.java @@ -617,10 +617,10 @@ src/main/java/org/openapijsonschematools/client/paths/fake/delete/parameters/par src/main/java/org/openapijsonschematools/client/paths/fake/delete/responses/Code200Response.java src/main/java/org/openapijsonschematools/client/paths/fake/delete/security/FakeDeleteSecurityRequirementObject0.java src/main/java/org/openapijsonschematools/client/paths/fake/get/HeaderParameters.java +src/main/java/org/openapijsonschematools/client/paths/fake/get/Parameters.java src/main/java/org/openapijsonschematools/client/paths/fake/get/QueryParameters.java src/main/java/org/openapijsonschematools/client/paths/fake/get/RequestBody.java src/main/java/org/openapijsonschematools/client/paths/fake/get/Responses.java -src/main/java/org/openapijsonschematools/client/paths/fake/get/parameters.java src/main/java/org/openapijsonschematools/client/paths/fake/get/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/fake/get/parameters/Parameter1.java src/main/java/org/openapijsonschematools/client/paths/fake/get/parameters/Parameter2.java @@ -657,17 +657,17 @@ src/main/java/org/openapijsonschematools/client/paths/fakebodywithfileschema/put src/main/java/org/openapijsonschematools/client/paths/fakebodywithfileschema/put/Responses.java src/main/java/org/openapijsonschematools/client/paths/fakebodywithfileschema/put/requestbody/content/applicationjson/ApplicationjsonSchema.java src/main/java/org/openapijsonschematools/client/paths/fakebodywithfileschema/put/responses/Code200Response.java +src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/Parameters.java src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/QueryParameters.java src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/RequestBody.java src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/Responses.java -src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/parameters.java src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/parameters/parameter0/Schema0.java src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/requestbody/content/applicationjson/ApplicationjsonSchema.java src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/responses/Code200Response.java +src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/Parameters.java src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/QueryParameters.java src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/Responses.java -src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/parameters.java src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/parameters/Parameter1.java src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/parameters/Parameter2.java @@ -681,9 +681,9 @@ src/main/java/org/openapijsonschematools/client/paths/fakeclassnametest/patch/Re src/main/java/org/openapijsonschematools/client/paths/fakeclassnametest/patch/responses/Code200Response.java src/main/java/org/openapijsonschematools/client/paths/fakeclassnametest/patch/responses/code200response/content/applicationjson/ApplicationjsonSchema.java src/main/java/org/openapijsonschematools/client/paths/fakeclassnametest/patch/security/FakeclassnametestPatchSecurityRequirementObject0.java +src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/Parameters.java src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/PathParameters.java src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/Responses.java -src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/parameters.java src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/parameters/parameter0/Schema0.java src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/responses/Code200Response.java @@ -695,10 +695,10 @@ src/main/java/org/openapijsonschematools/client/paths/fakeinlineadditionalproper src/main/java/org/openapijsonschematools/client/paths/fakeinlineadditionalproperties/post/Responses.java src/main/java/org/openapijsonschematools/client/paths/fakeinlineadditionalproperties/post/requestbody/content/applicationjson/ApplicationjsonSchema.java src/main/java/org/openapijsonschematools/client/paths/fakeinlineadditionalproperties/post/responses/Code200Response.java +src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/Parameters.java src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/QueryParameters.java src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/RequestBody.java src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/Responses.java -src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/parameters.java src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/parameters/Parameter1.java src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/parameters/parameter0/Schema0.java @@ -739,19 +739,19 @@ src/main/java/org/openapijsonschematools/client/paths/fakemultiplesecurities/get src/main/java/org/openapijsonschematools/client/paths/fakemultiplesecurities/get/security/FakemultiplesecuritiesGetSecurityRequirementObject0.java src/main/java/org/openapijsonschematools/client/paths/fakemultiplesecurities/get/security/FakemultiplesecuritiesGetSecurityRequirementObject1.java src/main/java/org/openapijsonschematools/client/paths/fakemultiplesecurities/get/security/FakemultiplesecuritiesGetSecurityRequirementObject2.java +src/main/java/org/openapijsonschematools/client/paths/fakeobjinquery/get/Parameters.java src/main/java/org/openapijsonschematools/client/paths/fakeobjinquery/get/QueryParameters.java src/main/java/org/openapijsonschematools/client/paths/fakeobjinquery/get/Responses.java -src/main/java/org/openapijsonschematools/client/paths/fakeobjinquery/get/parameters.java src/main/java/org/openapijsonschematools/client/paths/fakeobjinquery/get/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/fakeobjinquery/get/parameters/parameter0/Schema0.java src/main/java/org/openapijsonschematools/client/paths/fakeobjinquery/get/responses/Code200Response.java src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/CookieParameters.java src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/HeaderParameters.java +src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/Parameters.java src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/PathParameters.java src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/QueryParameters.java src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/RequestBody.java src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/Responses.java -src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters.java src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter1.java src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter10.java @@ -799,19 +799,19 @@ src/main/java/org/openapijsonschematools/client/paths/fakepemcontenttype/get/req src/main/java/org/openapijsonschematools/client/paths/fakepemcontenttype/get/responses/Code200Response.java src/main/java/org/openapijsonschematools/client/paths/fakepemcontenttype/get/responses/code200response/content/applicationxpemfile/ApplicationxpemfileSchema.java src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/FakepetiduploadimagewithrequiredfilePostSecurityInfo.java +src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/Parameters.java src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/PathParameters.java src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/RequestBody.java src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/Responses.java -src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/parameters.java src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/parameters/parameter0/Schema0.java src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/requestbody/content/multipartformdata/MultipartformdataSchema.java src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/responses/Code200Response.java src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/responses/code200response/content/applicationjson/ApplicationjsonSchema.java src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/security/FakepetiduploadimagewithrequiredfilePostSecurityRequirementObject0.java +src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/Parameters.java src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/QueryParameters.java src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/Responses.java -src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/parameters.java src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/parameters/parameter0/content/applicationjson/Schema0.java src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/responses/Code200Response.java @@ -819,9 +819,9 @@ src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncont src/main/java/org/openapijsonschematools/client/paths/fakeredirection/get/Responses.java src/main/java/org/openapijsonschematools/client/paths/fakeredirection/get/responses/Code303Response.java src/main/java/org/openapijsonschematools/client/paths/fakeredirection/get/responses/Code3XXResponse.java +src/main/java/org/openapijsonschematools/client/paths/fakerefobjinquery/get/Parameters.java src/main/java/org/openapijsonschematools/client/paths/fakerefobjinquery/get/QueryParameters.java src/main/java/org/openapijsonschematools/client/paths/fakerefobjinquery/get/Responses.java -src/main/java/org/openapijsonschematools/client/paths/fakerefobjinquery/get/parameters.java src/main/java/org/openapijsonschematools/client/paths/fakerefobjinquery/get/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/fakerefobjinquery/get/parameters/parameter0/Schema0.java src/main/java/org/openapijsonschematools/client/paths/fakerefobjinquery/get/responses/Code200Response.java @@ -872,9 +872,9 @@ src/main/java/org/openapijsonschematools/client/paths/fakerefsstring/post/respon src/main/java/org/openapijsonschematools/client/paths/fakerefsstring/post/responses/code200response/content/applicationjson/ApplicationjsonSchema.java src/main/java/org/openapijsonschematools/client/paths/fakeresponsewithoutschema/get/Responses.java src/main/java/org/openapijsonschematools/client/paths/fakeresponsewithoutschema/get/responses/Code200Response.java +src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/Parameters.java src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/QueryParameters.java src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/Responses.java -src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/parameters.java src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/parameters/Parameter1.java src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/parameters/Parameter2.java @@ -940,10 +940,10 @@ src/main/java/org/openapijsonschematools/client/paths/pet/put/responses/Code405R src/main/java/org/openapijsonschematools/client/paths/pet/put/security/PetPutSecurityRequirementObject0.java src/main/java/org/openapijsonschematools/client/paths/pet/put/security/PetPutSecurityRequirementObject1.java src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/PetfindbystatusServerInfo.java +src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/Parameters.java src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/PetfindbystatusGetSecurityInfo.java src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/QueryParameters.java src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/Responses.java -src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/parameters.java src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/parameters/parameter0/Schema0.java src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/responses/Code200Response.java @@ -954,10 +954,10 @@ src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/securi src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/servers/PetfindbystatusServer0.java src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/servers/PetfindbystatusServer1.java src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/servers/server1/Variables.java +src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/Parameters.java src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/PetfindbytagsGetSecurityInfo.java src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/QueryParameters.java src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/Responses.java -src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/parameters.java src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/parameters/parameter0/Schema0.java src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/responses/Code200Response.java @@ -965,10 +965,10 @@ src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/response src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/security/PetfindbytagsGetSecurityRequirementObject0.java src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/security/PetfindbytagsGetSecurityRequirementObject1.java src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/HeaderParameters.java +src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/Parameters.java src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/PathParameters.java src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/PetpetidDeleteSecurityInfo.java src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/Responses.java -src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/parameters.java src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/parameters/Parameter1.java src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/parameters/parameter0/Schema0.java @@ -976,10 +976,10 @@ src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/parameters src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/responses/Code400Response.java src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/security/PetpetidDeleteSecurityRequirementObject0.java src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/security/PetpetidDeleteSecurityRequirementObject1.java +src/main/java/org/openapijsonschematools/client/paths/petpetid/get/Parameters.java src/main/java/org/openapijsonschematools/client/paths/petpetid/get/PathParameters.java src/main/java/org/openapijsonschematools/client/paths/petpetid/get/PetpetidGetSecurityInfo.java src/main/java/org/openapijsonschematools/client/paths/petpetid/get/Responses.java -src/main/java/org/openapijsonschematools/client/paths/petpetid/get/parameters.java src/main/java/org/openapijsonschematools/client/paths/petpetid/get/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/petpetid/get/parameters/parameter0/Schema0.java src/main/java/org/openapijsonschematools/client/paths/petpetid/get/responses/Code200Response.java @@ -988,22 +988,22 @@ src/main/java/org/openapijsonschematools/client/paths/petpetid/get/responses/Cod src/main/java/org/openapijsonschematools/client/paths/petpetid/get/responses/code200response/content/applicationjson/ApplicationjsonSchema.java src/main/java/org/openapijsonschematools/client/paths/petpetid/get/responses/code200response/content/applicationxml/ApplicationxmlSchema.java src/main/java/org/openapijsonschematools/client/paths/petpetid/get/security/PetpetidGetSecurityRequirementObject0.java +src/main/java/org/openapijsonschematools/client/paths/petpetid/post/Parameters.java src/main/java/org/openapijsonschematools/client/paths/petpetid/post/PathParameters.java src/main/java/org/openapijsonschematools/client/paths/petpetid/post/PetpetidPostSecurityInfo.java src/main/java/org/openapijsonschematools/client/paths/petpetid/post/RequestBody.java src/main/java/org/openapijsonschematools/client/paths/petpetid/post/Responses.java -src/main/java/org/openapijsonschematools/client/paths/petpetid/post/parameters.java src/main/java/org/openapijsonschematools/client/paths/petpetid/post/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/petpetid/post/parameters/parameter0/Schema0.java src/main/java/org/openapijsonschematools/client/paths/petpetid/post/requestbody/content/applicationxwwwformurlencoded/ApplicationxwwwformurlencodedSchema.java src/main/java/org/openapijsonschematools/client/paths/petpetid/post/responses/Code405Response.java src/main/java/org/openapijsonschematools/client/paths/petpetid/post/security/PetpetidPostSecurityRequirementObject0.java src/main/java/org/openapijsonschematools/client/paths/petpetid/post/security/PetpetidPostSecurityRequirementObject1.java +src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/Parameters.java src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/PathParameters.java src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/PetpetiduploadimagePostSecurityInfo.java src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/RequestBody.java src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/Responses.java -src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/parameters.java src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/parameters/parameter0/Schema0.java src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/requestbody/content/multipartformdata/MultipartformdataSchema.java @@ -1022,16 +1022,16 @@ src/main/java/org/openapijsonschematools/client/paths/storeorder/post/responses/ src/main/java/org/openapijsonschematools/client/paths/storeorder/post/responses/Code400Response.java src/main/java/org/openapijsonschematools/client/paths/storeorder/post/responses/code200response/content/applicationjson/ApplicationjsonSchema.java src/main/java/org/openapijsonschematools/client/paths/storeorder/post/responses/code200response/content/applicationxml/ApplicationxmlSchema.java +src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/Parameters.java src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/PathParameters.java src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/Responses.java -src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/parameters.java src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/parameters/parameter0/Schema0.java src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/responses/Code400Response.java src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/responses/Code404Response.java +src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/Parameters.java src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/PathParameters.java src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/Responses.java -src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/parameters.java src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/parameters/parameter0/Schema0.java src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/responses/Code200Response.java @@ -1049,9 +1049,9 @@ src/main/java/org/openapijsonschematools/client/paths/usercreatewitharray/post/r src/main/java/org/openapijsonschematools/client/paths/usercreatewithlist/post/RequestBody.java src/main/java/org/openapijsonschematools/client/paths/usercreatewithlist/post/Responses.java src/main/java/org/openapijsonschematools/client/paths/usercreatewithlist/post/responses/CodedefaultResponse.java +src/main/java/org/openapijsonschematools/client/paths/userlogin/get/Parameters.java src/main/java/org/openapijsonschematools/client/paths/userlogin/get/QueryParameters.java src/main/java/org/openapijsonschematools/client/paths/userlogin/get/Responses.java -src/main/java/org/openapijsonschematools/client/paths/userlogin/get/parameters.java src/main/java/org/openapijsonschematools/client/paths/userlogin/get/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/userlogin/get/parameters/Parameter1.java src/main/java/org/openapijsonschematools/client/paths/userlogin/get/parameters/parameter0/Schema0.java @@ -1071,25 +1071,25 @@ src/main/java/org/openapijsonschematools/client/paths/userlogin/get/responses/co src/main/java/org/openapijsonschematools/client/paths/userlogin/get/responses/code200response/headers/xratelimit/content/applicationjson/XRateLimitSchema.java src/main/java/org/openapijsonschematools/client/paths/userlogout/get/Responses.java src/main/java/org/openapijsonschematools/client/paths/userlogout/get/responses/CodedefaultResponse.java +src/main/java/org/openapijsonschematools/client/paths/userusername/delete/Parameters.java src/main/java/org/openapijsonschematools/client/paths/userusername/delete/PathParameters.java src/main/java/org/openapijsonschematools/client/paths/userusername/delete/Responses.java -src/main/java/org/openapijsonschematools/client/paths/userusername/delete/parameters.java src/main/java/org/openapijsonschematools/client/paths/userusername/delete/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/userusername/delete/responses/Code200Response.java src/main/java/org/openapijsonschematools/client/paths/userusername/delete/responses/Code404Response.java +src/main/java/org/openapijsonschematools/client/paths/userusername/get/Parameters.java src/main/java/org/openapijsonschematools/client/paths/userusername/get/PathParameters.java src/main/java/org/openapijsonschematools/client/paths/userusername/get/Responses.java -src/main/java/org/openapijsonschematools/client/paths/userusername/get/parameters.java src/main/java/org/openapijsonschematools/client/paths/userusername/get/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/userusername/get/responses/Code200Response.java src/main/java/org/openapijsonschematools/client/paths/userusername/get/responses/Code400Response.java src/main/java/org/openapijsonschematools/client/paths/userusername/get/responses/Code404Response.java src/main/java/org/openapijsonschematools/client/paths/userusername/get/responses/code200response/content/applicationjson/ApplicationjsonSchema.java src/main/java/org/openapijsonschematools/client/paths/userusername/get/responses/code200response/content/applicationxml/ApplicationxmlSchema.java +src/main/java/org/openapijsonschematools/client/paths/userusername/put/Parameters.java src/main/java/org/openapijsonschematools/client/paths/userusername/put/PathParameters.java src/main/java/org/openapijsonschematools/client/paths/userusername/put/RequestBody.java src/main/java/org/openapijsonschematools/client/paths/userusername/put/Responses.java -src/main/java/org/openapijsonschematools/client/paths/userusername/put/parameters.java src/main/java/org/openapijsonschematools/client/paths/userusername/put/parameters/Parameter0.java src/main/java/org/openapijsonschematools/client/paths/userusername/put/requestbody/content/applicationjson/ApplicationjsonSchema.java src/main/java/org/openapijsonschematools/client/paths/userusername/put/responses/Code400Response.java diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/Parameters.java similarity index 100% rename from samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/parameters.java rename to samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/Parameters.java diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/Parameters.java similarity index 100% rename from samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/parameters.java rename to samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/Parameters.java diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/Parameters.java similarity index 100% rename from samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/parameters.java rename to samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/Parameters.java diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/Parameters.java similarity index 100% rename from samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/parameters.java rename to samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/Parameters.java diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/Parameters.java similarity index 100% rename from samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/parameters.java rename to samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/Parameters.java diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/Parameters.java similarity index 100% rename from samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/parameters.java rename to samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/Parameters.java diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/Parameters.java similarity index 100% rename from samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/parameters.java rename to samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/Parameters.java diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/Parameters.java similarity index 100% rename from samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/parameters.java rename to samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/Parameters.java diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/Parameters.java similarity index 100% rename from samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/parameters.java rename to samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/Parameters.java diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeobjinquery/get/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeobjinquery/get/Parameters.java similarity index 100% rename from samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeobjinquery/get/parameters.java rename to samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeobjinquery/get/Parameters.java diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/Parameters.java similarity index 100% rename from samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters.java rename to samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/Parameters.java diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/Parameters.java similarity index 100% rename from samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/parameters.java rename to samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/Parameters.java diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/Parameters.java similarity index 100% rename from samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/parameters.java rename to samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/Parameters.java diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakerefobjinquery/get/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakerefobjinquery/get/Parameters.java similarity index 100% rename from samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakerefobjinquery/get/parameters.java rename to samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakerefobjinquery/get/Parameters.java diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/Parameters.java similarity index 100% rename from samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/parameters.java rename to samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/Parameters.java diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/Parameters.java similarity index 100% rename from samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/parameters.java rename to samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/Parameters.java diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/Parameters.java similarity index 100% rename from samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/parameters.java rename to samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/Parameters.java diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/Parameters.java similarity index 100% rename from samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/parameters.java rename to samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/Parameters.java diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/get/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/get/Parameters.java similarity index 100% rename from samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/get/parameters.java rename to samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/get/Parameters.java diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/post/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/post/Parameters.java similarity index 100% rename from samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/post/parameters.java rename to samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/post/Parameters.java diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/Parameters.java similarity index 100% rename from samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/parameters.java rename to samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/Parameters.java diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/Parameters.java similarity index 100% rename from samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/parameters.java rename to samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/Parameters.java diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/Parameters.java similarity index 100% rename from samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/parameters.java rename to samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/Parameters.java diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userlogin/get/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userlogin/get/Parameters.java similarity index 100% rename from samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userlogin/get/parameters.java rename to samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userlogin/get/Parameters.java diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/delete/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/delete/Parameters.java similarity index 100% rename from samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/delete/parameters.java rename to samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/delete/Parameters.java diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/get/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/get/Parameters.java similarity index 100% rename from samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/get/parameters.java rename to samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/get/Parameters.java diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/put/parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/put/Parameters.java similarity index 100% rename from samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/put/parameters.java rename to samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/put/Parameters.java diff --git a/src/main/java/org/openapijsonschematools/codegen/generators/DefaultGenerator.java b/src/main/java/org/openapijsonschematools/codegen/generators/DefaultGenerator.java index 364367b2d47..dd45d620af4 100644 --- a/src/main/java/org/openapijsonschematools/codegen/generators/DefaultGenerator.java +++ b/src/main/java/org/openapijsonschematools/codegen/generators/DefaultGenerator.java @@ -155,6 +155,7 @@ public class DefaultGenerator implements Generator { protected String templateEngineName; protected String headersSchemaFragment = "Headers"; + protected static final Set operationVerbs = Set.of("get", "put", "post", "delete", "options", "head", "patch", "trace"); static { DefaultFeatureSet = FeatureSet.newBuilder() @@ -2735,7 +2736,7 @@ private CodegenParametersInfo getParametersInfo(LinkedHashMap length 5 + pathPieces[4] = toParameterFilename(pathPieces[4], jsonPath); return; } // #/paths/somePath/get/parameters/0 -> length 6 diff --git a/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java b/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java index 55d6c54f4a2..492e6509623 100644 --- a/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java +++ b/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java @@ -1334,9 +1334,6 @@ public String getPascalCaseParameter(String basename, String jsonPath) { } - private static final Set operationVerbs = Set.of("get", "put", "post", "delete", "options", "head", "patch", "trace"); - - @Override public String toParameterFilename(String name, String jsonPath) { // adds prefix parameter_ onto the result so modules do not start with _ @@ -1349,8 +1346,12 @@ public String toParameterFilename(String name, String jsonPath) { return toModuleFilename(name, jsonPath); } if (operationVerbs.contains(pathPieces[3])) { - // #/paths/somePath/verb/parameters/0 + if (pathPieces.length == 5) { + // #/paths/somePath/verb/parameters + return "Parameters"; + } if (pathPieces[pathPieces.length-2].equals("parameters") && isInteger(name) && pathPieces.length == 6) { + // #/paths/somePath/verb/parameters/0 return "Parameter" + name; } return "parameter" + name; diff --git a/src/main/java/org/openapijsonschematools/codegen/generators/PythonClientGenerator.java b/src/main/java/org/openapijsonschematools/codegen/generators/PythonClientGenerator.java index d9fc8dd5482..d52b3dacc04 100644 --- a/src/main/java/org/openapijsonschematools/codegen/generators/PythonClientGenerator.java +++ b/src/main/java/org/openapijsonschematools/codegen/generators/PythonClientGenerator.java @@ -1864,6 +1864,11 @@ protected String getRefClassWithModule(String ref, String sourceJsonPath) { @Override public String toParameterFilename(String name, String jsonPath) { + String[] pathPieces = jsonPath.split("/"); + if (operationVerbs.contains(pathPieces[3]) && pathPieces.length == 5) { + // #/paths/somePath/verb/parameters + return "parameters"; + } // adds prefix parameter_ onto the result so modules do not start with _ try { Integer.parseInt(name); From bfe05877c74e7979221cd8a03297305f98924876 Mon Sep 17 00:00:00 2001 From: Justin Black Date: Tue, 5 Mar 2024 15:49:05 -0800 Subject: [PATCH 07/29] Removes ? from query parameter serialization --- .../client/header/StyleSerializer.java | 6 ++---- .../client/header/StyleSimpleSerializer.java | 21 ------------------- .../client/parameter/ParameterBase.java | 2 +- .../client/parameter/SchemaParameter.java | 3 +-- .../parameter/SchemaQueryParameterTest.java | 18 ++++++++-------- .../packagename/header/StyleSerializer.hbs | 6 ++---- .../packagename/parameter/ParameterBase.hbs | 2 +- .../packagename/parameter/SchemaParameter.hbs | 3 +-- .../parameter/SchemaQueryParameterTest.hbs | 18 ++++++++-------- 9 files changed, 26 insertions(+), 53 deletions(-) delete mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/header/StyleSimpleSerializer.java diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/header/StyleSerializer.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/header/StyleSerializer.java index 088a1daf02b..e2035b14c66 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/header/StyleSerializer.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/header/StyleSerializer.java @@ -24,12 +24,10 @@ public static String serializeForm( String name, boolean explode, boolean percentEncode, - @Nullable PrefixSeparatorIterator iterator, - boolean isCookie + @Nullable PrefixSeparatorIterator iterator ) { // todo check that the prefix and suffix matches this one - String prefix = isCookie ? "" : "?"; - PrefixSeparatorIterator usedIterator = iterator == null ? new PrefixSeparatorIterator(prefix, "&") : iterator; + PrefixSeparatorIterator usedIterator = new PrefixSeparatorIterator("", "&"); return rfc6570Expansion( name, inData, diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/header/StyleSimpleSerializer.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/header/StyleSimpleSerializer.java deleted file mode 100644 index 1c8d5d7a27d..00000000000 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/header/StyleSimpleSerializer.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.openapijsonschematools.client.header; - -import org.checkerframework.checker.nullness.qual.Nullable; - -public class StyleSimpleSerializer extends Rfc6570Serializer { - public static String serializeSimple( - @Nullable Object inData, - String name, - boolean explode, - boolean percentEncode - ) { - var prefixSeparatorIterator = new PrefixSeparatorIterator("", ","); - return rfc6570Expansion( - name, - inData, - explode, - percentEncode, - prefixSeparatorIterator - ); - } -} diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ParameterBase.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ParameterBase.java index 742792cdb40..fc6f2973211 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ParameterBase.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ParameterBase.java @@ -28,7 +28,7 @@ protected ParameterStyle getStyle() { public PrefixSeparatorIterator getPrefixSeparatorIterator() { ParameterStyle usedStyle = getStyle(); if (usedStyle == ParameterStyle.FORM) { - return new PrefixSeparatorIterator("?", "&"); + return new PrefixSeparatorIterator("", "&"); } else if (usedStyle == ParameterStyle.SPACE_DELIMITED) { return new PrefixSeparatorIterator("", "%20"); } else if (usedStyle == ParameterStyle.PIPE_DELIMITED) { diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaParameter.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaParameter.java index 597916bbdfc..5649f50d58a 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaParameter.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaParameter.java @@ -30,8 +30,7 @@ protected Map serialize(@Nullable Object inData, boolean validat value = StyleSerializer.serializeSimple(castInData, name, usedExplode, percentEncode); } else if (usedStyle == ParameterStyle.FORM) { // query OR cookie - boolean isCookie = inType == ParameterInType.COOKIE; - value = StyleSerializer.serializeForm(castInData, name, usedExplode, percentEncode, iterator, isCookie); + value = StyleSerializer.serializeForm(castInData, name, usedExplode, percentEncode, iterator); } else if (usedStyle == ParameterStyle.LABEL) { // path value = StyleSerializer.serializeLabel(castInData, name, usedExplode); diff --git a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java index b36fc740804..a6a510112bf 100644 --- a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java +++ b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java @@ -39,23 +39,23 @@ public void testQueryParameterNoStyleSerialization() { ), new ParamTestCase( 1, - Map.of("color", "?color=1") + Map.of("color", "color=1") ), new ParamTestCase( 3.14, - Map.of("color","?color=3.14") + Map.of("color","color=3.14") ), new ParamTestCase( "blue", - Map.of("color", "?color=blue") + Map.of("color", "color=blue") ), new ParamTestCase( "hello world", - Map.of("color", "?color=hello%20world") + Map.of("color", "color=hello%20world") ), new ParamTestCase( "", - Map.of("color", "?color=") + Map.of("color", "color=") ), new ParamTestCase( List.of(), @@ -63,11 +63,11 @@ public void testQueryParameterNoStyleSerialization() { ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "?color=blue&color=black&color=brown") + Map.of("color", "color=blue&color=black&color=brown") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "?color=blue&color=black&color=brown"), + Map.of("color", "color=blue&color=black&color=brown"), true ), new ParamTestCase( @@ -76,11 +76,11 @@ public void testQueryParameterNoStyleSerialization() { ), new ParamTestCase( mapPayload, - Map.of("color", "?R=100&G=200&B=150") + Map.of("color", "R=100&G=200&B=150") ), new ParamTestCase( mapPayload, - Map.of("color", "?R=100&G=200&B=150"), + Map.of("color", "R=100&G=200&B=150"), true ) ); diff --git a/src/main/resources/java/src/main/java/packagename/header/StyleSerializer.hbs b/src/main/resources/java/src/main/java/packagename/header/StyleSerializer.hbs index dab4f9ff968..012d746807b 100644 --- a/src/main/resources/java/src/main/java/packagename/header/StyleSerializer.hbs +++ b/src/main/resources/java/src/main/java/packagename/header/StyleSerializer.hbs @@ -24,12 +24,10 @@ public class StyleSerializer extends Rfc6570Serializer { String name, boolean explode, boolean percentEncode, - @Nullable PrefixSeparatorIterator iterator, - boolean isCookie + @Nullable PrefixSeparatorIterator iterator ) { // todo check that the prefix and suffix matches this one - String prefix = isCookie ? "" : "?"; - PrefixSeparatorIterator usedIterator = iterator == null ? new PrefixSeparatorIterator(prefix, "&") : iterator; + PrefixSeparatorIterator usedIterator = new PrefixSeparatorIterator("", "&"); return rfc6570Expansion( name, inData, diff --git a/src/main/resources/java/src/main/java/packagename/parameter/ParameterBase.hbs b/src/main/resources/java/src/main/java/packagename/parameter/ParameterBase.hbs index 95e55de49af..d0e9da8eec9 100644 --- a/src/main/resources/java/src/main/java/packagename/parameter/ParameterBase.hbs +++ b/src/main/resources/java/src/main/java/packagename/parameter/ParameterBase.hbs @@ -28,7 +28,7 @@ public class ParameterBase extends HeaderBase { public PrefixSeparatorIterator getPrefixSeparatorIterator() { ParameterStyle usedStyle = getStyle(); if (usedStyle == ParameterStyle.FORM) { - return new PrefixSeparatorIterator("?", "&"); + return new PrefixSeparatorIterator("", "&"); } else if (usedStyle == ParameterStyle.SPACE_DELIMITED) { return new PrefixSeparatorIterator("", "%20"); } else if (usedStyle == ParameterStyle.PIPE_DELIMITED) { diff --git a/src/main/resources/java/src/main/java/packagename/parameter/SchemaParameter.hbs b/src/main/resources/java/src/main/java/packagename/parameter/SchemaParameter.hbs index 8df79fdba08..5fcd0fb4f1c 100644 --- a/src/main/resources/java/src/main/java/packagename/parameter/SchemaParameter.hbs +++ b/src/main/resources/java/src/main/java/packagename/parameter/SchemaParameter.hbs @@ -30,8 +30,7 @@ public class SchemaParameter extends ParameterBase { value = StyleSerializer.serializeSimple(castInData, name, usedExplode, percentEncode); } else if (usedStyle == ParameterStyle.FORM) { // query OR cookie - boolean isCookie = inType == ParameterInType.COOKIE; - value = StyleSerializer.serializeForm(castInData, name, usedExplode, percentEncode, iterator, isCookie); + value = StyleSerializer.serializeForm(castInData, name, usedExplode, percentEncode, iterator); } else if (usedStyle == ParameterStyle.LABEL) { // path value = StyleSerializer.serializeLabel(castInData, name, usedExplode); diff --git a/src/main/resources/java/src/test/java/packagename/parameter/SchemaQueryParameterTest.hbs b/src/main/resources/java/src/test/java/packagename/parameter/SchemaQueryParameterTest.hbs index 35c1410b28f..34e0d485319 100644 --- a/src/main/resources/java/src/test/java/packagename/parameter/SchemaQueryParameterTest.hbs +++ b/src/main/resources/java/src/test/java/packagename/parameter/SchemaQueryParameterTest.hbs @@ -39,23 +39,23 @@ public class SchemaQueryParameterTest { ), new ParamTestCase( 1, - Map.of("color", "?color=1") + Map.of("color", "color=1") ), new ParamTestCase( 3.14, - Map.of("color","?color=3.14") + Map.of("color","color=3.14") ), new ParamTestCase( "blue", - Map.of("color", "?color=blue") + Map.of("color", "color=blue") ), new ParamTestCase( "hello world", - Map.of("color", "?color=hello%20world") + Map.of("color", "color=hello%20world") ), new ParamTestCase( "", - Map.of("color", "?color=") + Map.of("color", "color=") ), new ParamTestCase( List.of(), @@ -63,11 +63,11 @@ public class SchemaQueryParameterTest { ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "?color=blue&color=black&color=brown") + Map.of("color", "color=blue&color=black&color=brown") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "?color=blue&color=black&color=brown"), + Map.of("color", "color=blue&color=black&color=brown"), true ), new ParamTestCase( @@ -76,11 +76,11 @@ public class SchemaQueryParameterTest { ), new ParamTestCase( mapPayload, - Map.of("color", "?R=100&G=200&B=150") + Map.of("color", "R=100&G=200&B=150") ), new ParamTestCase( mapPayload, - Map.of("color", "?R=100&G=200&B=150"), + Map.of("color", "R=100&G=200&B=150"), true ) ); From 4dd5c0b0b515e17cc56931128d5b6cec99d20fee Mon Sep 17 00:00:00 2001 From: Justin Black Date: Tue, 5 Mar 2024 16:11:09 -0800 Subject: [PATCH 08/29] Removes query parameter differentiation --- .../petstore/java/.openapi-generator/FILES | 8 +----- .../ComponentRefSchemaStringWithValidation.md | 2 +- .../components/parameters/PathUserName.md | 2 +- .../RefSchemaStringWithValidation.md | 2 +- ...omponentRefSchemaStringWithValidation.java | 4 +-- .../components/parameters/PathUserName.java | 4 +-- .../RefSchemaStringWithValidation.java | 4 +-- .../client/header/StyleSerializer.java | 17 +++++------ .../parameter/ContentNonQueryParameter.java | 19 ------------- .../client/parameter/ContentParameter.java | 4 +-- .../parameter/ContentQueryParameter.java | 20 ------------- ...{NonQueryParameter.java => Parameter.java} | 2 +- .../client/parameter/ParameterBase.java | 23 --------------- .../client/parameter/QueryParameter.java | 12 -------- .../parameter/SchemaNonQueryParameter.java | 20 ------------- .../client/parameter/SchemaParameter.java | 21 ++++++++++---- .../parameter/SchemaQueryParameter.java | 20 ------------- .../delete/parameters/Parameter0.java | 4 +-- .../delete/parameters/Parameter1.java | 4 +-- .../get/parameters/Parameter0.java | 4 +-- .../parameters/RouteParameter0.java | 4 +-- .../post/parameters/Parameter0.java | 4 +-- .../fake/delete/parameters/Parameter0.java | 4 +-- .../fake/delete/parameters/Parameter1.java | 4 +-- .../fake/delete/parameters/Parameter2.java | 4 +-- .../fake/delete/parameters/Parameter3.java | 4 +-- .../fake/delete/parameters/Parameter4.java | 4 +-- .../fake/delete/parameters/Parameter5.java | 4 +-- .../paths/fake/get/parameters/Parameter0.java | 4 +-- .../paths/fake/get/parameters/Parameter1.java | 4 +-- .../paths/fake/get/parameters/Parameter2.java | 4 +-- .../paths/fake/get/parameters/Parameter3.java | 4 +-- .../paths/fake/get/parameters/Parameter4.java | 4 +-- .../paths/fake/get/parameters/Parameter5.java | 4 +-- .../put/parameters/Parameter0.java | 4 +-- .../put/parameters/Parameter0.java | 4 +-- .../put/parameters/Parameter1.java | 4 +-- .../put/parameters/Parameter2.java | 4 +-- .../delete/parameters/Parameter0.java | 4 +-- .../post/parameters/Parameter0.java | 4 +-- .../post/parameters/Parameter1.java | 4 +-- .../get/parameters/Parameter0.java | 4 +-- .../post/parameters/Parameter0.java | 4 +-- .../post/parameters/Parameter1.java | 4 +-- .../post/parameters/Parameter10.java | 4 +-- .../post/parameters/Parameter11.java | 4 +-- .../post/parameters/Parameter12.java | 4 +-- .../post/parameters/Parameter13.java | 4 +-- .../post/parameters/Parameter14.java | 4 +-- .../post/parameters/Parameter15.java | 4 +-- .../post/parameters/Parameter16.java | 4 +-- .../post/parameters/Parameter17.java | 4 +-- .../post/parameters/Parameter18.java | 4 +-- .../post/parameters/Parameter2.java | 4 +-- .../post/parameters/Parameter3.java | 4 +-- .../post/parameters/Parameter4.java | 4 +-- .../post/parameters/Parameter5.java | 4 +-- .../post/parameters/Parameter6.java | 4 +-- .../post/parameters/Parameter7.java | 4 +-- .../post/parameters/Parameter8.java | 4 +-- .../post/parameters/Parameter9.java | 4 +-- .../post/parameters/Parameter0.java | 4 +-- .../get/parameters/Parameter0.java | 4 +-- .../get/parameters/Parameter0.java | 4 +-- .../put/parameters/Parameter0.java | 4 +-- .../put/parameters/Parameter1.java | 4 +-- .../put/parameters/Parameter2.java | 4 +-- .../put/parameters/Parameter3.java | 4 +-- .../put/parameters/Parameter4.java | 4 +-- .../put/parameters/Parameter5.java | 4 +-- .../get/parameters/Parameter0.java | 4 +-- .../get/parameters/Parameter0.java | 4 +-- .../delete/parameters/Parameter0.java | 4 +-- .../delete/parameters/Parameter1.java | 4 +-- .../petpetid/get/parameters/Parameter0.java | 4 +-- .../petpetid/post/parameters/Parameter0.java | 4 +-- .../post/parameters/Parameter0.java | 4 +-- .../delete/parameters/Parameter0.java | 4 +-- .../get/parameters/Parameter0.java | 4 +-- .../userlogin/get/parameters/Parameter0.java | 4 +-- .../userlogin/get/parameters/Parameter1.java | 4 +-- .../parameter/SchemaQueryParameterTest.java | 18 +++++------- .../generators/JavaClientGenerator.java | 28 ++----------------- .../components/parameter/Parameter.hbs | 14 ++-------- .../components/parameter/ParameterDoc.hbs | 2 +- .../packagename/header/StyleSerializer.hbs | 17 +++++------ .../parameter/ContentNonQueryParameter.hbs | 19 ------------- .../parameter/ContentParameter.hbs | 4 +-- .../parameter/ContentQueryParameter.hbs | 20 ------------- .../{NonQueryParameter.hbs => Parameter.hbs} | 2 +- .../packagename/parameter/ParameterBase.hbs | 23 --------------- .../packagename/parameter/QueryParameter.hbs | 12 -------- .../parameter/SchemaNonQueryParameter.hbs | 20 ------------- .../packagename/parameter/SchemaParameter.hbs | 21 ++++++++++---- .../parameter/SchemaQueryParameter.hbs | 20 ------------- .../parameter/SchemaNonQueryParameterTest.hbs | 10 +++---- .../parameter/SchemaQueryParameterTest.hbs | 18 +++++------- 97 files changed, 215 insertions(+), 473 deletions(-) delete mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ContentNonQueryParameter.java delete mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ContentQueryParameter.java rename samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/{NonQueryParameter.java => Parameter.java} (89%) delete mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/QueryParameter.java delete mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameter.java delete mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaQueryParameter.java delete mode 100644 src/main/resources/java/src/main/java/packagename/parameter/ContentNonQueryParameter.hbs delete mode 100644 src/main/resources/java/src/main/java/packagename/parameter/ContentQueryParameter.hbs rename src/main/resources/java/src/main/java/packagename/parameter/{NonQueryParameter.hbs => Parameter.hbs} (88%) delete mode 100644 src/main/resources/java/src/main/java/packagename/parameter/QueryParameter.hbs delete mode 100644 src/main/resources/java/src/main/java/packagename/parameter/SchemaNonQueryParameter.hbs delete mode 100644 src/main/resources/java/src/main/java/packagename/parameter/SchemaQueryParameter.hbs diff --git a/samples/client/petstore/java/.openapi-generator/FILES b/samples/client/petstore/java/.openapi-generator/FILES index 6a86a49436f..6cedffab7c4 100644 --- a/samples/client/petstore/java/.openapi-generator/FILES +++ b/samples/client/petstore/java/.openapi-generator/FILES @@ -557,17 +557,12 @@ src/main/java/org/openapijsonschematools/client/header/SchemaHeader.java src/main/java/org/openapijsonschematools/client/header/StyleSerializer.java src/main/java/org/openapijsonschematools/client/mediatype/Encoding.java src/main/java/org/openapijsonschematools/client/mediatype/MediaType.java -src/main/java/org/openapijsonschematools/client/parameter/ContentNonQueryParameter.java src/main/java/org/openapijsonschematools/client/parameter/ContentParameter.java -src/main/java/org/openapijsonschematools/client/parameter/ContentQueryParameter.java -src/main/java/org/openapijsonschematools/client/parameter/NonQueryParameter.java +src/main/java/org/openapijsonschematools/client/parameter/Parameter.java src/main/java/org/openapijsonschematools/client/parameter/ParameterBase.java src/main/java/org/openapijsonschematools/client/parameter/ParameterInType.java src/main/java/org/openapijsonschematools/client/parameter/ParameterStyle.java -src/main/java/org/openapijsonschematools/client/parameter/QueryParameter.java -src/main/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameter.java src/main/java/org/openapijsonschematools/client/parameter/SchemaParameter.java -src/main/java/org/openapijsonschematools/client/parameter/SchemaQueryParameter.java src/main/java/org/openapijsonschematools/client/paths/anotherfakedummy/patch/RequestBody.java src/main/java/org/openapijsonschematools/client/paths/anotherfakedummy/patch/Responses.java src/main/java/org/openapijsonschematools/client/paths/anotherfakedummy/patch/responses/Code200Response.java @@ -1223,7 +1218,6 @@ src/main/java/org/openapijsonschematools/client/servers/server1/Variables.java src/test/java/org/openapijsonschematools/client/configurations/JsonSchemaKeywordFlagsTest.java src/test/java/org/openapijsonschematools/client/header/ContentHeaderTest.java src/test/java/org/openapijsonschematools/client/header/SchemaHeaderTest.java -src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java src/test/java/org/openapijsonschematools/client/requestbody/RequestBodySerializerTest.java src/test/java/org/openapijsonschematools/client/response/ResponseDeserializerTest.java diff --git a/samples/client/petstore/java/docs/components/parameters/ComponentRefSchemaStringWithValidation.md b/samples/client/petstore/java/docs/components/parameters/ComponentRefSchemaStringWithValidation.md index 328cb199cb6..882379fc131 100644 --- a/samples/client/petstore/java/docs/components/parameters/ComponentRefSchemaStringWithValidation.md +++ b/samples/client/petstore/java/docs/components/parameters/ComponentRefSchemaStringWithValidation.md @@ -32,7 +32,7 @@ class storing schema info for a specific contentType | Void | encoding()
the encoding info | ## ComponentRefSchemaStringWithValidation1 -public static class ComponentRefSchemaStringWithValidation1 extends ContentNonQueryParameter
+public static class ComponentRefSchemaStringWithValidation1 extends ContentParameter
a class that deserializes a parameter value diff --git a/samples/client/petstore/java/docs/components/parameters/PathUserName.md b/samples/client/petstore/java/docs/components/parameters/PathUserName.md index c669211d43d..01289864ea2 100644 --- a/samples/client/petstore/java/docs/components/parameters/PathUserName.md +++ b/samples/client/petstore/java/docs/components/parameters/PathUserName.md @@ -13,7 +13,7 @@ A class that contains necessary nested parameter classes ## PathUserName1 -public static class PathUserName1 extends SchemaNonQueryParameter
+public static class PathUserName1 extends SchemaParameter
a class that deserializes a parameter value diff --git a/samples/client/petstore/java/docs/components/parameters/RefSchemaStringWithValidation.md b/samples/client/petstore/java/docs/components/parameters/RefSchemaStringWithValidation.md index b5bbb344332..bd17acf394a 100644 --- a/samples/client/petstore/java/docs/components/parameters/RefSchemaStringWithValidation.md +++ b/samples/client/petstore/java/docs/components/parameters/RefSchemaStringWithValidation.md @@ -13,7 +13,7 @@ A class that contains necessary nested parameter classes ## RefSchemaStringWithValidation1 -public static class RefSchemaStringWithValidation1 extends SchemaNonQueryParameter
+public static class RefSchemaStringWithValidation1 extends SchemaParameter
a class that deserializes a parameter value diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/components/parameters/ComponentRefSchemaStringWithValidation.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/components/parameters/ComponentRefSchemaStringWithValidation.java index 0b6048ce0f5..e057cd5bd17 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/components/parameters/ComponentRefSchemaStringWithValidation.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/components/parameters/ComponentRefSchemaStringWithValidation.java @@ -1,7 +1,7 @@ package org.openapijsonschematools.client.components.parameters; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.ContentNonQueryParameter; +import org.openapijsonschematools.client.parameter.ContentParameter; import org.openapijsonschematools.client.parameter.ContentParameter; import org.openapijsonschematools.client.mediatype.MediaType; import org.openapijsonschematools.client.components.parameters.componentrefschemastringwithvalidation.content.applicationjson.ApplicationjsonSchema; @@ -21,7 +21,7 @@ public Void encoding() { } } - public static class ComponentRefSchemaStringWithValidation1 extends ContentNonQueryParameter { + public static class ComponentRefSchemaStringWithValidation1 extends ContentParameter { public ComponentRefSchemaStringWithValidation1() { super( "CRSstringWithValidation", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/components/parameters/PathUserName.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/components/parameters/PathUserName.java index 554c6794532..4fb19f6d4a7 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/components/parameters/PathUserName.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/components/parameters/PathUserName.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaNonQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.components.parameters.pathusername.Schema; public class PathUserName { - public static class PathUserName1 extends SchemaNonQueryParameter { + public static class PathUserName1 extends SchemaParameter { public PathUserName1() { super( "username", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/components/parameters/RefSchemaStringWithValidation.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/components/parameters/RefSchemaStringWithValidation.java index 61897e2d3d2..20939147771 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/components/parameters/RefSchemaStringWithValidation.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/components/parameters/RefSchemaStringWithValidation.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaNonQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.components.parameters.refschemastringwithvalidation.Schema; public class RefSchemaStringWithValidation { - public static class RefSchemaStringWithValidation1 extends SchemaNonQueryParameter { + public static class RefSchemaStringWithValidation1 extends SchemaParameter { public RefSchemaStringWithValidation1() { super( "RSstringWithValidation", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/header/StyleSerializer.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/header/StyleSerializer.java index e2035b14c66..d18be288684 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/header/StyleSerializer.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/header/StyleSerializer.java @@ -23,17 +23,16 @@ public static String serializeForm( @Nullable Object inData, String name, boolean explode, - boolean percentEncode, - @Nullable PrefixSeparatorIterator iterator + boolean percentEncode ) { // todo check that the prefix and suffix matches this one - PrefixSeparatorIterator usedIterator = new PrefixSeparatorIterator("", "&"); + PrefixSeparatorIterator iterator = new PrefixSeparatorIterator("", "&"); return rfc6570Expansion( name, inData, explode, percentEncode, - usedIterator + iterator ); } @@ -70,10 +69,9 @@ public static String serializeLabel( public static String serializeSpaceDelimited( @Nullable Object inData, String name, - boolean explode, - @Nullable PrefixSeparatorIterator iterator + boolean explode ) { - PrefixSeparatorIterator usedIterator = iterator == null ? new PrefixSeparatorIterator("", "%20") : iterator; + PrefixSeparatorIterator usedIterator = new PrefixSeparatorIterator("", "%20"); return rfc6570Expansion( name, inData, @@ -86,10 +84,9 @@ public static String serializeSpaceDelimited( public static String serializePipeDelimited( @Nullable Object inData, String name, - boolean explode, - @Nullable PrefixSeparatorIterator iterator + boolean explode ) { - PrefixSeparatorIterator usedIterator = iterator == null ? new PrefixSeparatorIterator("", "|") : iterator; + PrefixSeparatorIterator usedIterator = new PrefixSeparatorIterator("", "|"); return rfc6570Expansion( name, inData, diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ContentNonQueryParameter.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ContentNonQueryParameter.java deleted file mode 100644 index e3cecc7753f..00000000000 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ContentNonQueryParameter.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.openapijsonschematools.client.parameter; - -import org.checkerframework.checker.nullness.qual.Nullable; -import org.openapijsonschematools.client.configurations.SchemaConfiguration; -import org.openapijsonschematools.client.mediatype.MediaType; - -import java.util.Map; - -public class ContentNonQueryParameter extends ContentParameter implements NonQueryParameter { - - public ContentNonQueryParameter(String name, ParameterInType inType, boolean required, @Nullable ParameterStyle style, @Nullable Boolean explode, @Nullable Boolean allowReserved, Map> content) { - super(name, inType, required, style, explode, allowReserved, content); - } - - @Override - public Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration) { - return super.serialize(inData, validate, configuration); - } -} \ No newline at end of file diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ContentParameter.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ContentParameter.java index c9da00c8ad7..d7d07968b10 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ContentParameter.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ContentParameter.java @@ -8,7 +8,7 @@ import java.util.Map; -public class ContentParameter extends ParameterBase { +public class ContentParameter extends ParameterBase implements Parameter { public final Map> content; public ContentParameter(String name, ParameterInType inType, boolean required, @Nullable ParameterStyle style, @Nullable Boolean explode, @Nullable Boolean allowReserved, Map> content) { @@ -16,7 +16,7 @@ public ContentParameter(String name, ParameterInType inType, boolean required, @ this.content = content; } - protected Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration) { + public Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration) { for (Map.Entry> entry: content.entrySet()) { var castInData = validate ? entry.getValue().schema().validate(inData, configuration) : inData ; String contentType = entry.getKey(); diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ContentQueryParameter.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ContentQueryParameter.java deleted file mode 100644 index 5d8239dc356..00000000000 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ContentQueryParameter.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.openapijsonschematools.client.parameter; - -import org.checkerframework.checker.nullness.qual.Nullable; -import org.openapijsonschematools.client.configurations.SchemaConfiguration; -import org.openapijsonschematools.client.header.PrefixSeparatorIterator; -import org.openapijsonschematools.client.mediatype.MediaType; - -import java.util.Map; - -public class ContentQueryParameter extends ContentParameter implements QueryParameter { - - public ContentQueryParameter(String name, ParameterInType inType, boolean required, @Nullable ParameterStyle style, @Nullable Boolean explode, @Nullable Boolean allowReserved, Map> content) { - super(name, inType, required, style, explode, allowReserved, content); - } - - @Override - public Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration, PrefixSeparatorIterator iterator) { - return super.serialize(inData, validate, configuration); - } -} \ No newline at end of file diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/NonQueryParameter.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/Parameter.java similarity index 89% rename from samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/NonQueryParameter.java rename to samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/Parameter.java index de5d7451c57..8facc13311c 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/NonQueryParameter.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/Parameter.java @@ -5,6 +5,6 @@ import java.util.Map; -public interface NonQueryParameter { +public interface Parameter { Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration); } \ No newline at end of file diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ParameterBase.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ParameterBase.java index fc6f2973211..601767512be 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ParameterBase.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ParameterBase.java @@ -13,27 +13,4 @@ public ParameterBase(String name, ParameterInType inType, boolean required, @Nul this.name = name; this.inType = inType; } - - protected ParameterStyle getStyle() { - if (style != null) { - return style; - } - if (inType == ParameterInType.QUERY || inType == ParameterInType.COOKIE) { - return ParameterStyle.FORM; - } - // ParameterInType.HEADER || ParameterInType.PATH - return ParameterStyle.SIMPLE; - } - - public PrefixSeparatorIterator getPrefixSeparatorIterator() { - ParameterStyle usedStyle = getStyle(); - if (usedStyle == ParameterStyle.FORM) { - return new PrefixSeparatorIterator("", "&"); - } else if (usedStyle == ParameterStyle.SPACE_DELIMITED) { - return new PrefixSeparatorIterator("", "%20"); - } else if (usedStyle == ParameterStyle.PIPE_DELIMITED) { - return new PrefixSeparatorIterator("", "|"); - } - throw new RuntimeException("No iterator possible for style="+usedStyle); - } } \ No newline at end of file diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/QueryParameter.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/QueryParameter.java deleted file mode 100644 index 0dbced20599..00000000000 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/QueryParameter.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.openapijsonschematools.client.parameter; - -import org.checkerframework.checker.nullness.qual.Nullable; -import org.openapijsonschematools.client.configurations.SchemaConfiguration; -import org.openapijsonschematools.client.header.PrefixSeparatorIterator; - -import java.util.Map; - -public interface QueryParameter { - Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration, PrefixSeparatorIterator iterator); - PrefixSeparatorIterator getPrefixSeparatorIterator(); -} \ No newline at end of file diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameter.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameter.java deleted file mode 100644 index 80976ec5d85..00000000000 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameter.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.openapijsonschematools.client.parameter; - -import org.checkerframework.checker.nullness.qual.Nullable; -import org.openapijsonschematools.client.configurations.SchemaConfiguration; -import org.openapijsonschematools.client.header.PrefixSeparatorIterator; -import org.openapijsonschematools.client.schemas.validation.JsonSchema; - -import java.util.Map; - -public class SchemaNonQueryParameter extends SchemaParameter implements NonQueryParameter { - - public SchemaNonQueryParameter(String name, ParameterInType inType, boolean required, @Nullable ParameterStyle style, @Nullable Boolean explode, @Nullable Boolean allowReserved, JsonSchema schema) { - super(name, inType, required, style, explode, allowReserved, schema); - } - - @Override - public Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration) { - return super.serialize(inData, validate, configuration, null); - } -} \ No newline at end of file diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaParameter.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaParameter.java index 5649f50d58a..679c3b72888 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaParameter.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaParameter.java @@ -11,7 +11,7 @@ import org.openapijsonschematools.client.schemas.validation.JsonSchema; import java.util.Map; -public class SchemaParameter extends ParameterBase { +public class SchemaParameter extends ParameterBase implements Parameter { public final JsonSchema schema; public SchemaParameter(String name, ParameterInType inType, boolean required, @Nullable ParameterStyle style, @Nullable Boolean explode, @Nullable Boolean allowReserved, JsonSchema schema) { @@ -19,7 +19,18 @@ public SchemaParameter(String name, ParameterInType inType, boolean required, @N this.schema = schema; } - protected Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration, @Nullable PrefixSeparatorIterator iterator) { + private ParameterStyle getStyle() { + if (style != null) { + return style; + } + if (inType == ParameterInType.QUERY || inType == ParameterInType.COOKIE) { + return ParameterStyle.FORM; + } + // ParameterInType.HEADER || ParameterInType.PATH + return ParameterStyle.SIMPLE; + } + + public Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration) { var castInData = validate ? schema.validate(inData, configuration) : inData; ParameterStyle usedStyle = getStyle(); boolean percentEncode = inType == ParameterInType.QUERY || inType == ParameterInType.PATH; @@ -30,7 +41,7 @@ protected Map serialize(@Nullable Object inData, boolean validat value = StyleSerializer.serializeSimple(castInData, name, usedExplode, percentEncode); } else if (usedStyle == ParameterStyle.FORM) { // query OR cookie - value = StyleSerializer.serializeForm(castInData, name, usedExplode, percentEncode, iterator); + value = StyleSerializer.serializeForm(castInData, name, usedExplode, percentEncode); } else if (usedStyle == ParameterStyle.LABEL) { // path value = StyleSerializer.serializeLabel(castInData, name, usedExplode); @@ -39,10 +50,10 @@ protected Map serialize(@Nullable Object inData, boolean validat value = StyleSerializer.serializeMatrix(castInData, name, usedExplode); } else if (usedStyle == ParameterStyle.SPACE_DELIMITED) { // query - value = StyleSerializer.serializeSpaceDelimited(castInData, name, usedExplode, iterator); + value = StyleSerializer.serializeSpaceDelimited(castInData, name, usedExplode); } else if (usedStyle == ParameterStyle.PIPE_DELIMITED) { // query - value = StyleSerializer.serializePipeDelimited(castInData, name, usedExplode, iterator); + value = StyleSerializer.serializePipeDelimited(castInData, name, usedExplode); } else { // usedStyle == ParameterStyle.DEEP_OBJECT // query diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaQueryParameter.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaQueryParameter.java deleted file mode 100644 index e85794b4a6d..00000000000 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaQueryParameter.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.openapijsonschematools.client.parameter; - -import org.checkerframework.checker.nullness.qual.Nullable; -import org.openapijsonschematools.client.configurations.SchemaConfiguration; -import org.openapijsonschematools.client.header.PrefixSeparatorIterator; -import org.openapijsonschematools.client.schemas.validation.JsonSchema; - -import java.util.Map; - -public class SchemaQueryParameter extends SchemaParameter implements QueryParameter { - - public SchemaQueryParameter(String name, ParameterInType inType, boolean required, @Nullable ParameterStyle style, @Nullable Boolean explode, @Nullable Boolean allowReserved, JsonSchema schema) { - super(name, inType, required, style, explode, allowReserved, schema); - } - - @Override - public Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration, PrefixSeparatorIterator iterator) { - return super.serialize(inData, validate, configuration, iterator); - } -} \ No newline at end of file diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/parameters/Parameter0.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/parameters/Parameter0.java index ee8b94ae4af..1385ce8e488 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/parameters/Parameter0.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/parameters/Parameter0.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaNonQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.commonparamsubdir.delete.parameters.parameter0.Schema0; public class Parameter0 { - public static class Parameter01 extends SchemaNonQueryParameter { + public static class Parameter01 extends SchemaParameter { public Parameter01() { super( "someHeader", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/parameters/Parameter1.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/parameters/Parameter1.java index 28dca4167dd..13efa3b6c1d 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/parameters/Parameter1.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/parameters/Parameter1.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaNonQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.commonparamsubdir.delete.parameters.parameter1.Schema1; public class Parameter1 { - public static class Parameter11 extends SchemaNonQueryParameter { + public static class Parameter11 extends SchemaParameter { public Parameter11() { super( "subDir", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/parameters/Parameter0.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/parameters/Parameter0.java index 399bde0b7b0..0559a9deb6e 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/parameters/Parameter0.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/parameters/Parameter0.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.commonparamsubdir.get.parameters.parameter0.Schema0; public class Parameter0 { - public static class Parameter01 extends SchemaQueryParameter { + public static class Parameter01 extends SchemaParameter { public Parameter01() { super( "searchStr", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/parameters/RouteParameter0.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/parameters/RouteParameter0.java index 6efbea69bb2..ad645a82164 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/parameters/RouteParameter0.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/parameters/RouteParameter0.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaNonQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.commonparamsubdir.parameters.routeparameter0.RouteParamSchema0; public class RouteParameter0 { - public static class RouteParameter01 extends SchemaNonQueryParameter { + public static class RouteParameter01 extends SchemaParameter { public RouteParameter01() { super( "subDir", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/parameters/Parameter0.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/parameters/Parameter0.java index 6d7a44bd5a9..48a0d5b37bb 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/parameters/Parameter0.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/parameters/Parameter0.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaNonQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.commonparamsubdir.post.parameters.parameter0.Schema0; public class Parameter0 { - public static class Parameter01 extends SchemaNonQueryParameter { + public static class Parameter01 extends SchemaParameter { public Parameter01() { super( "someHeader", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/parameters/Parameter0.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/parameters/Parameter0.java index 6a9aa1e00e6..5872e87f523 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/parameters/Parameter0.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/parameters/Parameter0.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fake.delete.parameters.parameter0.Schema0; public class Parameter0 { - public static class Parameter01 extends SchemaQueryParameter { + public static class Parameter01 extends SchemaParameter { public Parameter01() { super( "required_string_group", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/parameters/Parameter1.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/parameters/Parameter1.java index 91f20954e40..d74937b4fc9 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/parameters/Parameter1.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/parameters/Parameter1.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaNonQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fake.delete.parameters.parameter1.Schema1; public class Parameter1 { - public static class Parameter11 extends SchemaNonQueryParameter { + public static class Parameter11 extends SchemaParameter { public Parameter11() { super( "required_boolean_group", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/parameters/Parameter2.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/parameters/Parameter2.java index fa2154af675..9453ce7bcb3 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/parameters/Parameter2.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/parameters/Parameter2.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fake.delete.parameters.parameter2.Schema2; public class Parameter2 { - public static class Parameter21 extends SchemaQueryParameter { + public static class Parameter21 extends SchemaParameter { public Parameter21() { super( "required_int64_group", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/parameters/Parameter3.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/parameters/Parameter3.java index 4a2d6796943..c2121467a18 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/parameters/Parameter3.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/parameters/Parameter3.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fake.delete.parameters.parameter3.Schema3; public class Parameter3 { - public static class Parameter31 extends SchemaQueryParameter { + public static class Parameter31 extends SchemaParameter { public Parameter31() { super( "string_group", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/parameters/Parameter4.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/parameters/Parameter4.java index 3743568bf2b..c755206ddac 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/parameters/Parameter4.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/parameters/Parameter4.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaNonQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fake.delete.parameters.parameter4.Schema4; public class Parameter4 { - public static class Parameter41 extends SchemaNonQueryParameter { + public static class Parameter41 extends SchemaParameter { public Parameter41() { super( "boolean_group", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/parameters/Parameter5.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/parameters/Parameter5.java index 1ee3113cd6d..91ea65b5be7 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/parameters/Parameter5.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/parameters/Parameter5.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fake.delete.parameters.parameter5.Schema5; public class Parameter5 { - public static class Parameter51 extends SchemaQueryParameter { + public static class Parameter51 extends SchemaParameter { public Parameter51() { super( "int64_group", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/parameters/Parameter0.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/parameters/Parameter0.java index f4564390d60..3a8537f7fd1 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/parameters/Parameter0.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/parameters/Parameter0.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaNonQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fake.get.parameters.parameter0.Schema0; public class Parameter0 { - public static class Parameter01 extends SchemaNonQueryParameter { + public static class Parameter01 extends SchemaParameter { public Parameter01() { super( "enum_header_string_array", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/parameters/Parameter1.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/parameters/Parameter1.java index 3a4605d5fff..49e947d6399 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/parameters/Parameter1.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/parameters/Parameter1.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaNonQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fake.get.parameters.parameter1.Schema1; public class Parameter1 { - public static class Parameter11 extends SchemaNonQueryParameter { + public static class Parameter11 extends SchemaParameter { public Parameter11() { super( "enum_header_string", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/parameters/Parameter2.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/parameters/Parameter2.java index 4c9365345a5..71e3f589257 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/parameters/Parameter2.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/parameters/Parameter2.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fake.get.parameters.parameter2.Schema2; public class Parameter2 { - public static class Parameter21 extends SchemaQueryParameter { + public static class Parameter21 extends SchemaParameter { public Parameter21() { super( "enum_query_string_array", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/parameters/Parameter3.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/parameters/Parameter3.java index 4e2da7a8b0e..9903092e80d 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/parameters/Parameter3.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/parameters/Parameter3.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fake.get.parameters.parameter3.Schema3; public class Parameter3 { - public static class Parameter31 extends SchemaQueryParameter { + public static class Parameter31 extends SchemaParameter { public Parameter31() { super( "enum_query_string", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/parameters/Parameter4.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/parameters/Parameter4.java index e8ce1faa153..21bf1787d8a 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/parameters/Parameter4.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/parameters/Parameter4.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fake.get.parameters.parameter4.Schema4; public class Parameter4 { - public static class Parameter41 extends SchemaQueryParameter { + public static class Parameter41 extends SchemaParameter { public Parameter41() { super( "enum_query_integer", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/parameters/Parameter5.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/parameters/Parameter5.java index 773b7862b8e..7fb91fb88f0 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/parameters/Parameter5.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/parameters/Parameter5.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fake.get.parameters.parameter5.Schema5; public class Parameter5 { - public static class Parameter51 extends SchemaQueryParameter { + public static class Parameter51 extends SchemaParameter { public Parameter51() { super( "enum_query_double", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/parameters/Parameter0.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/parameters/Parameter0.java index a0df32ee830..b89f34112a4 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/parameters/Parameter0.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/parameters/Parameter0.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fakebodywithqueryparams.put.parameters.parameter0.Schema0; public class Parameter0 { - public static class Parameter01 extends SchemaQueryParameter { + public static class Parameter01 extends SchemaParameter { public Parameter01() { super( "query", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/parameters/Parameter0.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/parameters/Parameter0.java index d3bd6dc5c0c..96db6d8662c 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/parameters/Parameter0.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/parameters/Parameter0.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fakecasesensitiveparams.put.parameters.parameter0.Schema0; public class Parameter0 { - public static class Parameter01 extends SchemaQueryParameter { + public static class Parameter01 extends SchemaParameter { public Parameter01() { super( "someVar", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/parameters/Parameter1.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/parameters/Parameter1.java index 5850f710ad2..9923c6e1aee 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/parameters/Parameter1.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/parameters/Parameter1.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fakecasesensitiveparams.put.parameters.parameter1.Schema1; public class Parameter1 { - public static class Parameter11 extends SchemaQueryParameter { + public static class Parameter11 extends SchemaParameter { public Parameter11() { super( "SomeVar", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/parameters/Parameter2.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/parameters/Parameter2.java index 8491c847601..c3b8320db0f 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/parameters/Parameter2.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/parameters/Parameter2.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fakecasesensitiveparams.put.parameters.parameter2.Schema2; public class Parameter2 { - public static class Parameter21 extends SchemaQueryParameter { + public static class Parameter21 extends SchemaParameter { public Parameter21() { super( "some_var", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/parameters/Parameter0.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/parameters/Parameter0.java index 6e1e10fe734..d16f6b00036 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/parameters/Parameter0.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/parameters/Parameter0.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaNonQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fakedeletecoffeeid.delete.parameters.parameter0.Schema0; public class Parameter0 { - public static class Parameter01 extends SchemaNonQueryParameter { + public static class Parameter01 extends SchemaParameter { public Parameter01() { super( "id", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/parameters/Parameter0.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/parameters/Parameter0.java index 0e0d1f550ac..020d186ab95 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/parameters/Parameter0.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/parameters/Parameter0.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fakeinlinecomposition.post.parameters.parameter0.Schema0; public class Parameter0 { - public static class Parameter01 extends SchemaQueryParameter { + public static class Parameter01 extends SchemaParameter { public Parameter01() { super( "compositionAtRoot", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/parameters/Parameter1.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/parameters/Parameter1.java index 719e3b4cda9..94e5c75ccf6 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/parameters/Parameter1.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/parameters/Parameter1.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fakeinlinecomposition.post.parameters.parameter1.Schema1; public class Parameter1 { - public static class Parameter11 extends SchemaQueryParameter { + public static class Parameter11 extends SchemaParameter { public Parameter11() { super( "compositionInProperty", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeobjinquery/get/parameters/Parameter0.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeobjinquery/get/parameters/Parameter0.java index 2a7c0372825..75d3713a0bb 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeobjinquery/get/parameters/Parameter0.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeobjinquery/get/parameters/Parameter0.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fakeobjinquery.get.parameters.parameter0.Schema0; public class Parameter0 { - public static class Parameter01 extends SchemaQueryParameter { + public static class Parameter01 extends SchemaParameter { public Parameter01() { super( "mapBean", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter0.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter0.java index ec3b1616bfd..a92fdc8a8c2 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter0.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter0.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.parameter0.Schema0; public class Parameter0 { - public static class Parameter01 extends SchemaQueryParameter { + public static class Parameter01 extends SchemaParameter { public Parameter01() { super( "1", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter1.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter1.java index e7583fd338e..f630ae29b8f 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter1.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter1.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.parameter1.Schema1; public class Parameter1 { - public static class Parameter11 extends SchemaQueryParameter { + public static class Parameter11 extends SchemaParameter { public Parameter11() { super( "aB", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter10.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter10.java index 4405261b5d5..0aa44d3eda8 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter10.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter10.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaNonQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.parameter10.Schema10; public class Parameter10 { - public static class Parameter101 extends SchemaNonQueryParameter { + public static class Parameter101 extends SchemaParameter { public Parameter101() { super( "aB", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter11.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter11.java index 43a773c6c0f..a86856ac32b 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter11.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter11.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaNonQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.parameter11.Schema11; public class Parameter11 { - public static class Parameter111 extends SchemaNonQueryParameter { + public static class Parameter111 extends SchemaParameter { public Parameter111() { super( "Ab", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter12.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter12.java index b66687e315b..ee76bac70af 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter12.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter12.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaNonQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.parameter12.Schema12; public class Parameter12 { - public static class Parameter121 extends SchemaNonQueryParameter { + public static class Parameter121 extends SchemaParameter { public Parameter121() { super( "self", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter13.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter13.java index de1c809185e..de212f1563d 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter13.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter13.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaNonQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.parameter13.Schema13; public class Parameter13 { - public static class Parameter131 extends SchemaNonQueryParameter { + public static class Parameter131 extends SchemaParameter { public Parameter131() { super( "A-B", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter14.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter14.java index 46b670b9b77..a29010916ac 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter14.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter14.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaNonQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.parameter14.Schema14; public class Parameter14 { - public static class Parameter141 extends SchemaNonQueryParameter { + public static class Parameter141 extends SchemaParameter { public Parameter141() { super( "1", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter15.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter15.java index ab6f4391312..54bf5140899 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter15.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter15.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaNonQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.parameter15.Schema15; public class Parameter15 { - public static class Parameter151 extends SchemaNonQueryParameter { + public static class Parameter151 extends SchemaParameter { public Parameter151() { super( "aB", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter16.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter16.java index 24fa8a1983a..f1b8e71d686 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter16.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter16.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaNonQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.parameter16.Schema16; public class Parameter16 { - public static class Parameter161 extends SchemaNonQueryParameter { + public static class Parameter161 extends SchemaParameter { public Parameter161() { super( "Ab", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter17.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter17.java index 017bcd23ca3..b856a27eb1e 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter17.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter17.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaNonQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.parameter17.Schema17; public class Parameter17 { - public static class Parameter171 extends SchemaNonQueryParameter { + public static class Parameter171 extends SchemaParameter { public Parameter171() { super( "self", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter18.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter18.java index 96e183a2cf7..b43ebbe5664 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter18.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter18.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaNonQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.parameter18.Schema18; public class Parameter18 { - public static class Parameter181 extends SchemaNonQueryParameter { + public static class Parameter181 extends SchemaParameter { public Parameter181() { super( "A-B", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter2.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter2.java index 01bd1b51dd7..bb193d95ba3 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter2.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter2.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.parameter2.Schema2; public class Parameter2 { - public static class Parameter21 extends SchemaQueryParameter { + public static class Parameter21 extends SchemaParameter { public Parameter21() { super( "Ab", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter3.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter3.java index 518a6987279..b4233c96a02 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter3.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter3.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.parameter3.Schema3; public class Parameter3 { - public static class Parameter31 extends SchemaQueryParameter { + public static class Parameter31 extends SchemaParameter { public Parameter31() { super( "self", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter4.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter4.java index edc22a057be..459cdc6a234 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter4.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter4.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.parameter4.Schema4; public class Parameter4 { - public static class Parameter41 extends SchemaQueryParameter { + public static class Parameter41 extends SchemaParameter { public Parameter41() { super( "A-B", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter5.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter5.java index a8e1130fe2d..a589c0c385b 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter5.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter5.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaNonQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.parameter5.Schema5; public class Parameter5 { - public static class Parameter51 extends SchemaNonQueryParameter { + public static class Parameter51 extends SchemaParameter { public Parameter51() { super( "1", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter6.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter6.java index f8f23bab143..dafa85cb493 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter6.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter6.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaNonQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.parameter6.Schema6; public class Parameter6 { - public static class Parameter61 extends SchemaNonQueryParameter { + public static class Parameter61 extends SchemaParameter { public Parameter61() { super( "aB", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter7.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter7.java index 85a7151b2b5..9d5589c95e6 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter7.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter7.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaNonQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.parameter7.Schema7; public class Parameter7 { - public static class Parameter71 extends SchemaNonQueryParameter { + public static class Parameter71 extends SchemaParameter { public Parameter71() { super( "self", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter8.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter8.java index 5b821bbfdef..259cab30459 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter8.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter8.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaNonQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.parameter8.Schema8; public class Parameter8 { - public static class Parameter81 extends SchemaNonQueryParameter { + public static class Parameter81 extends SchemaParameter { public Parameter81() { super( "A-B", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter9.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter9.java index ac94eeea56c..450bbdbfc8d 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter9.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/parameters/Parameter9.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaNonQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.parameter9.Schema9; public class Parameter9 { - public static class Parameter91 extends SchemaNonQueryParameter { + public static class Parameter91 extends SchemaParameter { public Parameter91() { super( "1", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/parameters/Parameter0.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/parameters/Parameter0.java index ad83df56670..58b60c686b2 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/parameters/Parameter0.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/parameters/Parameter0.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaNonQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fakepetiduploadimagewithrequiredfile.post.parameters.parameter0.Schema0; public class Parameter0 { - public static class Parameter01 extends SchemaNonQueryParameter { + public static class Parameter01 extends SchemaParameter { public Parameter01() { super( "petId", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/parameters/Parameter0.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/parameters/Parameter0.java index 18aacc0289c..cfc3b2c5a83 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/parameters/Parameter0.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/parameters/Parameter0.java @@ -1,7 +1,7 @@ package org.openapijsonschematools.client.paths.fakequeryparamwithjsoncontenttype.get.parameters; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.ContentQueryParameter; +import org.openapijsonschematools.client.parameter.ContentParameter; import org.openapijsonschematools.client.parameter.ContentParameter; import org.openapijsonschematools.client.mediatype.MediaType; import org.openapijsonschematools.client.paths.fakequeryparamwithjsoncontenttype.get.parameters.parameter0.content.applicationjson.Schema0; @@ -21,7 +21,7 @@ public Void encoding() { } } - public static class Parameter01 extends ContentQueryParameter { + public static class Parameter01 extends ContentParameter { public Parameter01() { super( "someParam", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakerefobjinquery/get/parameters/Parameter0.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakerefobjinquery/get/parameters/Parameter0.java index 137bc74b804..f1b8a6d8720 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakerefobjinquery/get/parameters/Parameter0.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakerefobjinquery/get/parameters/Parameter0.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.fakerefobjinquery.get.parameters.parameter0.Schema0; public class Parameter0 { - public static class Parameter01 extends SchemaQueryParameter { + public static class Parameter01 extends SchemaParameter { public Parameter01() { super( "mapBean", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/parameters/Parameter0.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/parameters/Parameter0.java index c989c5983cb..fb818182444 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/parameters/Parameter0.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/parameters/Parameter0.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.faketestqueryparamters.put.parameters.parameter0.Schema0; public class Parameter0 { - public static class Parameter01 extends SchemaQueryParameter { + public static class Parameter01 extends SchemaParameter { public Parameter01() { super( "pipe", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/parameters/Parameter1.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/parameters/Parameter1.java index c16f6d6de28..c835f8982f0 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/parameters/Parameter1.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/parameters/Parameter1.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.faketestqueryparamters.put.parameters.parameter1.Schema1; public class Parameter1 { - public static class Parameter11 extends SchemaQueryParameter { + public static class Parameter11 extends SchemaParameter { public Parameter11() { super( "ioutil", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/parameters/Parameter2.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/parameters/Parameter2.java index 2fd143bb906..a4718b73134 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/parameters/Parameter2.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/parameters/Parameter2.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.faketestqueryparamters.put.parameters.parameter2.Schema2; public class Parameter2 { - public static class Parameter21 extends SchemaQueryParameter { + public static class Parameter21 extends SchemaParameter { public Parameter21() { super( "http", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/parameters/Parameter3.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/parameters/Parameter3.java index 480e2c48f81..243be0b3e0f 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/parameters/Parameter3.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/parameters/Parameter3.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.faketestqueryparamters.put.parameters.parameter3.Schema3; public class Parameter3 { - public static class Parameter31 extends SchemaQueryParameter { + public static class Parameter31 extends SchemaParameter { public Parameter31() { super( "url", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/parameters/Parameter4.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/parameters/Parameter4.java index eeb191446a1..449ae175083 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/parameters/Parameter4.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/parameters/Parameter4.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.faketestqueryparamters.put.parameters.parameter4.Schema4; public class Parameter4 { - public static class Parameter41 extends SchemaQueryParameter { + public static class Parameter41 extends SchemaParameter { public Parameter41() { super( "context", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/parameters/Parameter5.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/parameters/Parameter5.java index 02b20731da4..1575ac4c084 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/parameters/Parameter5.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/parameters/Parameter5.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.faketestqueryparamters.put.parameters.parameter5.Schema5; public class Parameter5 { - public static class Parameter51 extends SchemaQueryParameter { + public static class Parameter51 extends SchemaParameter { public Parameter51() { super( "refParam", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/parameters/Parameter0.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/parameters/Parameter0.java index da19a087ca9..b77d3c07561 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/parameters/Parameter0.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/parameters/Parameter0.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.petfindbystatus.get.parameters.parameter0.Schema0; public class Parameter0 { - public static class Parameter01 extends SchemaQueryParameter { + public static class Parameter01 extends SchemaParameter { public Parameter01() { super( "status", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/parameters/Parameter0.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/parameters/Parameter0.java index edc13c725ae..43633e1742d 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/parameters/Parameter0.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/parameters/Parameter0.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.petfindbytags.get.parameters.parameter0.Schema0; public class Parameter0 { - public static class Parameter01 extends SchemaQueryParameter { + public static class Parameter01 extends SchemaParameter { public Parameter01() { super( "tags", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/parameters/Parameter0.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/parameters/Parameter0.java index b43b8e975fa..48e40ea5596 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/parameters/Parameter0.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/parameters/Parameter0.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaNonQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.petpetid.delete.parameters.parameter0.Schema0; public class Parameter0 { - public static class Parameter01 extends SchemaNonQueryParameter { + public static class Parameter01 extends SchemaParameter { public Parameter01() { super( "api_key", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/parameters/Parameter1.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/parameters/Parameter1.java index b3a4da99d38..c40da80fec8 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/parameters/Parameter1.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/parameters/Parameter1.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaNonQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.petpetid.delete.parameters.parameter1.Schema1; public class Parameter1 { - public static class Parameter11 extends SchemaNonQueryParameter { + public static class Parameter11 extends SchemaParameter { public Parameter11() { super( "petId", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/get/parameters/Parameter0.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/get/parameters/Parameter0.java index 5adf6297dd5..7b03160b9a4 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/get/parameters/Parameter0.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/get/parameters/Parameter0.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaNonQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.petpetid.get.parameters.parameter0.Schema0; public class Parameter0 { - public static class Parameter01 extends SchemaNonQueryParameter { + public static class Parameter01 extends SchemaParameter { public Parameter01() { super( "petId", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/post/parameters/Parameter0.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/post/parameters/Parameter0.java index ec696571f52..13a19320b60 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/post/parameters/Parameter0.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/post/parameters/Parameter0.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaNonQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.petpetid.post.parameters.parameter0.Schema0; public class Parameter0 { - public static class Parameter01 extends SchemaNonQueryParameter { + public static class Parameter01 extends SchemaParameter { public Parameter01() { super( "petId", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/parameters/Parameter0.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/parameters/Parameter0.java index eedbc3c3a58..e6002b4ec9d 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/parameters/Parameter0.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/parameters/Parameter0.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaNonQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.petpetiduploadimage.post.parameters.parameter0.Schema0; public class Parameter0 { - public static class Parameter01 extends SchemaNonQueryParameter { + public static class Parameter01 extends SchemaParameter { public Parameter01() { super( "petId", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/parameters/Parameter0.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/parameters/Parameter0.java index 12f5b4ad5b6..3f27fb09e43 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/parameters/Parameter0.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/parameters/Parameter0.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaNonQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.storeorderorderid.delete.parameters.parameter0.Schema0; public class Parameter0 { - public static class Parameter01 extends SchemaNonQueryParameter { + public static class Parameter01 extends SchemaParameter { public Parameter01() { super( "order_id", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/parameters/Parameter0.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/parameters/Parameter0.java index 3736b803d37..e1ad2e999a1 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/parameters/Parameter0.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/parameters/Parameter0.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaNonQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.storeorderorderid.get.parameters.parameter0.Schema0; public class Parameter0 { - public static class Parameter01 extends SchemaNonQueryParameter { + public static class Parameter01 extends SchemaParameter { public Parameter01() { super( "order_id", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userlogin/get/parameters/Parameter0.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userlogin/get/parameters/Parameter0.java index 77fc0b28bc5..db4b2c26b2e 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userlogin/get/parameters/Parameter0.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userlogin/get/parameters/Parameter0.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.userlogin.get.parameters.parameter0.Schema0; public class Parameter0 { - public static class Parameter01 extends SchemaQueryParameter { + public static class Parameter01 extends SchemaParameter { public Parameter01() { super( "username", diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userlogin/get/parameters/Parameter1.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userlogin/get/parameters/Parameter1.java index 69baecf02a7..958cf010fab 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userlogin/get/parameters/Parameter1.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userlogin/get/parameters/Parameter1.java @@ -2,12 +2,12 @@ import org.openapijsonschematools.client.parameter.ParameterStyle; import org.openapijsonschematools.client.parameter.ParameterInType; -import org.openapijsonschematools.client.parameter.SchemaQueryParameter; +import org.openapijsonschematools.client.parameter.SchemaParameter; import org.openapijsonschematools.client.paths.userlogin.get.parameters.parameter1.Schema1; public class Parameter1 { - public static class Parameter11 extends SchemaQueryParameter { + public static class Parameter11 extends SchemaParameter { public Parameter11() { super( "password", diff --git a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java index a6a510112bf..caa681ebb76 100644 --- a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java +++ b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java @@ -20,7 +20,7 @@ public ParamTestCase(@Nullable Object payload, Map expectedSeri } } - public static class QueryParameterNoStyle extends SchemaQueryParameter { + public static class QueryParameterNoStyle extends SchemaParameter { public QueryParameterNoStyle(@Nullable Boolean explode) { super("color", ParameterInType.QUERY, true, null, explode, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); } @@ -87,21 +87,19 @@ public void testQueryParameterNoStyleSerialization() { SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); for (ParamTestCase testCase: testCases) { var parameter = new QueryParameterNoStyle(testCase.explode); - var iterator = parameter.getPrefixSeparatorIterator(); - var serialization = parameter.serialize(testCase.payload, false, configuration, iterator); + var serialization = parameter.serialize(testCase.payload, false, configuration); Assert.assertEquals(testCase.expectedSerialization, serialization); } var parameter = new QueryParameterNoStyle(false); - var iterator = parameter.getPrefixSeparatorIterator(); for (boolean value: Set.of(true, false)) { Assert.assertThrows( InvalidTypeException.class, - () -> parameter.serialize(value, false, configuration, iterator) + () -> parameter.serialize(value, false, configuration) ); } } - public static class QueryParameterSpaceDelimited extends SchemaQueryParameter { + public static class QueryParameterSpaceDelimited extends SchemaParameter { public QueryParameterSpaceDelimited(@Nullable Boolean explode) { super("color", ParameterInType.QUERY, true, ParameterStyle.SPACE_DELIMITED, explode, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); } @@ -144,13 +142,12 @@ public void testQueryParameterSpaceDelimitedSerialization() { SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); for (ParamTestCase testCase: testCases) { var parameter = new QueryParameterSpaceDelimited(testCase.explode); - var iterator = parameter.getPrefixSeparatorIterator(); - var serialization = parameter.serialize(testCase.payload, false, configuration, iterator); + var serialization = parameter.serialize(testCase.payload, false, configuration); Assert.assertEquals(testCase.expectedSerialization, serialization); } } - public static class QueryParameterPipeDelimited extends SchemaQueryParameter { + public static class QueryParameterPipeDelimited extends SchemaParameter { public QueryParameterPipeDelimited(@Nullable Boolean explode) { super("color", ParameterInType.QUERY, true, ParameterStyle.PIPE_DELIMITED, explode, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); } @@ -193,8 +190,7 @@ public void testQueryParameterPipeDelimitedSerialization() { SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); for (ParamTestCase testCase: testCases) { var parameter = new QueryParameterPipeDelimited(testCase.explode); - var iterator = parameter.getPrefixSeparatorIterator(); - var serialization = parameter.serialize(testCase.payload, false, configuration, iterator); + var serialization = parameter.serialize(testCase.payload, false, configuration); Assert.assertEquals(testCase.expectedSerialization, serialization); } } diff --git a/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java b/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java index 492e6509623..1853d47cc1c 100644 --- a/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java +++ b/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java @@ -829,26 +829,18 @@ public void processOpts() { "ContentHeaderTest.java")); // parameter - supportingFiles.add(new SupportingFile( - "src/main/java/packagename/parameter/ContentNonQueryParameter.hbs", - packagePath() + File.separatorChar + "parameter", - "ContentNonQueryParameter.java")); supportingFiles.add(new SupportingFile( "src/main/java/packagename/parameter/ContentParameter.hbs", packagePath() + File.separatorChar + "parameter", "ContentParameter.java")); supportingFiles.add(new SupportingFile( - "src/main/java/packagename/parameter/ContentQueryParameter.hbs", + "src/main/java/packagename/parameter/Parameter.hbs", packagePath() + File.separatorChar + "parameter", - "ContentQueryParameter.java")); + "Parameter.java")); supportingFiles.add(new SupportingFile( "src/main/java/packagename/parameter/ParameterBase.hbs", packagePath() + File.separatorChar + "parameter", "ParameterBase.java")); - supportingFiles.add(new SupportingFile( - "src/main/java/packagename/parameter/NonQueryParameter.hbs", - packagePath() + File.separatorChar + "parameter", - "NonQueryParameter.java")); supportingFiles.add(new SupportingFile( "src/main/java/packagename/parameter/ParameterInType.hbs", packagePath() + File.separatorChar + "parameter", @@ -857,26 +849,10 @@ public void processOpts() { "src/main/java/packagename/parameter/ParameterStyle.hbs", packagePath() + File.separatorChar + "parameter", "ParameterStyle.java")); - supportingFiles.add(new SupportingFile( - "src/main/java/packagename/parameter/QueryParameter.hbs", - packagePath() + File.separatorChar + "parameter", - "QueryParameter.java")); - supportingFiles.add(new SupportingFile( - "src/main/java/packagename/parameter/SchemaNonQueryParameter.hbs", - packagePath() + File.separatorChar + "parameter", - "SchemaNonQueryParameter.java")); supportingFiles.add(new SupportingFile( "src/main/java/packagename/parameter/SchemaParameter.hbs", packagePath() + File.separatorChar + "parameter", "SchemaParameter.java")); - supportingFiles.add(new SupportingFile( - "src/main/java/packagename/parameter/SchemaQueryParameter.hbs", - packagePath() + File.separatorChar + "parameter", - "SchemaQueryParameter.java")); - supportingFiles.add(new SupportingFile( - "src/test/java/packagename/parameter/SchemaNonQueryParameterTest.hbs", - testPackagePath() + File.separatorChar + "parameter", - "SchemaNonQueryParameterTest.java")); supportingFiles.add(new SupportingFile( "src/test/java/packagename/parameter/SchemaQueryParameterTest.hbs", testPackagePath() + File.separatorChar + "parameter", diff --git a/src/main/resources/java/src/main/java/packagename/components/parameter/Parameter.hbs b/src/main/resources/java/src/main/java/packagename/components/parameter/Parameter.hbs index 36ebf766afb..14115fe45aa 100644 --- a/src/main/resources/java/src/main/java/packagename/components/parameter/Parameter.hbs +++ b/src/main/resources/java/src/main/java/packagename/components/parameter/Parameter.hbs @@ -23,21 +23,13 @@ import {{packageName}}.parameter.ParameterStyle; {{/neq}} import {{packageName}}.parameter.ParameterInType; {{#if schema}} - {{#eq in "query"}} -import {{packageName}}.parameter.SchemaQueryParameter; - {{else}} -import {{packageName}}.parameter.SchemaNonQueryParameter; - {{/eq}} +import {{packageName}}.parameter.SchemaParameter; {{#with schema}} import {{{packageName}}}.{{subpackage}}.{{containerJsonPathPiece.pascalCase}}; {{/with}} {{/if}} {{#if content}} - {{#eq in "query"}} -import {{packageName}}.parameter.ContentQueryParameter; - {{else}} -import {{packageName}}.parameter.ContentNonQueryParameter; - {{/eq}} +import {{packageName}}.parameter.ContentParameter; import {{packageName}}.parameter.ContentParameter; import {{packageName}}.mediatype.MediaType; {{#each content}} @@ -64,7 +56,7 @@ public class {{jsonPathPiece.pascalCase}} { } {{/each}} - public static class {{jsonPathPiece.pascalCase}}1 extends {{#if schema}}Schema{{else}}Content{{/if}}{{#eq in "query"}}QueryParameter{{else}}NonQueryParameter{{/eq}} { + public static class {{jsonPathPiece.pascalCase}}1 extends {{#if schema}}Schema{{else}}Content{{/if}}Parameter { public {{jsonPathPiece.pascalCase}}1() { super( "{{{name}}}", diff --git a/src/main/resources/java/src/main/java/packagename/components/parameter/ParameterDoc.hbs b/src/main/resources/java/src/main/java/packagename/components/parameter/ParameterDoc.hbs index 0325822a4f1..96dd8f01983 100644 --- a/src/main/resources/java/src/main/java/packagename/components/parameter/ParameterDoc.hbs +++ b/src/main/resources/java/src/main/java/packagename/components/parameter/ParameterDoc.hbs @@ -62,7 +62,7 @@ class storing schema info for a specific contentType {{/each}} {{> src/main/java/packagename/components/_helper_header_from_identifier_pieces headerSize=(join headerSize "#" "") identifierPieces=(append identifierPieces (join jsonPathPiece.pascalCase "1" "")) }} -public static class {{jsonPathPiece.pascalCase}}1 extends {{#if schema}}Schema{{else}}Content{{/if}}{{#eq in "query"}}QueryParameter{{else}}NonQueryParameter{{/eq}}
+public static class {{jsonPathPiece.pascalCase}}1 extends {{#if schema}}Schema{{else}}Content{{/if}}Parameter
a class that deserializes a parameter value diff --git a/src/main/resources/java/src/main/java/packagename/header/StyleSerializer.hbs b/src/main/resources/java/src/main/java/packagename/header/StyleSerializer.hbs index 012d746807b..fac1bc0b57c 100644 --- a/src/main/resources/java/src/main/java/packagename/header/StyleSerializer.hbs +++ b/src/main/resources/java/src/main/java/packagename/header/StyleSerializer.hbs @@ -23,17 +23,16 @@ public class StyleSerializer extends Rfc6570Serializer { @Nullable Object inData, String name, boolean explode, - boolean percentEncode, - @Nullable PrefixSeparatorIterator iterator + boolean percentEncode ) { // todo check that the prefix and suffix matches this one - PrefixSeparatorIterator usedIterator = new PrefixSeparatorIterator("", "&"); + PrefixSeparatorIterator iterator = new PrefixSeparatorIterator("", "&"); return rfc6570Expansion( name, inData, explode, percentEncode, - usedIterator + iterator ); } @@ -70,10 +69,9 @@ public class StyleSerializer extends Rfc6570Serializer { public static String serializeSpaceDelimited( @Nullable Object inData, String name, - boolean explode, - @Nullable PrefixSeparatorIterator iterator + boolean explode ) { - PrefixSeparatorIterator usedIterator = iterator == null ? new PrefixSeparatorIterator("", "%20") : iterator; + PrefixSeparatorIterator usedIterator = new PrefixSeparatorIterator("", "%20"); return rfc6570Expansion( name, inData, @@ -86,10 +84,9 @@ public class StyleSerializer extends Rfc6570Serializer { public static String serializePipeDelimited( @Nullable Object inData, String name, - boolean explode, - @Nullable PrefixSeparatorIterator iterator + boolean explode ) { - PrefixSeparatorIterator usedIterator = iterator == null ? new PrefixSeparatorIterator("", "|") : iterator; + PrefixSeparatorIterator usedIterator = new PrefixSeparatorIterator("", "|"); return rfc6570Expansion( name, inData, diff --git a/src/main/resources/java/src/main/java/packagename/parameter/ContentNonQueryParameter.hbs b/src/main/resources/java/src/main/java/packagename/parameter/ContentNonQueryParameter.hbs deleted file mode 100644 index 4a826a93f23..00000000000 --- a/src/main/resources/java/src/main/java/packagename/parameter/ContentNonQueryParameter.hbs +++ /dev/null @@ -1,19 +0,0 @@ -package {{{packageName}}}.parameter; - -import org.checkerframework.checker.nullness.qual.Nullable; -import {{{packageName}}}.configurations.SchemaConfiguration; -import {{{packageName}}}.mediatype.MediaType; - -import java.util.Map; - -public class ContentNonQueryParameter extends ContentParameter implements NonQueryParameter { - - public ContentNonQueryParameter(String name, ParameterInType inType, boolean required, @Nullable ParameterStyle style, @Nullable Boolean explode, @Nullable Boolean allowReserved, Map> content) { - super(name, inType, required, style, explode, allowReserved, content); - } - - @Override - public Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration) { - return super.serialize(inData, validate, configuration); - } -} \ No newline at end of file diff --git a/src/main/resources/java/src/main/java/packagename/parameter/ContentParameter.hbs b/src/main/resources/java/src/main/java/packagename/parameter/ContentParameter.hbs index 27176db6fae..db856697675 100644 --- a/src/main/resources/java/src/main/java/packagename/parameter/ContentParameter.hbs +++ b/src/main/resources/java/src/main/java/packagename/parameter/ContentParameter.hbs @@ -8,7 +8,7 @@ import {{{packageName}}}.mediatype.MediaType; import java.util.Map; -public class ContentParameter extends ParameterBase { +public class ContentParameter extends ParameterBase implements Parameter { public final Map> content; public ContentParameter(String name, ParameterInType inType, boolean required, @Nullable ParameterStyle style, @Nullable Boolean explode, @Nullable Boolean allowReserved, Map> content) { @@ -16,7 +16,7 @@ public class ContentParameter extends ParameterBase { this.content = content; } - protected Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration) { + public Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration) { for (Map.Entry> entry: content.entrySet()) { var castInData = validate ? entry.getValue().schema().validate(inData, configuration) : inData ; String contentType = entry.getKey(); diff --git a/src/main/resources/java/src/main/java/packagename/parameter/ContentQueryParameter.hbs b/src/main/resources/java/src/main/java/packagename/parameter/ContentQueryParameter.hbs deleted file mode 100644 index 0f86f1de06a..00000000000 --- a/src/main/resources/java/src/main/java/packagename/parameter/ContentQueryParameter.hbs +++ /dev/null @@ -1,20 +0,0 @@ -package {{{packageName}}}.parameter; - -import org.checkerframework.checker.nullness.qual.Nullable; -import {{{packageName}}}.configurations.SchemaConfiguration; -import {{{packageName}}}.header.PrefixSeparatorIterator; -import {{{packageName}}}.mediatype.MediaType; - -import java.util.Map; - -public class ContentQueryParameter extends ContentParameter implements QueryParameter { - - public ContentQueryParameter(String name, ParameterInType inType, boolean required, @Nullable ParameterStyle style, @Nullable Boolean explode, @Nullable Boolean allowReserved, Map> content) { - super(name, inType, required, style, explode, allowReserved, content); - } - - @Override - public Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration, PrefixSeparatorIterator iterator) { - return super.serialize(inData, validate, configuration); - } -} \ No newline at end of file diff --git a/src/main/resources/java/src/main/java/packagename/parameter/NonQueryParameter.hbs b/src/main/resources/java/src/main/java/packagename/parameter/Parameter.hbs similarity index 88% rename from src/main/resources/java/src/main/java/packagename/parameter/NonQueryParameter.hbs rename to src/main/resources/java/src/main/java/packagename/parameter/Parameter.hbs index 666ee87ce77..97d4e21c817 100644 --- a/src/main/resources/java/src/main/java/packagename/parameter/NonQueryParameter.hbs +++ b/src/main/resources/java/src/main/java/packagename/parameter/Parameter.hbs @@ -5,6 +5,6 @@ import {{{packageName}}}.configurations.SchemaConfiguration; import java.util.Map; -public interface NonQueryParameter { +public interface Parameter { Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration); } \ No newline at end of file diff --git a/src/main/resources/java/src/main/java/packagename/parameter/ParameterBase.hbs b/src/main/resources/java/src/main/java/packagename/parameter/ParameterBase.hbs index d0e9da8eec9..40f9bf46c3d 100644 --- a/src/main/resources/java/src/main/java/packagename/parameter/ParameterBase.hbs +++ b/src/main/resources/java/src/main/java/packagename/parameter/ParameterBase.hbs @@ -13,27 +13,4 @@ public class ParameterBase extends HeaderBase { this.name = name; this.inType = inType; } - - protected ParameterStyle getStyle() { - if (style != null) { - return style; - } - if (inType == ParameterInType.QUERY || inType == ParameterInType.COOKIE) { - return ParameterStyle.FORM; - } - // ParameterInType.HEADER || ParameterInType.PATH - return ParameterStyle.SIMPLE; - } - - public PrefixSeparatorIterator getPrefixSeparatorIterator() { - ParameterStyle usedStyle = getStyle(); - if (usedStyle == ParameterStyle.FORM) { - return new PrefixSeparatorIterator("", "&"); - } else if (usedStyle == ParameterStyle.SPACE_DELIMITED) { - return new PrefixSeparatorIterator("", "%20"); - } else if (usedStyle == ParameterStyle.PIPE_DELIMITED) { - return new PrefixSeparatorIterator("", "|"); - } - throw new RuntimeException("No iterator possible for style="+usedStyle); - } } \ No newline at end of file diff --git a/src/main/resources/java/src/main/java/packagename/parameter/QueryParameter.hbs b/src/main/resources/java/src/main/java/packagename/parameter/QueryParameter.hbs deleted file mode 100644 index 18489466d31..00000000000 --- a/src/main/resources/java/src/main/java/packagename/parameter/QueryParameter.hbs +++ /dev/null @@ -1,12 +0,0 @@ -package {{{packageName}}}.parameter; - -import org.checkerframework.checker.nullness.qual.Nullable; -import {{{packageName}}}.configurations.SchemaConfiguration; -import {{{packageName}}}.header.PrefixSeparatorIterator; - -import java.util.Map; - -public interface QueryParameter { - Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration, PrefixSeparatorIterator iterator); - PrefixSeparatorIterator getPrefixSeparatorIterator(); -} \ No newline at end of file diff --git a/src/main/resources/java/src/main/java/packagename/parameter/SchemaNonQueryParameter.hbs b/src/main/resources/java/src/main/java/packagename/parameter/SchemaNonQueryParameter.hbs deleted file mode 100644 index b124a2d69ea..00000000000 --- a/src/main/resources/java/src/main/java/packagename/parameter/SchemaNonQueryParameter.hbs +++ /dev/null @@ -1,20 +0,0 @@ -package {{{packageName}}}.parameter; - -import org.checkerframework.checker.nullness.qual.Nullable; -import {{{packageName}}}.configurations.SchemaConfiguration; -import {{{packageName}}}.header.PrefixSeparatorIterator; -import {{{packageName}}}.schemas.validation.JsonSchema; - -import java.util.Map; - -public class SchemaNonQueryParameter extends SchemaParameter implements NonQueryParameter { - - public SchemaNonQueryParameter(String name, ParameterInType inType, boolean required, @Nullable ParameterStyle style, @Nullable Boolean explode, @Nullable Boolean allowReserved, JsonSchema schema) { - super(name, inType, required, style, explode, allowReserved, schema); - } - - @Override - public Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration) { - return super.serialize(inData, validate, configuration, null); - } -} \ No newline at end of file diff --git a/src/main/resources/java/src/main/java/packagename/parameter/SchemaParameter.hbs b/src/main/resources/java/src/main/java/packagename/parameter/SchemaParameter.hbs index 5fcd0fb4f1c..19f7abaedcb 100644 --- a/src/main/resources/java/src/main/java/packagename/parameter/SchemaParameter.hbs +++ b/src/main/resources/java/src/main/java/packagename/parameter/SchemaParameter.hbs @@ -11,7 +11,7 @@ import org.openapijsonschematools.client.header.StyleSerializer; import org.openapijsonschematools.client.schemas.validation.JsonSchema; import java.util.Map; -public class SchemaParameter extends ParameterBase { +public class SchemaParameter extends ParameterBase implements Parameter { public final JsonSchema schema; public SchemaParameter(String name, ParameterInType inType, boolean required, @Nullable ParameterStyle style, @Nullable Boolean explode, @Nullable Boolean allowReserved, JsonSchema schema) { @@ -19,7 +19,18 @@ public class SchemaParameter extends ParameterBase { this.schema = schema; } - protected Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration, @Nullable PrefixSeparatorIterator iterator) { + private ParameterStyle getStyle() { + if (style != null) { + return style; + } + if (inType == ParameterInType.QUERY || inType == ParameterInType.COOKIE) { + return ParameterStyle.FORM; + } + // ParameterInType.HEADER || ParameterInType.PATH + return ParameterStyle.SIMPLE; + } + + public Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration) { var castInData = validate ? schema.validate(inData, configuration) : inData; ParameterStyle usedStyle = getStyle(); boolean percentEncode = inType == ParameterInType.QUERY || inType == ParameterInType.PATH; @@ -30,7 +41,7 @@ public class SchemaParameter extends ParameterBase { value = StyleSerializer.serializeSimple(castInData, name, usedExplode, percentEncode); } else if (usedStyle == ParameterStyle.FORM) { // query OR cookie - value = StyleSerializer.serializeForm(castInData, name, usedExplode, percentEncode, iterator); + value = StyleSerializer.serializeForm(castInData, name, usedExplode, percentEncode); } else if (usedStyle == ParameterStyle.LABEL) { // path value = StyleSerializer.serializeLabel(castInData, name, usedExplode); @@ -39,10 +50,10 @@ public class SchemaParameter extends ParameterBase { value = StyleSerializer.serializeMatrix(castInData, name, usedExplode); } else if (usedStyle == ParameterStyle.SPACE_DELIMITED) { // query - value = StyleSerializer.serializeSpaceDelimited(castInData, name, usedExplode, iterator); + value = StyleSerializer.serializeSpaceDelimited(castInData, name, usedExplode); } else if (usedStyle == ParameterStyle.PIPE_DELIMITED) { // query - value = StyleSerializer.serializePipeDelimited(castInData, name, usedExplode, iterator); + value = StyleSerializer.serializePipeDelimited(castInData, name, usedExplode); } else { // usedStyle == ParameterStyle.DEEP_OBJECT // query diff --git a/src/main/resources/java/src/main/java/packagename/parameter/SchemaQueryParameter.hbs b/src/main/resources/java/src/main/java/packagename/parameter/SchemaQueryParameter.hbs deleted file mode 100644 index ed7fde8c022..00000000000 --- a/src/main/resources/java/src/main/java/packagename/parameter/SchemaQueryParameter.hbs +++ /dev/null @@ -1,20 +0,0 @@ -package {{{packageName}}}.parameter; - -import org.checkerframework.checker.nullness.qual.Nullable; -import {{{packageName}}}.configurations.SchemaConfiguration; -import {{{packageName}}}.header.PrefixSeparatorIterator; -import {{{packageName}}}.schemas.validation.JsonSchema; - -import java.util.Map; - -public class SchemaQueryParameter extends SchemaParameter implements QueryParameter { - - public SchemaQueryParameter(String name, ParameterInType inType, boolean required, @Nullable ParameterStyle style, @Nullable Boolean explode, @Nullable Boolean allowReserved, JsonSchema schema) { - super(name, inType, required, style, explode, allowReserved, schema); - } - - @Override - public Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration, PrefixSeparatorIterator iterator) { - return super.serialize(inData, validate, configuration, iterator); - } -} \ No newline at end of file diff --git a/src/main/resources/java/src/test/java/packagename/parameter/SchemaNonQueryParameterTest.hbs b/src/main/resources/java/src/test/java/packagename/parameter/SchemaNonQueryParameterTest.hbs index 585e2e2e73d..6cbda918f3d 100644 --- a/src/main/resources/java/src/test/java/packagename/parameter/SchemaNonQueryParameterTest.hbs +++ b/src/main/resources/java/src/test/java/packagename/parameter/SchemaNonQueryParameterTest.hbs @@ -20,7 +20,7 @@ public class SchemaNonQueryParameterTest { } } - public static class HeaderParameter extends SchemaNonQueryParameter { + public static class HeaderParameter extends SchemaParameter { public HeaderParameter(@Nullable Boolean explode) { super("color", ParameterInType.HEADER, true, null, explode, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); } @@ -99,7 +99,7 @@ public class SchemaNonQueryParameterTest { } } - public static class PathParameter extends SchemaNonQueryParameter { + public static class PathParameter extends SchemaParameter { public PathParameter(@Nullable Boolean explode) { super("color", ParameterInType.PATH, true, null, explode, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); } @@ -178,7 +178,7 @@ public class SchemaNonQueryParameterTest { } } - public static class CookieParameter extends SchemaNonQueryParameter { + public static class CookieParameter extends SchemaParameter { public CookieParameter(@Nullable Boolean explode) { super("color", ParameterInType.COOKIE, true, null, explode, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); } @@ -257,7 +257,7 @@ public class SchemaNonQueryParameterTest { } } - public static class PathMatrixParameter extends SchemaNonQueryParameter { + public static class PathMatrixParameter extends SchemaParameter { public PathMatrixParameter(@Nullable Boolean explode) { super("color", ParameterInType.PATH, true, ParameterStyle.MATRIX, explode, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); } @@ -329,7 +329,7 @@ public class SchemaNonQueryParameterTest { } } - public static class PathLabelParameter extends SchemaNonQueryParameter { + public static class PathLabelParameter extends SchemaParameter { public PathLabelParameter(@Nullable Boolean explode) { super("color", ParameterInType.PATH, true, ParameterStyle.LABEL, explode, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); } diff --git a/src/main/resources/java/src/test/java/packagename/parameter/SchemaQueryParameterTest.hbs b/src/main/resources/java/src/test/java/packagename/parameter/SchemaQueryParameterTest.hbs index 34e0d485319..646f4502b81 100644 --- a/src/main/resources/java/src/test/java/packagename/parameter/SchemaQueryParameterTest.hbs +++ b/src/main/resources/java/src/test/java/packagename/parameter/SchemaQueryParameterTest.hbs @@ -20,7 +20,7 @@ public class SchemaQueryParameterTest { } } - public static class QueryParameterNoStyle extends SchemaQueryParameter { + public static class QueryParameterNoStyle extends SchemaParameter { public QueryParameterNoStyle(@Nullable Boolean explode) { super("color", ParameterInType.QUERY, true, null, explode, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); } @@ -87,21 +87,19 @@ public class SchemaQueryParameterTest { SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); for (ParamTestCase testCase: testCases) { var parameter = new QueryParameterNoStyle(testCase.explode); - var iterator = parameter.getPrefixSeparatorIterator(); - var serialization = parameter.serialize(testCase.payload, false, configuration, iterator); + var serialization = parameter.serialize(testCase.payload, false, configuration); Assert.assertEquals(testCase.expectedSerialization, serialization); } var parameter = new QueryParameterNoStyle(false); - var iterator = parameter.getPrefixSeparatorIterator(); for (boolean value: Set.of(true, false)) { Assert.assertThrows( InvalidTypeException.class, - () -> parameter.serialize(value, false, configuration, iterator) + () -> parameter.serialize(value, false, configuration) ); } } - public static class QueryParameterSpaceDelimited extends SchemaQueryParameter { + public static class QueryParameterSpaceDelimited extends SchemaParameter { public QueryParameterSpaceDelimited(@Nullable Boolean explode) { super("color", ParameterInType.QUERY, true, ParameterStyle.SPACE_DELIMITED, explode, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); } @@ -144,13 +142,12 @@ public class SchemaQueryParameterTest { SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); for (ParamTestCase testCase: testCases) { var parameter = new QueryParameterSpaceDelimited(testCase.explode); - var iterator = parameter.getPrefixSeparatorIterator(); - var serialization = parameter.serialize(testCase.payload, false, configuration, iterator); + var serialization = parameter.serialize(testCase.payload, false, configuration); Assert.assertEquals(testCase.expectedSerialization, serialization); } } - public static class QueryParameterPipeDelimited extends SchemaQueryParameter { + public static class QueryParameterPipeDelimited extends SchemaParameter { public QueryParameterPipeDelimited(@Nullable Boolean explode) { super("color", ParameterInType.QUERY, true, ParameterStyle.PIPE_DELIMITED, explode, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); } @@ -193,8 +190,7 @@ public class SchemaQueryParameterTest { SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); for (ParamTestCase testCase: testCases) { var parameter = new QueryParameterPipeDelimited(testCase.explode); - var iterator = parameter.getPrefixSeparatorIterator(); - var serialization = parameter.serialize(testCase.payload, false, configuration, iterator); + var serialization = parameter.serialize(testCase.payload, false, configuration); Assert.assertEquals(testCase.expectedSerialization, serialization); } } From 288b476c3a5145f6ae431d7191b327ffeb8eff73 Mon Sep 17 00:00:00 2001 From: Justin Black Date: Tue, 5 Mar 2024 16:22:54 -0800 Subject: [PATCH 09/29] Removes lingering NonQueryParameter reference --- .../commonparamsubdir/delete/Parameters.java | 6 +++--- .../paths/commonparamsubdir/get/Parameters.java | 7 +++---- .../paths/commonparamsubdir/post/Parameters.java | 6 +++--- .../client/paths/fake/delete/Parameters.java | 7 +++---- .../client/paths/fake/get/Parameters.java | 7 +++---- .../fakebodywithqueryparams/put/Parameters.java | 4 ++-- .../fakecasesensitiveparams/put/Parameters.java | 4 ++-- .../fakedeletecoffeeid/delete/Parameters.java | 4 ++-- .../fakeinlinecomposition/post/Parameters.java | 4 ++-- .../paths/fakeobjinquery/get/Parameters.java | 4 ++-- .../post/Parameters.java | 11 +++++------ .../post/Parameters.java | 4 ++-- .../get/Parameters.java | 4 ++-- .../paths/fakerefobjinquery/get/Parameters.java | 4 ++-- .../faketestqueryparamters/put/Parameters.java | 4 ++-- .../paths/petfindbystatus/get/Parameters.java | 4 ++-- .../paths/petfindbytags/get/Parameters.java | 4 ++-- .../client/paths/petpetid/delete/Parameters.java | 6 +++--- .../client/paths/petpetid/get/Parameters.java | 4 ++-- .../client/paths/petpetid/post/Parameters.java | 4 ++-- .../petpetiduploadimage/post/Parameters.java | 4 ++-- .../storeorderorderid/delete/Parameters.java | 4 ++-- .../paths/storeorderorderid/get/Parameters.java | 4 ++-- .../client/paths/userlogin/get/Parameters.java | 4 ++-- .../paths/userusername/delete/Parameters.java | 4 ++-- .../client/paths/userusername/get/Parameters.java | 4 ++-- .../client/paths/userusername/put/Parameters.java | 4 ++-- .../parameter/SchemaNonQueryParameterTest.java | 10 +++++----- .../codegen/generators/JavaClientGenerator.java | 4 ++++ .../packagename/paths/path/verb/Parameters.hbs | 15 +++++---------- 30 files changed, 77 insertions(+), 82 deletions(-) diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/Parameters.java index dd1392621ba..4e21c737912 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/Parameters.java @@ -2,7 +2,7 @@ import org.openapijsonschematools.client.paths.commonparamsubdir.delete.parameters.Parameter0; import org.openapijsonschematools.client.paths.commonparamsubdir.delete.parameters.Parameter1; -import org.openapijsonschematools.client.parameter.NonQueryParameter; +import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; import java.util.AbstractMap; @@ -10,7 +10,7 @@ public class Parameters { public static class PathParametersDeserializer { - Map parameters; + Map parameters; public PathParametersDeserializer() { parameters = Map.ofEntries( @@ -22,7 +22,7 @@ public PathParametersDeserializer() { } public static class HeaderParametersDeserializer { - Map parameters; + Map parameters; public HeaderParametersDeserializer() { parameters = Map.ofEntries( diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/Parameters.java index 0533c2ad3c5..bdd5c5bfd1a 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/Parameters.java @@ -2,8 +2,7 @@ import org.openapijsonschematools.client.paths.commonparamsubdir.parameters.RouteParameter0; import org.openapijsonschematools.client.paths.commonparamsubdir.get.parameters.Parameter0; -import org.openapijsonschematools.client.parameter.QueryParameter; -import org.openapijsonschematools.client.parameter.NonQueryParameter; +import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; import java.util.AbstractMap; @@ -11,7 +10,7 @@ public class Parameters { public static class PathParametersDeserializer { - Map parameters; + Map parameters; public PathParametersDeserializer() { parameters = Map.ofEntries( @@ -23,7 +22,7 @@ public PathParametersDeserializer() { } public static class QueryParametersDeserializer { - Map parameters; + Map parameters; public QueryParametersDeserializer() { parameters = Map.ofEntries( diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/Parameters.java index 695889d0975..46e1a93688b 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/Parameters.java @@ -2,7 +2,7 @@ import org.openapijsonschematools.client.paths.commonparamsubdir.parameters.RouteParameter0; import org.openapijsonschematools.client.paths.commonparamsubdir.post.parameters.Parameter0; -import org.openapijsonschematools.client.parameter.NonQueryParameter; +import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; import java.util.AbstractMap; @@ -10,7 +10,7 @@ public class Parameters { public static class PathParametersDeserializer { - Map parameters; + Map parameters; public PathParametersDeserializer() { parameters = Map.ofEntries( @@ -22,7 +22,7 @@ public PathParametersDeserializer() { } public static class HeaderParametersDeserializer { - Map parameters; + Map parameters; public HeaderParametersDeserializer() { parameters = Map.ofEntries( diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/Parameters.java index 42137e8112e..a97bfd62d77 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/Parameters.java @@ -6,8 +6,7 @@ import org.openapijsonschematools.client.paths.fake.delete.parameters.Parameter3; import org.openapijsonschematools.client.paths.fake.delete.parameters.Parameter4; import org.openapijsonschematools.client.paths.fake.delete.parameters.Parameter5; -import org.openapijsonschematools.client.parameter.QueryParameter; -import org.openapijsonschematools.client.parameter.NonQueryParameter; +import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; import java.util.AbstractMap; @@ -15,7 +14,7 @@ public class Parameters { public static class QueryParametersDeserializer { - Map parameters; + Map parameters; public QueryParametersDeserializer() { parameters = Map.ofEntries( @@ -30,7 +29,7 @@ public QueryParametersDeserializer() { } public static class HeaderParametersDeserializer { - Map parameters; + Map parameters; public HeaderParametersDeserializer() { parameters = Map.ofEntries( diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/Parameters.java index cc9d04b06d8..cff1d6b13ab 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/Parameters.java @@ -6,8 +6,7 @@ import org.openapijsonschematools.client.paths.fake.get.parameters.Parameter3; import org.openapijsonschematools.client.paths.fake.get.parameters.Parameter4; import org.openapijsonschematools.client.paths.fake.get.parameters.Parameter5; -import org.openapijsonschematools.client.parameter.QueryParameter; -import org.openapijsonschematools.client.parameter.NonQueryParameter; +import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; import java.util.AbstractMap; @@ -15,7 +14,7 @@ public class Parameters { public static class QueryParametersDeserializer { - Map parameters; + Map parameters; public QueryParametersDeserializer() { parameters = Map.ofEntries( @@ -30,7 +29,7 @@ public QueryParametersDeserializer() { } public static class HeaderParametersDeserializer { - Map parameters; + Map parameters; public HeaderParametersDeserializer() { parameters = Map.ofEntries( diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/Parameters.java index 00431ea82a9..41d5c8133fc 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/Parameters.java @@ -1,7 +1,7 @@ package org.openapijsonschematools.client.paths.fakebodywithqueryparams.put; import org.openapijsonschematools.client.paths.fakebodywithqueryparams.put.parameters.Parameter0; -import org.openapijsonschematools.client.parameter.QueryParameter; +import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; import java.util.AbstractMap; @@ -9,7 +9,7 @@ public class Parameters { public static class QueryParametersDeserializer { - Map parameters; + Map parameters; public QueryParametersDeserializer() { parameters = Map.ofEntries( diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/Parameters.java index 932741524d7..2980127094c 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/Parameters.java @@ -3,7 +3,7 @@ import org.openapijsonschematools.client.paths.fakecasesensitiveparams.put.parameters.Parameter0; import org.openapijsonschematools.client.paths.fakecasesensitiveparams.put.parameters.Parameter1; import org.openapijsonschematools.client.paths.fakecasesensitiveparams.put.parameters.Parameter2; -import org.openapijsonschematools.client.parameter.QueryParameter; +import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; import java.util.AbstractMap; @@ -11,7 +11,7 @@ public class Parameters { public static class QueryParametersDeserializer { - Map parameters; + Map parameters; public QueryParametersDeserializer() { parameters = Map.ofEntries( diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/Parameters.java index bb4b8e9f5b8..dc8d1133097 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/Parameters.java @@ -1,7 +1,7 @@ package org.openapijsonschematools.client.paths.fakedeletecoffeeid.delete; import org.openapijsonschematools.client.paths.fakedeletecoffeeid.delete.parameters.Parameter0; -import org.openapijsonschematools.client.parameter.NonQueryParameter; +import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; import java.util.AbstractMap; @@ -9,7 +9,7 @@ public class Parameters { public static class PathParametersDeserializer { - Map parameters; + Map parameters; public PathParametersDeserializer() { parameters = Map.ofEntries( diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/Parameters.java index 9e7356217c6..0325124f406 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/Parameters.java @@ -2,7 +2,7 @@ import org.openapijsonschematools.client.paths.fakeinlinecomposition.post.parameters.Parameter0; import org.openapijsonschematools.client.paths.fakeinlinecomposition.post.parameters.Parameter1; -import org.openapijsonschematools.client.parameter.QueryParameter; +import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; import java.util.AbstractMap; @@ -10,7 +10,7 @@ public class Parameters { public static class QueryParametersDeserializer { - Map parameters; + Map parameters; public QueryParametersDeserializer() { parameters = Map.ofEntries( diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeobjinquery/get/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeobjinquery/get/Parameters.java index ccd3972fc36..8823407ce11 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeobjinquery/get/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeobjinquery/get/Parameters.java @@ -1,7 +1,7 @@ package org.openapijsonschematools.client.paths.fakeobjinquery.get; import org.openapijsonschematools.client.paths.fakeobjinquery.get.parameters.Parameter0; -import org.openapijsonschematools.client.parameter.QueryParameter; +import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; import java.util.AbstractMap; @@ -9,7 +9,7 @@ public class Parameters { public static class QueryParametersDeserializer { - Map parameters; + Map parameters; public QueryParametersDeserializer() { parameters = Map.ofEntries( diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/Parameters.java index 718446b6fc0..a479dbea033 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/Parameters.java @@ -19,8 +19,7 @@ import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.Parameter16; import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.Parameter17; import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.Parameter18; -import org.openapijsonschematools.client.parameter.QueryParameter; -import org.openapijsonschematools.client.parameter.NonQueryParameter; +import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; import java.util.AbstractMap; @@ -28,7 +27,7 @@ public class Parameters { public static class PathParametersDeserializer { - Map parameters; + Map parameters; public PathParametersDeserializer() { parameters = Map.ofEntries( @@ -44,7 +43,7 @@ public PathParametersDeserializer() { } public static class QueryParametersDeserializer { - Map parameters; + Map parameters; public QueryParametersDeserializer() { parameters = Map.ofEntries( @@ -60,7 +59,7 @@ public QueryParametersDeserializer() { } public static class HeaderParametersDeserializer { - Map parameters; + Map parameters; public HeaderParametersDeserializer() { parameters = Map.ofEntries( @@ -75,7 +74,7 @@ public HeaderParametersDeserializer() { } public static class CookieParametersDeserializer { - Map parameters; + Map parameters; public CookieParametersDeserializer() { parameters = Map.ofEntries( diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/Parameters.java index d299ff8edbd..afae872796b 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/Parameters.java @@ -1,7 +1,7 @@ package org.openapijsonschematools.client.paths.fakepetiduploadimagewithrequiredfile.post; import org.openapijsonschematools.client.paths.fakepetiduploadimagewithrequiredfile.post.parameters.Parameter0; -import org.openapijsonschematools.client.parameter.NonQueryParameter; +import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; import java.util.AbstractMap; @@ -9,7 +9,7 @@ public class Parameters { public static class PathParametersDeserializer { - Map parameters; + Map parameters; public PathParametersDeserializer() { parameters = Map.ofEntries( diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/Parameters.java index 6c665b671fb..1116e155e9d 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/Parameters.java @@ -1,7 +1,7 @@ package org.openapijsonschematools.client.paths.fakequeryparamwithjsoncontenttype.get; import org.openapijsonschematools.client.paths.fakequeryparamwithjsoncontenttype.get.parameters.Parameter0; -import org.openapijsonschematools.client.parameter.QueryParameter; +import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; import java.util.AbstractMap; @@ -9,7 +9,7 @@ public class Parameters { public static class QueryParametersDeserializer { - Map parameters; + Map parameters; public QueryParametersDeserializer() { parameters = Map.ofEntries( diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakerefobjinquery/get/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakerefobjinquery/get/Parameters.java index 2dc4c2f6c85..f268d811469 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakerefobjinquery/get/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakerefobjinquery/get/Parameters.java @@ -1,7 +1,7 @@ package org.openapijsonschematools.client.paths.fakerefobjinquery.get; import org.openapijsonschematools.client.paths.fakerefobjinquery.get.parameters.Parameter0; -import org.openapijsonschematools.client.parameter.QueryParameter; +import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; import java.util.AbstractMap; @@ -9,7 +9,7 @@ public class Parameters { public static class QueryParametersDeserializer { - Map parameters; + Map parameters; public QueryParametersDeserializer() { parameters = Map.ofEntries( diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/Parameters.java index 0da4ec58f64..ad17bac2aa9 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/Parameters.java @@ -6,7 +6,7 @@ import org.openapijsonschematools.client.paths.faketestqueryparamters.put.parameters.Parameter3; import org.openapijsonschematools.client.paths.faketestqueryparamters.put.parameters.Parameter4; import org.openapijsonschematools.client.paths.faketestqueryparamters.put.parameters.Parameter5; -import org.openapijsonschematools.client.parameter.QueryParameter; +import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; import java.util.AbstractMap; @@ -14,7 +14,7 @@ public class Parameters { public static class QueryParametersDeserializer { - Map parameters; + Map parameters; public QueryParametersDeserializer() { parameters = Map.ofEntries( diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/Parameters.java index b5cf05c31f3..92bc292eaf4 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/Parameters.java @@ -1,7 +1,7 @@ package org.openapijsonschematools.client.paths.petfindbystatus.get; import org.openapijsonschematools.client.paths.petfindbystatus.get.parameters.Parameter0; -import org.openapijsonschematools.client.parameter.QueryParameter; +import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; import java.util.AbstractMap; @@ -9,7 +9,7 @@ public class Parameters { public static class QueryParametersDeserializer { - Map parameters; + Map parameters; public QueryParametersDeserializer() { parameters = Map.ofEntries( diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/Parameters.java index 8646b5c3ab1..844e389a249 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/Parameters.java @@ -1,7 +1,7 @@ package org.openapijsonschematools.client.paths.petfindbytags.get; import org.openapijsonschematools.client.paths.petfindbytags.get.parameters.Parameter0; -import org.openapijsonschematools.client.parameter.QueryParameter; +import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; import java.util.AbstractMap; @@ -9,7 +9,7 @@ public class Parameters { public static class QueryParametersDeserializer { - Map parameters; + Map parameters; public QueryParametersDeserializer() { parameters = Map.ofEntries( diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/Parameters.java index c8ff2e9272c..bbbe6ba6de1 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/Parameters.java @@ -2,7 +2,7 @@ import org.openapijsonschematools.client.paths.petpetid.delete.parameters.Parameter0; import org.openapijsonschematools.client.paths.petpetid.delete.parameters.Parameter1; -import org.openapijsonschematools.client.parameter.NonQueryParameter; +import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; import java.util.AbstractMap; @@ -10,7 +10,7 @@ public class Parameters { public static class PathParametersDeserializer { - Map parameters; + Map parameters; public PathParametersDeserializer() { parameters = Map.ofEntries( @@ -22,7 +22,7 @@ public PathParametersDeserializer() { } public static class HeaderParametersDeserializer { - Map parameters; + Map parameters; public HeaderParametersDeserializer() { parameters = Map.ofEntries( diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/get/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/get/Parameters.java index 370ea2dbe7c..11424e2ea26 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/get/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/get/Parameters.java @@ -1,7 +1,7 @@ package org.openapijsonschematools.client.paths.petpetid.get; import org.openapijsonschematools.client.paths.petpetid.get.parameters.Parameter0; -import org.openapijsonschematools.client.parameter.NonQueryParameter; +import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; import java.util.AbstractMap; @@ -9,7 +9,7 @@ public class Parameters { public static class PathParametersDeserializer { - Map parameters; + Map parameters; public PathParametersDeserializer() { parameters = Map.ofEntries( diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/post/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/post/Parameters.java index 95fd88ea356..002c83bb6f1 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/post/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/post/Parameters.java @@ -1,7 +1,7 @@ package org.openapijsonschematools.client.paths.petpetid.post; import org.openapijsonschematools.client.paths.petpetid.post.parameters.Parameter0; -import org.openapijsonschematools.client.parameter.NonQueryParameter; +import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; import java.util.AbstractMap; @@ -9,7 +9,7 @@ public class Parameters { public static class PathParametersDeserializer { - Map parameters; + Map parameters; public PathParametersDeserializer() { parameters = Map.ofEntries( diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/Parameters.java index 7c94ff3fe94..0bf8ef4957d 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/Parameters.java @@ -1,7 +1,7 @@ package org.openapijsonschematools.client.paths.petpetiduploadimage.post; import org.openapijsonschematools.client.paths.petpetiduploadimage.post.parameters.Parameter0; -import org.openapijsonschematools.client.parameter.NonQueryParameter; +import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; import java.util.AbstractMap; @@ -9,7 +9,7 @@ public class Parameters { public static class PathParametersDeserializer { - Map parameters; + Map parameters; public PathParametersDeserializer() { parameters = Map.ofEntries( diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/Parameters.java index a9f25d38c73..a07d9f48c46 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/Parameters.java @@ -1,7 +1,7 @@ package org.openapijsonschematools.client.paths.storeorderorderid.delete; import org.openapijsonschematools.client.paths.storeorderorderid.delete.parameters.Parameter0; -import org.openapijsonschematools.client.parameter.NonQueryParameter; +import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; import java.util.AbstractMap; @@ -9,7 +9,7 @@ public class Parameters { public static class PathParametersDeserializer { - Map parameters; + Map parameters; public PathParametersDeserializer() { parameters = Map.ofEntries( diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/Parameters.java index d4286adb548..305b66470b2 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/Parameters.java @@ -1,7 +1,7 @@ package org.openapijsonschematools.client.paths.storeorderorderid.get; import org.openapijsonschematools.client.paths.storeorderorderid.get.parameters.Parameter0; -import org.openapijsonschematools.client.parameter.NonQueryParameter; +import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; import java.util.AbstractMap; @@ -9,7 +9,7 @@ public class Parameters { public static class PathParametersDeserializer { - Map parameters; + Map parameters; public PathParametersDeserializer() { parameters = Map.ofEntries( diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userlogin/get/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userlogin/get/Parameters.java index ebdb5069b90..f8ad4206484 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userlogin/get/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userlogin/get/Parameters.java @@ -2,7 +2,7 @@ import org.openapijsonschematools.client.paths.userlogin.get.parameters.Parameter0; import org.openapijsonschematools.client.paths.userlogin.get.parameters.Parameter1; -import org.openapijsonschematools.client.parameter.QueryParameter; +import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; import java.util.AbstractMap; @@ -10,7 +10,7 @@ public class Parameters { public static class QueryParametersDeserializer { - Map parameters; + Map parameters; public QueryParametersDeserializer() { parameters = Map.ofEntries( diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/delete/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/delete/Parameters.java index 61f019ada2e..d44b5c7753f 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/delete/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/delete/Parameters.java @@ -1,7 +1,7 @@ package org.openapijsonschematools.client.paths.userusername.delete; import org.openapijsonschematools.client.paths.userusername.delete.parameters.Parameter0; -import org.openapijsonschematools.client.parameter.NonQueryParameter; +import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; import java.util.AbstractMap; @@ -9,7 +9,7 @@ public class Parameters { public static class PathParametersDeserializer { - Map parameters; + Map parameters; public PathParametersDeserializer() { parameters = Map.ofEntries( diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/get/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/get/Parameters.java index 5ce2e7d0242..cc3ee936543 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/get/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/get/Parameters.java @@ -1,7 +1,7 @@ package org.openapijsonschematools.client.paths.userusername.get; import org.openapijsonschematools.client.paths.userusername.get.parameters.Parameter0; -import org.openapijsonschematools.client.parameter.NonQueryParameter; +import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; import java.util.AbstractMap; @@ -9,7 +9,7 @@ public class Parameters { public static class PathParametersDeserializer { - Map parameters; + Map parameters; public PathParametersDeserializer() { parameters = Map.ofEntries( diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/put/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/put/Parameters.java index aa889ecd528..1684b1ecd00 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/put/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/put/Parameters.java @@ -1,7 +1,7 @@ package org.openapijsonschematools.client.paths.userusername.put; import org.openapijsonschematools.client.paths.userusername.put.parameters.Parameter0; -import org.openapijsonschematools.client.parameter.NonQueryParameter; +import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; import java.util.AbstractMap; @@ -9,7 +9,7 @@ public class Parameters { public static class PathParametersDeserializer { - Map parameters; + Map parameters; public PathParametersDeserializer() { parameters = Map.ofEntries( diff --git a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java index cc681934e5e..1c36393115f 100644 --- a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java +++ b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java @@ -20,7 +20,7 @@ public ParamTestCase(@Nullable Object payload, Map expectedSeri } } - public static class HeaderParameter extends SchemaNonQueryParameter { + public static class HeaderParameter extends SchemaParameter { public HeaderParameter(@Nullable Boolean explode) { super("color", ParameterInType.HEADER, true, null, explode, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); } @@ -99,7 +99,7 @@ public void testHeaderSerialization() { } } - public static class PathParameter extends SchemaNonQueryParameter { + public static class PathParameter extends SchemaParameter { public PathParameter(@Nullable Boolean explode) { super("color", ParameterInType.PATH, true, null, explode, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); } @@ -178,7 +178,7 @@ public void testPathSerialization() { } } - public static class CookieParameter extends SchemaNonQueryParameter { + public static class CookieParameter extends SchemaParameter { public CookieParameter(@Nullable Boolean explode) { super("color", ParameterInType.COOKIE, true, null, explode, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); } @@ -257,7 +257,7 @@ public void testCookieSerialization() { } } - public static class PathMatrixParameter extends SchemaNonQueryParameter { + public static class PathMatrixParameter extends SchemaParameter { public PathMatrixParameter(@Nullable Boolean explode) { super("color", ParameterInType.PATH, true, ParameterStyle.MATRIX, explode, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); } @@ -329,7 +329,7 @@ public void testPathMatrixSerialization() { } } - public static class PathLabelParameter extends SchemaNonQueryParameter { + public static class PathLabelParameter extends SchemaParameter { public PathLabelParameter(@Nullable Boolean explode) { super("color", ParameterInType.PATH, true, ParameterStyle.LABEL, explode, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); } diff --git a/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java b/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java index 1853d47cc1c..1c9f3f79dff 100644 --- a/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java +++ b/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java @@ -853,6 +853,10 @@ public void processOpts() { "src/main/java/packagename/parameter/SchemaParameter.hbs", packagePath() + File.separatorChar + "parameter", "SchemaParameter.java")); + supportingFiles.add(new SupportingFile( + "src/test/java/packagename/parameter/SchemaNonQueryParameterTest.hbs", + testPackagePath() + File.separatorChar + "parameter", + "SchemaNonQueryParameterTest.java")); supportingFiles.add(new SupportingFile( "src/test/java/packagename/parameter/SchemaQueryParameterTest.hbs", testPackagePath() + File.separatorChar + "parameter", diff --git a/src/main/resources/java/src/main/java/packagename/paths/path/verb/Parameters.hbs b/src/main/resources/java/src/main/java/packagename/paths/path/verb/Parameters.hbs index 99c7cb4ff32..3a9b67295c0 100644 --- a/src/main/resources/java/src/main/java/packagename/paths/path/verb/Parameters.hbs +++ b/src/main/resources/java/src/main/java/packagename/paths/path/verb/Parameters.hbs @@ -11,12 +11,7 @@ import {{packageName}}.{{subpackage}}.{{jsonPathPiece.pascalCase}}; import {{packageName}}.{{subpackage}}.{{jsonPathPiece.pascalCase}}; {{/each}} {{/with}} - {{#if queryParametersSchema}} -import {{packageName}}.parameter.QueryParameter; - {{/if}} - {{#or pathParametersSchema headerParametersSchema cookieParametersSchema}} -import {{packageName}}.parameter.NonQueryParameter; - {{/or}} +import {{packageName}}.parameter.Parameter; import java.util.Map; import java.util.AbstractMap; @@ -25,7 +20,7 @@ public class {{jsonPathPiece.pascalCase}} { {{#if pathParametersSchema}} public static class PathParametersDeserializer { - Map parameters; + Map parameters; public PathParametersDeserializer() { parameters = Map.ofEntries( @@ -43,7 +38,7 @@ public class {{jsonPathPiece.pascalCase}} { {{#if queryParametersSchema}} public static class QueryParametersDeserializer { - Map parameters; + Map parameters; public QueryParametersDeserializer() { parameters = Map.ofEntries( @@ -61,7 +56,7 @@ public class {{jsonPathPiece.pascalCase}} { {{#if headerParametersSchema}} public static class HeaderParametersDeserializer { - Map parameters; + Map parameters; public HeaderParametersDeserializer() { parameters = Map.ofEntries( @@ -79,7 +74,7 @@ public class {{jsonPathPiece.pascalCase}} { {{#if cookieParametersSchema}} public static class CookieParametersDeserializer { - Map parameters; + Map parameters; public CookieParametersDeserializer() { parameters = Map.ofEntries( From c17ce795218a25c720f421e1daa8e7d2f7a5713d Mon Sep 17 00:00:00 2001 From: Justin Black Date: Tue, 5 Mar 2024 16:58:13 -0800 Subject: [PATCH 10/29] Parameter serialize returns AbstractMap.SimpleEntry --- .../petstore/java/.openapi-generator/FILES | 1 + .../client/parameter/ContentParameter.java | 5 +- .../client/parameter/Parameter.java | 4 +- .../client/parameter/SchemaParameter.java | 12 +- .../SchemaNonQueryParameterTest.java | 125 +++++++++--------- .../parameter/SchemaQueryParameterTest.java | 53 ++++---- .../parameter/ContentParameter.hbs | 5 +- .../java/packagename/parameter/Parameter.hbs | 4 +- .../packagename/parameter/SchemaParameter.hbs | 12 +- .../parameter/SchemaNonQueryParameterTest.hbs | 125 +++++++++--------- .../parameter/SchemaQueryParameterTest.hbs | 53 ++++---- 11 files changed, 199 insertions(+), 200 deletions(-) diff --git a/samples/client/petstore/java/.openapi-generator/FILES b/samples/client/petstore/java/.openapi-generator/FILES index 6cedffab7c4..155ecb26a25 100644 --- a/samples/client/petstore/java/.openapi-generator/FILES +++ b/samples/client/petstore/java/.openapi-generator/FILES @@ -1218,6 +1218,7 @@ src/main/java/org/openapijsonschematools/client/servers/server1/Variables.java src/test/java/org/openapijsonschematools/client/configurations/JsonSchemaKeywordFlagsTest.java src/test/java/org/openapijsonschematools/client/header/ContentHeaderTest.java src/test/java/org/openapijsonschematools/client/header/SchemaHeaderTest.java +src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java src/test/java/org/openapijsonschematools/client/requestbody/RequestBodySerializerTest.java src/test/java/org/openapijsonschematools/client/response/ResponseDeserializerTest.java diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ContentParameter.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ContentParameter.java index d7d07968b10..2ee835b738d 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ContentParameter.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ContentParameter.java @@ -7,6 +7,7 @@ import org.openapijsonschematools.client.mediatype.MediaType; import java.util.Map; +import java.util.AbstractMap; public class ContentParameter extends ParameterBase implements Parameter { public final Map> content; @@ -16,13 +17,13 @@ public ContentParameter(String name, ParameterInType inType, boolean required, @ this.content = content; } - public Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration) { + public AbstractMap.SimpleEntry serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration) { for (Map.Entry> entry: content.entrySet()) { var castInData = validate ? entry.getValue().schema().validate(inData, configuration) : inData ; String contentType = entry.getKey(); if (ContentTypeDetector.contentTypeIsJson(contentType)) { var value = ContentTypeSerializer.toJson(castInData); - return Map.of(name, value); + return new AbstractMap.SimpleEntry<>(name, value); } else { throw new RuntimeException("Serialization of "+contentType+" has not yet been implemented"); } diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/Parameter.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/Parameter.java index 8facc13311c..66b57534beb 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/Parameter.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/Parameter.java @@ -3,8 +3,8 @@ import org.checkerframework.checker.nullness.qual.Nullable; import org.openapijsonschematools.client.configurations.SchemaConfiguration; -import java.util.Map; +import java.util.AbstractMap; public interface Parameter { - Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration); + AbstractMap.SimpleEntry serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration); } \ No newline at end of file diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaParameter.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaParameter.java index 679c3b72888..40eab176352 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaParameter.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaParameter.java @@ -2,14 +2,10 @@ import org.checkerframework.checker.nullness.qual.Nullable; import org.openapijsonschematools.client.configurations.SchemaConfiguration; -import org.openapijsonschematools.client.header.PrefixSeparatorIterator; import org.openapijsonschematools.client.header.StyleSerializer; import org.openapijsonschematools.client.schemas.validation.JsonSchema; -import org.openapijsonschematools.client.header.HeaderBase; -import org.openapijsonschematools.client.header.PrefixSeparatorIterator; -import org.openapijsonschematools.client.header.StyleSerializer; -import org.openapijsonschematools.client.schemas.validation.JsonSchema; -import java.util.Map; + +import java.util.AbstractMap; public class SchemaParameter extends ParameterBase implements Parameter { public final JsonSchema schema; @@ -30,7 +26,7 @@ private ParameterStyle getStyle() { return ParameterStyle.SIMPLE; } - public Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration) { + public AbstractMap.SimpleEntry serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration) { var castInData = validate ? schema.validate(inData, configuration) : inData; ParameterStyle usedStyle = getStyle(); boolean percentEncode = inType == ParameterInType.QUERY || inType == ParameterInType.PATH; @@ -59,6 +55,6 @@ public Map serialize(@Nullable Object inData, boolean validate, // query throw new RuntimeException("Style deep object serialization has not yet been implemented."); } - return Map.of(name, value); + return new AbstractMap.SimpleEntry<>(name, value); } } \ No newline at end of file diff --git a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java index 1c36393115f..f2c0c32b7b1 100644 --- a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java +++ b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java @@ -11,11 +11,12 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.AbstractMap; import java.util.Set; public class SchemaNonQueryParameterTest { - public record ParamTestCase(@Nullable Object payload, Map expectedSerialization, @Nullable Boolean explode) { - public ParamTestCase(@Nullable Object payload, Map expectedSerialization) { + public record ParamTestCase(@Nullable Object payload, AbstractMap.SimpleEntry expectedSerialization, @Nullable Boolean explode) { + public ParamTestCase(@Nullable Object payload, AbstractMap.SimpleEntry expectedSerialization) { this(payload, expectedSerialization, null); } } @@ -35,52 +36,52 @@ public void testHeaderSerialization() { var testCases = List.of( new ParamTestCase( null, - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( 1, - Map.of("color", "1") + new AbstractMap.SimpleEntry<>("color", "1") ), new ParamTestCase( 3.14, - Map.of("color","3.14") + new AbstractMap.SimpleEntry<>("color","3.14") ), new ParamTestCase( "blue", - Map.of("color", "blue") + new AbstractMap.SimpleEntry<>("color", "blue") ), new ParamTestCase( "hello world", - Map.of("color", "hello world") + new AbstractMap.SimpleEntry<>("color", "hello world") ), new ParamTestCase( "", - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "blue,black,brown") + new AbstractMap.SimpleEntry<>("color", "blue,black,brown") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "blue,black,brown"), + new AbstractMap.SimpleEntry<>("color", "blue,black,brown"), true ), new ParamTestCase( Map.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( mapPayload, - Map.of("color", "R,100,G,200,B,150") + new AbstractMap.SimpleEntry<>("color", "R,100,G,200,B,150") ), new ParamTestCase( mapPayload, - Map.of("color", "R=100,G=200,B=150"), + new AbstractMap.SimpleEntry<>("color", "R=100,G=200,B=150"), true ) ); @@ -114,52 +115,52 @@ public void testPathSerialization() { var testCases = List.of( new ParamTestCase( null, - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( 1, - Map.of("color", "1") + new AbstractMap.SimpleEntry<>("color", "1") ), new ParamTestCase( 3.14, - Map.of("color","3.14") + new AbstractMap.SimpleEntry<>("color","3.14") ), new ParamTestCase( "blue", - Map.of("color", "blue") + new AbstractMap.SimpleEntry<>("color", "blue") ), new ParamTestCase( "hello world", - Map.of("color", "hello%20world") + new AbstractMap.SimpleEntry<>("color", "hello%20world") ), new ParamTestCase( "", - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "blue,black,brown") + new AbstractMap.SimpleEntry<>("color", "blue,black,brown") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "blue,black,brown"), + new AbstractMap.SimpleEntry<>("color", "blue,black,brown"), true ), new ParamTestCase( Map.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( mapPayload, - Map.of("color", "R,100,G,200,B,150") + new AbstractMap.SimpleEntry<>("color", "R,100,G,200,B,150") ), new ParamTestCase( mapPayload, - Map.of("color", "R=100,G=200,B=150"), + new AbstractMap.SimpleEntry<>("color", "R=100,G=200,B=150"), true ) ); @@ -193,52 +194,52 @@ public void testCookieSerialization() { var testCases = List.of( new ParamTestCase( null, - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( 1, - Map.of("color", "color=1") + new AbstractMap.SimpleEntry<>("color", "color=1") ), new ParamTestCase( 3.14, - Map.of("color","color=3.14") + new AbstractMap.SimpleEntry<>("color","color=3.14") ), new ParamTestCase( "blue", - Map.of("color", "color=blue") + new AbstractMap.SimpleEntry<>("color", "color=blue") ), new ParamTestCase( "hello world", - Map.of("color", "color=hello world") + new AbstractMap.SimpleEntry<>("color", "color=hello world") ), new ParamTestCase( "", - Map.of("color", "color=") + new AbstractMap.SimpleEntry<>("color", "color=") ), new ParamTestCase( List.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "color=blue&color=black&color=brown") + new AbstractMap.SimpleEntry<>("color", "color=blue&color=black&color=brown") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "color=blue&color=black&color=brown"), + new AbstractMap.SimpleEntry<>("color", "color=blue&color=black&color=brown"), true ), new ParamTestCase( Map.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( mapPayload, - Map.of("color", "R=100&G=200&B=150") + new AbstractMap.SimpleEntry<>("color", "R=100&G=200&B=150") ), new ParamTestCase( mapPayload, - Map.of("color", "R=100&G=200&B=150"), + new AbstractMap.SimpleEntry<>("color", "R=100&G=200&B=150"), true ) ); @@ -272,52 +273,52 @@ public void testPathMatrixSerialization() { var testCases = List.of( new ParamTestCase( null, - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( 1, - Map.of("color", ";color=1") + new AbstractMap.SimpleEntry<>("color", ";color=1") ), new ParamTestCase( 3.14, - Map.of("color",";color=3.14") + new AbstractMap.SimpleEntry<>("color",";color=3.14") ), new ParamTestCase( "blue", - Map.of("color", ";color=blue") + new AbstractMap.SimpleEntry<>("color", ";color=blue") ), new ParamTestCase( "hello world", - Map.of("color", ";color=hello%20world") + new AbstractMap.SimpleEntry<>("color", ";color=hello%20world") ), new ParamTestCase( "", - Map.of("color", ";color") + new AbstractMap.SimpleEntry<>("color", ";color") ), new ParamTestCase( List.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", ";color=blue,black,brown") + new AbstractMap.SimpleEntry<>("color", ";color=blue,black,brown") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", ";color=blue;color=black;color=brown"), + new AbstractMap.SimpleEntry<>("color", ";color=blue;color=black;color=brown"), true ), new ParamTestCase( Map.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( mapPayload, - Map.of("color", ";color=R,100,G,200,B,150") + new AbstractMap.SimpleEntry<>("color", ";color=R,100,G,200,B,150") ), new ParamTestCase( mapPayload, - Map.of("color", ";R=100;G=200;B=150"), + new AbstractMap.SimpleEntry<>("color", ";R=100;G=200;B=150"), true ) ); @@ -344,52 +345,52 @@ public void testPathLabelSerialization() { var testCases = List.of( new ParamTestCase( null, - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( 1, - Map.of("color", ".1") + new AbstractMap.SimpleEntry<>("color", ".1") ), new ParamTestCase( 3.14, - Map.of("color",".3.14") + new AbstractMap.SimpleEntry<>("color",".3.14") ), new ParamTestCase( "blue", - Map.of("color", ".blue") + new AbstractMap.SimpleEntry<>("color", ".blue") ), new ParamTestCase( "hello world", - Map.of("color", ".hello%20world") + new AbstractMap.SimpleEntry<>("color", ".hello%20world") ), new ParamTestCase( "", - Map.of("color", ".") + new AbstractMap.SimpleEntry<>("color", ".") ), new ParamTestCase( List.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", ".blue.black.brown") + new AbstractMap.SimpleEntry<>("color", ".blue.black.brown") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", ".blue.black.brown"), + new AbstractMap.SimpleEntry<>("color", ".blue.black.brown"), true ), new ParamTestCase( Map.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( mapPayload, - Map.of("color", ".R.100.G.200.B.150") + new AbstractMap.SimpleEntry<>("color", ".R.100.G.200.B.150") ), new ParamTestCase( mapPayload, - Map.of("color", ".R=100.G=200.B=150"), + new AbstractMap.SimpleEntry<>("color", ".R=100.G=200.B=150"), true ) ); diff --git a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java index caa681ebb76..fce83a2c01b 100644 --- a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java +++ b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java @@ -10,12 +10,13 @@ import java.util.LinkedHashMap; import java.util.List; +import java.util.AbstractMap; import java.util.Map; import java.util.Set; public class SchemaQueryParameterTest { - public record ParamTestCase(@Nullable Object payload, Map expectedSerialization, @Nullable Boolean explode) { - public ParamTestCase(@Nullable Object payload, Map expectedSerialization) { + public record ParamTestCase(@Nullable Object payload, AbstractMap.SimpleEntry expectedSerialization, @Nullable Boolean explode) { + public ParamTestCase(@Nullable Object payload, AbstractMap.SimpleEntry expectedSerialization) { this(payload, expectedSerialization, null); } } @@ -35,52 +36,52 @@ public void testQueryParameterNoStyleSerialization() { var testCases = List.of( new ParamTestCase( null, - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( 1, - Map.of("color", "color=1") + new AbstractMap.SimpleEntry<>("color", "color=1") ), new ParamTestCase( 3.14, - Map.of("color","color=3.14") + new AbstractMap.SimpleEntry<>("color","color=3.14") ), new ParamTestCase( "blue", - Map.of("color", "color=blue") + new AbstractMap.SimpleEntry<>("color", "color=blue") ), new ParamTestCase( "hello world", - Map.of("color", "color=hello%20world") + new AbstractMap.SimpleEntry<>("color", "color=hello%20world") ), new ParamTestCase( "", - Map.of("color", "color=") + new AbstractMap.SimpleEntry<>("color", "color=") ), new ParamTestCase( List.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "color=blue&color=black&color=brown") + new AbstractMap.SimpleEntry<>("color", "color=blue&color=black&color=brown") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "color=blue&color=black&color=brown"), + new AbstractMap.SimpleEntry<>("color", "color=blue&color=black&color=brown"), true ), new ParamTestCase( Map.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( mapPayload, - Map.of("color", "R=100&G=200&B=150") + new AbstractMap.SimpleEntry<>("color", "R=100&G=200&B=150") ), new ParamTestCase( mapPayload, - Map.of("color", "R=100&G=200&B=150"), + new AbstractMap.SimpleEntry<>("color", "R=100&G=200&B=150"), true ) ); @@ -114,28 +115,28 @@ public void testQueryParameterSpaceDelimitedSerialization() { var testCases = List.of( new ParamTestCase( List.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "blue%20black%20brown") + new AbstractMap.SimpleEntry<>("color", "blue%20black%20brown") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "blue%20black%20brown"), + new AbstractMap.SimpleEntry<>("color", "blue%20black%20brown"), true ), new ParamTestCase( Map.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( mapPayload, - Map.of("color", "R%20100%20G%20200%20B%20150") + new AbstractMap.SimpleEntry<>("color", "R%20100%20G%20200%20B%20150") ), new ParamTestCase( mapPayload, - Map.of("color", "R=100%20G=200%20B=150"), + new AbstractMap.SimpleEntry<>("color", "R=100%20G=200%20B=150"), true ) ); @@ -162,28 +163,28 @@ public void testQueryParameterPipeDelimitedSerialization() { var testCases = List.of( new ParamTestCase( List.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "blue|black|brown") + new AbstractMap.SimpleEntry<>("color", "blue|black|brown") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "blue|black|brown"), + new AbstractMap.SimpleEntry<>("color", "blue|black|brown"), true ), new ParamTestCase( Map.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( mapPayload, - Map.of("color", "R|100|G|200|B|150") + new AbstractMap.SimpleEntry<>("color", "R|100|G|200|B|150") ), new ParamTestCase( mapPayload, - Map.of("color", "R=100|G=200|B=150"), + new AbstractMap.SimpleEntry<>("color", "R=100|G=200|B=150"), true ) ); diff --git a/src/main/resources/java/src/main/java/packagename/parameter/ContentParameter.hbs b/src/main/resources/java/src/main/java/packagename/parameter/ContentParameter.hbs index db856697675..55f64af5978 100644 --- a/src/main/resources/java/src/main/java/packagename/parameter/ContentParameter.hbs +++ b/src/main/resources/java/src/main/java/packagename/parameter/ContentParameter.hbs @@ -7,6 +7,7 @@ import {{{packageName}}}.contenttype.ContentTypeSerializer; import {{{packageName}}}.mediatype.MediaType; import java.util.Map; +import java.util.AbstractMap; public class ContentParameter extends ParameterBase implements Parameter { public final Map> content; @@ -16,13 +17,13 @@ public class ContentParameter extends ParameterBase implements Parameter { this.content = content; } - public Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration) { + public AbstractMap.SimpleEntry serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration) { for (Map.Entry> entry: content.entrySet()) { var castInData = validate ? entry.getValue().schema().validate(inData, configuration) : inData ; String contentType = entry.getKey(); if (ContentTypeDetector.contentTypeIsJson(contentType)) { var value = ContentTypeSerializer.toJson(castInData); - return Map.of(name, value); + return new AbstractMap.SimpleEntry<>(name, value); } else { throw new RuntimeException("Serialization of "+contentType+" has not yet been implemented"); } diff --git a/src/main/resources/java/src/main/java/packagename/parameter/Parameter.hbs b/src/main/resources/java/src/main/java/packagename/parameter/Parameter.hbs index 97d4e21c817..3cba1427367 100644 --- a/src/main/resources/java/src/main/java/packagename/parameter/Parameter.hbs +++ b/src/main/resources/java/src/main/java/packagename/parameter/Parameter.hbs @@ -3,8 +3,8 @@ package {{{packageName}}}.parameter; import org.checkerframework.checker.nullness.qual.Nullable; import {{{packageName}}}.configurations.SchemaConfiguration; -import java.util.Map; +import java.util.AbstractMap; public interface Parameter { - Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration); + AbstractMap.SimpleEntry serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration); } \ No newline at end of file diff --git a/src/main/resources/java/src/main/java/packagename/parameter/SchemaParameter.hbs b/src/main/resources/java/src/main/java/packagename/parameter/SchemaParameter.hbs index 19f7abaedcb..b532a40024f 100644 --- a/src/main/resources/java/src/main/java/packagename/parameter/SchemaParameter.hbs +++ b/src/main/resources/java/src/main/java/packagename/parameter/SchemaParameter.hbs @@ -2,14 +2,10 @@ package {{{packageName}}}.parameter; import org.checkerframework.checker.nullness.qual.Nullable; import {{{packageName}}}.configurations.SchemaConfiguration; -import {{{packageName}}}.header.PrefixSeparatorIterator; import {{{packageName}}}.header.StyleSerializer; import {{{packageName}}}.schemas.validation.JsonSchema; -import org.openapijsonschematools.client.header.HeaderBase; -import org.openapijsonschematools.client.header.PrefixSeparatorIterator; -import org.openapijsonschematools.client.header.StyleSerializer; -import org.openapijsonschematools.client.schemas.validation.JsonSchema; -import java.util.Map; + +import java.util.AbstractMap; public class SchemaParameter extends ParameterBase implements Parameter { public final JsonSchema schema; @@ -30,7 +26,7 @@ public class SchemaParameter extends ParameterBase implements Parameter { return ParameterStyle.SIMPLE; } - public Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration) { + public AbstractMap.SimpleEntry serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration) { var castInData = validate ? schema.validate(inData, configuration) : inData; ParameterStyle usedStyle = getStyle(); boolean percentEncode = inType == ParameterInType.QUERY || inType == ParameterInType.PATH; @@ -59,6 +55,6 @@ public class SchemaParameter extends ParameterBase implements Parameter { // query throw new RuntimeException("Style deep object serialization has not yet been implemented."); } - return Map.of(name, value); + return new AbstractMap.SimpleEntry<>(name, value); } } \ No newline at end of file diff --git a/src/main/resources/java/src/test/java/packagename/parameter/SchemaNonQueryParameterTest.hbs b/src/main/resources/java/src/test/java/packagename/parameter/SchemaNonQueryParameterTest.hbs index 6cbda918f3d..f1af98bf4a3 100644 --- a/src/main/resources/java/src/test/java/packagename/parameter/SchemaNonQueryParameterTest.hbs +++ b/src/main/resources/java/src/test/java/packagename/parameter/SchemaNonQueryParameterTest.hbs @@ -11,11 +11,12 @@ import {{{packageName}}}.schemas.AnyTypeJsonSchema; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.AbstractMap; import java.util.Set; public class SchemaNonQueryParameterTest { - public record ParamTestCase(@Nullable Object payload, Map expectedSerialization, @Nullable Boolean explode) { - public ParamTestCase(@Nullable Object payload, Map expectedSerialization) { + public record ParamTestCase(@Nullable Object payload, AbstractMap.SimpleEntry expectedSerialization, @Nullable Boolean explode) { + public ParamTestCase(@Nullable Object payload, AbstractMap.SimpleEntry expectedSerialization) { this(payload, expectedSerialization, null); } } @@ -35,52 +36,52 @@ public class SchemaNonQueryParameterTest { var testCases = List.of( new ParamTestCase( null, - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( 1, - Map.of("color", "1") + new AbstractMap.SimpleEntry<>("color", "1") ), new ParamTestCase( 3.14, - Map.of("color","3.14") + new AbstractMap.SimpleEntry<>("color","3.14") ), new ParamTestCase( "blue", - Map.of("color", "blue") + new AbstractMap.SimpleEntry<>("color", "blue") ), new ParamTestCase( "hello world", - Map.of("color", "hello world") + new AbstractMap.SimpleEntry<>("color", "hello world") ), new ParamTestCase( "", - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "blue,black,brown") + new AbstractMap.SimpleEntry<>("color", "blue,black,brown") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "blue,black,brown"), + new AbstractMap.SimpleEntry<>("color", "blue,black,brown"), true ), new ParamTestCase( Map.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( mapPayload, - Map.of("color", "R,100,G,200,B,150") + new AbstractMap.SimpleEntry<>("color", "R,100,G,200,B,150") ), new ParamTestCase( mapPayload, - Map.of("color", "R=100,G=200,B=150"), + new AbstractMap.SimpleEntry<>("color", "R=100,G=200,B=150"), true ) ); @@ -114,52 +115,52 @@ public class SchemaNonQueryParameterTest { var testCases = List.of( new ParamTestCase( null, - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( 1, - Map.of("color", "1") + new AbstractMap.SimpleEntry<>("color", "1") ), new ParamTestCase( 3.14, - Map.of("color","3.14") + new AbstractMap.SimpleEntry<>("color","3.14") ), new ParamTestCase( "blue", - Map.of("color", "blue") + new AbstractMap.SimpleEntry<>("color", "blue") ), new ParamTestCase( "hello world", - Map.of("color", "hello%20world") + new AbstractMap.SimpleEntry<>("color", "hello%20world") ), new ParamTestCase( "", - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "blue,black,brown") + new AbstractMap.SimpleEntry<>("color", "blue,black,brown") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "blue,black,brown"), + new AbstractMap.SimpleEntry<>("color", "blue,black,brown"), true ), new ParamTestCase( Map.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( mapPayload, - Map.of("color", "R,100,G,200,B,150") + new AbstractMap.SimpleEntry<>("color", "R,100,G,200,B,150") ), new ParamTestCase( mapPayload, - Map.of("color", "R=100,G=200,B=150"), + new AbstractMap.SimpleEntry<>("color", "R=100,G=200,B=150"), true ) ); @@ -193,52 +194,52 @@ public class SchemaNonQueryParameterTest { var testCases = List.of( new ParamTestCase( null, - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( 1, - Map.of("color", "color=1") + new AbstractMap.SimpleEntry<>("color", "color=1") ), new ParamTestCase( 3.14, - Map.of("color","color=3.14") + new AbstractMap.SimpleEntry<>("color","color=3.14") ), new ParamTestCase( "blue", - Map.of("color", "color=blue") + new AbstractMap.SimpleEntry<>("color", "color=blue") ), new ParamTestCase( "hello world", - Map.of("color", "color=hello world") + new AbstractMap.SimpleEntry<>("color", "color=hello world") ), new ParamTestCase( "", - Map.of("color", "color=") + new AbstractMap.SimpleEntry<>("color", "color=") ), new ParamTestCase( List.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "color=blue&color=black&color=brown") + new AbstractMap.SimpleEntry<>("color", "color=blue&color=black&color=brown") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "color=blue&color=black&color=brown"), + new AbstractMap.SimpleEntry<>("color", "color=blue&color=black&color=brown"), true ), new ParamTestCase( Map.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( mapPayload, - Map.of("color", "R=100&G=200&B=150") + new AbstractMap.SimpleEntry<>("color", "R=100&G=200&B=150") ), new ParamTestCase( mapPayload, - Map.of("color", "R=100&G=200&B=150"), + new AbstractMap.SimpleEntry<>("color", "R=100&G=200&B=150"), true ) ); @@ -272,52 +273,52 @@ public class SchemaNonQueryParameterTest { var testCases = List.of( new ParamTestCase( null, - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( 1, - Map.of("color", ";color=1") + new AbstractMap.SimpleEntry<>("color", ";color=1") ), new ParamTestCase( 3.14, - Map.of("color",";color=3.14") + new AbstractMap.SimpleEntry<>("color",";color=3.14") ), new ParamTestCase( "blue", - Map.of("color", ";color=blue") + new AbstractMap.SimpleEntry<>("color", ";color=blue") ), new ParamTestCase( "hello world", - Map.of("color", ";color=hello%20world") + new AbstractMap.SimpleEntry<>("color", ";color=hello%20world") ), new ParamTestCase( "", - Map.of("color", ";color") + new AbstractMap.SimpleEntry<>("color", ";color") ), new ParamTestCase( List.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", ";color=blue,black,brown") + new AbstractMap.SimpleEntry<>("color", ";color=blue,black,brown") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", ";color=blue;color=black;color=brown"), + new AbstractMap.SimpleEntry<>("color", ";color=blue;color=black;color=brown"), true ), new ParamTestCase( Map.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( mapPayload, - Map.of("color", ";color=R,100,G,200,B,150") + new AbstractMap.SimpleEntry<>("color", ";color=R,100,G,200,B,150") ), new ParamTestCase( mapPayload, - Map.of("color", ";R=100;G=200;B=150"), + new AbstractMap.SimpleEntry<>("color", ";R=100;G=200;B=150"), true ) ); @@ -344,52 +345,52 @@ public class SchemaNonQueryParameterTest { var testCases = List.of( new ParamTestCase( null, - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( 1, - Map.of("color", ".1") + new AbstractMap.SimpleEntry<>("color", ".1") ), new ParamTestCase( 3.14, - Map.of("color",".3.14") + new AbstractMap.SimpleEntry<>("color",".3.14") ), new ParamTestCase( "blue", - Map.of("color", ".blue") + new AbstractMap.SimpleEntry<>("color", ".blue") ), new ParamTestCase( "hello world", - Map.of("color", ".hello%20world") + new AbstractMap.SimpleEntry<>("color", ".hello%20world") ), new ParamTestCase( "", - Map.of("color", ".") + new AbstractMap.SimpleEntry<>("color", ".") ), new ParamTestCase( List.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", ".blue.black.brown") + new AbstractMap.SimpleEntry<>("color", ".blue.black.brown") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", ".blue.black.brown"), + new AbstractMap.SimpleEntry<>("color", ".blue.black.brown"), true ), new ParamTestCase( Map.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( mapPayload, - Map.of("color", ".R.100.G.200.B.150") + new AbstractMap.SimpleEntry<>("color", ".R.100.G.200.B.150") ), new ParamTestCase( mapPayload, - Map.of("color", ".R=100.G=200.B=150"), + new AbstractMap.SimpleEntry<>("color", ".R=100.G=200.B=150"), true ) ); diff --git a/src/main/resources/java/src/test/java/packagename/parameter/SchemaQueryParameterTest.hbs b/src/main/resources/java/src/test/java/packagename/parameter/SchemaQueryParameterTest.hbs index 646f4502b81..b4402195b3d 100644 --- a/src/main/resources/java/src/test/java/packagename/parameter/SchemaQueryParameterTest.hbs +++ b/src/main/resources/java/src/test/java/packagename/parameter/SchemaQueryParameterTest.hbs @@ -10,12 +10,13 @@ import {{{packageName}}}.schemas.AnyTypeJsonSchema; import java.util.LinkedHashMap; import java.util.List; +import java.util.AbstractMap; import java.util.Map; import java.util.Set; public class SchemaQueryParameterTest { - public record ParamTestCase(@Nullable Object payload, Map expectedSerialization, @Nullable Boolean explode) { - public ParamTestCase(@Nullable Object payload, Map expectedSerialization) { + public record ParamTestCase(@Nullable Object payload, AbstractMap.SimpleEntry expectedSerialization, @Nullable Boolean explode) { + public ParamTestCase(@Nullable Object payload, AbstractMap.SimpleEntry expectedSerialization) { this(payload, expectedSerialization, null); } } @@ -35,52 +36,52 @@ public class SchemaQueryParameterTest { var testCases = List.of( new ParamTestCase( null, - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( 1, - Map.of("color", "color=1") + new AbstractMap.SimpleEntry<>("color", "color=1") ), new ParamTestCase( 3.14, - Map.of("color","color=3.14") + new AbstractMap.SimpleEntry<>("color","color=3.14") ), new ParamTestCase( "blue", - Map.of("color", "color=blue") + new AbstractMap.SimpleEntry<>("color", "color=blue") ), new ParamTestCase( "hello world", - Map.of("color", "color=hello%20world") + new AbstractMap.SimpleEntry<>("color", "color=hello%20world") ), new ParamTestCase( "", - Map.of("color", "color=") + new AbstractMap.SimpleEntry<>("color", "color=") ), new ParamTestCase( List.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "color=blue&color=black&color=brown") + new AbstractMap.SimpleEntry<>("color", "color=blue&color=black&color=brown") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "color=blue&color=black&color=brown"), + new AbstractMap.SimpleEntry<>("color", "color=blue&color=black&color=brown"), true ), new ParamTestCase( Map.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( mapPayload, - Map.of("color", "R=100&G=200&B=150") + new AbstractMap.SimpleEntry<>("color", "R=100&G=200&B=150") ), new ParamTestCase( mapPayload, - Map.of("color", "R=100&G=200&B=150"), + new AbstractMap.SimpleEntry<>("color", "R=100&G=200&B=150"), true ) ); @@ -114,28 +115,28 @@ public class SchemaQueryParameterTest { var testCases = List.of( new ParamTestCase( List.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "blue%20black%20brown") + new AbstractMap.SimpleEntry<>("color", "blue%20black%20brown") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "blue%20black%20brown"), + new AbstractMap.SimpleEntry<>("color", "blue%20black%20brown"), true ), new ParamTestCase( Map.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( mapPayload, - Map.of("color", "R%20100%20G%20200%20B%20150") + new AbstractMap.SimpleEntry<>("color", "R%20100%20G%20200%20B%20150") ), new ParamTestCase( mapPayload, - Map.of("color", "R=100%20G=200%20B=150"), + new AbstractMap.SimpleEntry<>("color", "R=100%20G=200%20B=150"), true ) ); @@ -162,28 +163,28 @@ public class SchemaQueryParameterTest { var testCases = List.of( new ParamTestCase( List.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "blue|black|brown") + new AbstractMap.SimpleEntry<>("color", "blue|black|brown") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "blue|black|brown"), + new AbstractMap.SimpleEntry<>("color", "blue|black|brown"), true ), new ParamTestCase( Map.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( mapPayload, - Map.of("color", "R|100|G|200|B|150") + new AbstractMap.SimpleEntry<>("color", "R|100|G|200|B|150") ), new ParamTestCase( mapPayload, - Map.of("color", "R=100|G=200|B=150"), + new AbstractMap.SimpleEntry<>("color", "R=100|G=200|B=150"), true ) ); From 62078cc0a10e255953c34c98f0c3f7f46a810824 Mon Sep 17 00:00:00 2001 From: Justin Black Date: Tue, 5 Mar 2024 17:15:14 -0800 Subject: [PATCH 11/29] Adds HeadersSerializer --- .../client/parameter/HeadersSerializer.java | 30 ++++++++++++++++++ .../client/parameter/Parameter.java | 2 +- .../generators/JavaClientGenerator.java | 4 +++ .../parameter/ContentParameter.hbs | 5 ++- .../parameter/HeadersSerializer.hbs | 30 ++++++++++++++++++ .../java/packagename/parameter/Parameter.hbs | 2 +- .../packagename/parameter/SchemaParameter.hbs | 15 +++++---- .../paths/path/verb/Parameters.hbs | 31 +++++++++---------- .../parameter/SchemaNonQueryParameterTest.hbs | 21 +++++-------- .../parameter/SchemaQueryParameterTest.hbs | 11 +++---- 10 files changed, 102 insertions(+), 49 deletions(-) create mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java create mode 100644 src/main/resources/java/src/main/java/packagename/parameter/HeadersSerializer.hbs diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java new file mode 100644 index 00000000000..082c2d54439 --- /dev/null +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java @@ -0,0 +1,30 @@ +package org.openapijsonschematools.client.parameter; + +import org.checkerframework.checker.nullness.qual.Nullable; + +import java.util.AbstractMap; +import java.util.LinkedHashMap; +import java.util.Map; + +public abstract class HeadersSerializer { + private final Map parameters; + + protected HeadersSerializer(Map parameters) { + this.parameters = parameters; + } + + public Map serialize(Map inData) { + Map results = new LinkedHashMap<>(); + for (Map.Entry entry: inData.entrySet()) { + String mapKey = entry.getKey(); + @Nullable Object value = entry.getValue(); + @Nullable Parameter parameter = parameters.get(mapKey); + if (parameter == null) { + throw new RuntimeException("Invalid state, a parameter must exist for every key"); + } + AbstractMap.SimpleEntry serialized = parameter.serialize(inData); + results.put(serialized.getKey(), serialized.getValue()); + } + return results; + } +} diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/Parameter.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/Parameter.java index 66b57534beb..e5c9c9dfa87 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/Parameter.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/Parameter.java @@ -6,5 +6,5 @@ import java.util.AbstractMap; public interface Parameter { - AbstractMap.SimpleEntry serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration); + AbstractMap.SimpleEntry serialize(@Nullable Object inData); } \ No newline at end of file diff --git a/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java b/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java index 1c9f3f79dff..1b2161acb39 100644 --- a/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java +++ b/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java @@ -833,6 +833,10 @@ public void processOpts() { "src/main/java/packagename/parameter/ContentParameter.hbs", packagePath() + File.separatorChar + "parameter", "ContentParameter.java")); + supportingFiles.add(new SupportingFile( + "src/main/java/packagename/parameter/HeadersSerializer.hbs", + packagePath() + File.separatorChar + "parameter", + "HeadersSerializer.java")); supportingFiles.add(new SupportingFile( "src/main/java/packagename/parameter/Parameter.hbs", packagePath() + File.separatorChar + "parameter", diff --git a/src/main/resources/java/src/main/java/packagename/parameter/ContentParameter.hbs b/src/main/resources/java/src/main/java/packagename/parameter/ContentParameter.hbs index 55f64af5978..f117a9801ff 100644 --- a/src/main/resources/java/src/main/java/packagename/parameter/ContentParameter.hbs +++ b/src/main/resources/java/src/main/java/packagename/parameter/ContentParameter.hbs @@ -17,12 +17,11 @@ public class ContentParameter extends ParameterBase implements Parameter { this.content = content; } - public AbstractMap.SimpleEntry serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration) { + public AbstractMap.SimpleEntry serialize(@Nullable Object inData) { for (Map.Entry> entry: content.entrySet()) { - var castInData = validate ? entry.getValue().schema().validate(inData, configuration) : inData ; String contentType = entry.getKey(); if (ContentTypeDetector.contentTypeIsJson(contentType)) { - var value = ContentTypeSerializer.toJson(castInData); + var value = ContentTypeSerializer.toJson(inData); return new AbstractMap.SimpleEntry<>(name, value); } else { throw new RuntimeException("Serialization of "+contentType+" has not yet been implemented"); diff --git a/src/main/resources/java/src/main/java/packagename/parameter/HeadersSerializer.hbs b/src/main/resources/java/src/main/java/packagename/parameter/HeadersSerializer.hbs new file mode 100644 index 00000000000..4f2324b32da --- /dev/null +++ b/src/main/resources/java/src/main/java/packagename/parameter/HeadersSerializer.hbs @@ -0,0 +1,30 @@ +package {{{packageName}}}.parameter; + +import org.checkerframework.checker.nullness.qual.Nullable; + +import java.util.AbstractMap; +import java.util.LinkedHashMap; +import java.util.Map; + +public abstract class HeadersSerializer { + private final Map parameters; + + protected HeadersSerializer(Map parameters) { + this.parameters = parameters; + } + + public Map serialize(Map inData) { + Map results = new LinkedHashMap<>(); + for (Map.Entry entry: inData.entrySet()) { + String mapKey = entry.getKey(); + @Nullable Object value = entry.getValue(); + @Nullable Parameter parameter = parameters.get(mapKey); + if (parameter == null) { + throw new RuntimeException("Invalid state, a parameter must exist for every key"); + } + AbstractMap.SimpleEntry serialized = parameter.serialize(inData); + results.put(serialized.getKey(), serialized.getValue()); + } + return results; + } +} diff --git a/src/main/resources/java/src/main/java/packagename/parameter/Parameter.hbs b/src/main/resources/java/src/main/java/packagename/parameter/Parameter.hbs index 3cba1427367..073cf111043 100644 --- a/src/main/resources/java/src/main/java/packagename/parameter/Parameter.hbs +++ b/src/main/resources/java/src/main/java/packagename/parameter/Parameter.hbs @@ -6,5 +6,5 @@ import {{{packageName}}}.configurations.SchemaConfiguration; import java.util.AbstractMap; public interface Parameter { - AbstractMap.SimpleEntry serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration); + AbstractMap.SimpleEntry serialize(@Nullable Object inData); } \ No newline at end of file diff --git a/src/main/resources/java/src/main/java/packagename/parameter/SchemaParameter.hbs b/src/main/resources/java/src/main/java/packagename/parameter/SchemaParameter.hbs index b532a40024f..34b3213da0b 100644 --- a/src/main/resources/java/src/main/java/packagename/parameter/SchemaParameter.hbs +++ b/src/main/resources/java/src/main/java/packagename/parameter/SchemaParameter.hbs @@ -26,30 +26,29 @@ public class SchemaParameter extends ParameterBase implements Parameter { return ParameterStyle.SIMPLE; } - public AbstractMap.SimpleEntry serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration) { - var castInData = validate ? schema.validate(inData, configuration) : inData; + public AbstractMap.SimpleEntry serialize(@Nullable Object inData) { ParameterStyle usedStyle = getStyle(); boolean percentEncode = inType == ParameterInType.QUERY || inType == ParameterInType.PATH; String value; boolean usedExplode = explode == null ? usedStyle == ParameterStyle.FORM : explode; if (usedStyle == ParameterStyle.SIMPLE) { // header OR path - value = StyleSerializer.serializeSimple(castInData, name, usedExplode, percentEncode); + value = StyleSerializer.serializeSimple(inData, name, usedExplode, percentEncode); } else if (usedStyle == ParameterStyle.FORM) { // query OR cookie - value = StyleSerializer.serializeForm(castInData, name, usedExplode, percentEncode); + value = StyleSerializer.serializeForm(inData, name, usedExplode, percentEncode); } else if (usedStyle == ParameterStyle.LABEL) { // path - value = StyleSerializer.serializeLabel(castInData, name, usedExplode); + value = StyleSerializer.serializeLabel(inData, name, usedExplode); } else if (usedStyle == ParameterStyle.MATRIX) { // path - value = StyleSerializer.serializeMatrix(castInData, name, usedExplode); + value = StyleSerializer.serializeMatrix(inData, name, usedExplode); } else if (usedStyle == ParameterStyle.SPACE_DELIMITED) { // query - value = StyleSerializer.serializeSpaceDelimited(castInData, name, usedExplode); + value = StyleSerializer.serializeSpaceDelimited(inData, name, usedExplode); } else if (usedStyle == ParameterStyle.PIPE_DELIMITED) { // query - value = StyleSerializer.serializePipeDelimited(castInData, name, usedExplode); + value = StyleSerializer.serializePipeDelimited(inData, name, usedExplode); } else { // usedStyle == ParameterStyle.DEEP_OBJECT // query diff --git a/src/main/resources/java/src/main/java/packagename/paths/path/verb/Parameters.hbs b/src/main/resources/java/src/main/java/packagename/paths/path/verb/Parameters.hbs index 3a9b67295c0..3de027101a6 100644 --- a/src/main/resources/java/src/main/java/packagename/paths/path/verb/Parameters.hbs +++ b/src/main/resources/java/src/main/java/packagename/paths/path/verb/Parameters.hbs @@ -11,6 +11,9 @@ import {{packageName}}.{{subpackage}}.{{jsonPathPiece.pascalCase}}; import {{packageName}}.{{subpackage}}.{{jsonPathPiece.pascalCase}}; {{/each}} {{/with}} + {{#if headerParametersSchema}} +import {{packageName}}.parameter.HeadersSerializer; + {{/if}} import {{packageName}}.parameter.Parameter; import java.util.Map; @@ -19,10 +22,10 @@ import java.util.AbstractMap; public class {{jsonPathPiece.pascalCase}} { {{#if pathParametersSchema}} - public static class PathParametersDeserializer { + public static class PathParametersSerializer { Map parameters; - public PathParametersDeserializer() { + public PathParametersSerializer() { parameters = Map.ofEntries( {{#each pathParameters}} new AbstractMap.SimpleEntry<>("{{{name}}}", new {{jsonPathPiece.pascalCase}}.{{jsonPathPiece.pascalCase}}1()){{#unless @last}},{{/unless}} @@ -37,10 +40,10 @@ public class {{jsonPathPiece.pascalCase}} { {{/if}} {{#if queryParametersSchema}} - public static class QueryParametersDeserializer { + public static class QueryParametersSerializer { Map parameters; - public QueryParametersDeserializer() { + public QueryParametersSerializer() { parameters = Map.ofEntries( {{#each queryParameters}} new AbstractMap.SimpleEntry<>("{{{name}}}", new {{jsonPathPiece.pascalCase}}.{{jsonPathPiece.pascalCase}}1()){{#unless @last}},{{/unless}} @@ -55,28 +58,24 @@ public class {{jsonPathPiece.pascalCase}} { {{/if}} {{#if headerParametersSchema}} - public static class HeaderParametersDeserializer { - Map parameters; - - public HeaderParametersDeserializer() { - parameters = Map.ofEntries( + public static class HeaderParametersSerializer extends HeadersSerializer { + public HeaderParametersSerializer() { + super( + Map.ofEntries( {{#each headerParameters}} - new AbstractMap.SimpleEntry<>("{{{name}}}", new {{jsonPathPiece.pascalCase}}.{{jsonPathPiece.pascalCase}}1()){{#unless @last}},{{/unless}} + new AbstractMap.SimpleEntry<>("{{{name}}}", new {{jsonPathPiece.pascalCase}}.{{jsonPathPiece.pascalCase}}1()){{#unless @last}},{{/unless}} {{/each}} + ) ); } - - {{#with headerParametersSchema}} - // {{containerJsonPathPiece.pascalCase}} - {{/with}} } {{/if}} {{#if cookieParametersSchema}} - public static class CookieParametersDeserializer { + public static class CookieParametersSerializer { Map parameters; - public CookieParametersDeserializer() { + public CookieParametersSerializer() { parameters = Map.ofEntries( {{#each cookieParameters}} new AbstractMap.SimpleEntry<>("{{{name}}}", new {{jsonPathPiece.pascalCase}}.{{jsonPathPiece.pascalCase}}1()){{#unless @last}},{{/unless}} diff --git a/src/main/resources/java/src/test/java/packagename/parameter/SchemaNonQueryParameterTest.hbs b/src/main/resources/java/src/test/java/packagename/parameter/SchemaNonQueryParameterTest.hbs index f1af98bf4a3..8194f0126ea 100644 --- a/src/main/resources/java/src/test/java/packagename/parameter/SchemaNonQueryParameterTest.hbs +++ b/src/main/resources/java/src/test/java/packagename/parameter/SchemaNonQueryParameterTest.hbs @@ -85,17 +85,16 @@ public class SchemaNonQueryParameterTest { true ) ); - SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); for (ParamTestCase testCase: testCases) { var header = new HeaderParameter(testCase.explode); - var serialization = header.serialize(testCase.payload, false, configuration); + var serialization = header.serialize(testCase.payload); Assert.assertEquals(testCase.expectedSerialization, serialization); } var boolHeader = new HeaderParameter(false); for (boolean value: Set.of(true, false)) { Assert.assertThrows( InvalidTypeException.class, - () -> boolHeader.serialize(value, false, configuration) + () -> boolHeader.serialize(value) ); } } @@ -164,17 +163,16 @@ public class SchemaNonQueryParameterTest { true ) ); - SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); for (ParamTestCase testCase: testCases) { var pathParameter = new PathParameter(testCase.explode); - var serialization = pathParameter.serialize(testCase.payload, false, configuration); + var serialization = pathParameter.serialize(testCase.payload); Assert.assertEquals(testCase.expectedSerialization, serialization); } var pathParameter = new PathParameter(false); for (boolean value: Set.of(true, false)) { Assert.assertThrows( InvalidTypeException.class, - () -> pathParameter.serialize(value, false, configuration) + () -> pathParameter.serialize(value) ); } } @@ -243,17 +241,16 @@ public class SchemaNonQueryParameterTest { true ) ); - SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); for (ParamTestCase testCase: testCases) { var cookieParameter = new CookieParameter(testCase.explode); - var serialization = cookieParameter.serialize(testCase.payload, false, configuration); + var serialization = cookieParameter.serialize(testCase.payload); Assert.assertEquals(testCase.expectedSerialization, serialization); } var cookieParameter = new CookieParameter(false); for (boolean value: Set.of(true, false)) { Assert.assertThrows( InvalidTypeException.class, - () -> cookieParameter.serialize(value, false, configuration) + () -> cookieParameter.serialize(value) ); } } @@ -322,10 +319,9 @@ public class SchemaNonQueryParameterTest { true ) ); - SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); for (ParamTestCase testCase: testCases) { var pathParameter = new PathMatrixParameter(testCase.explode); - var serialization = pathParameter.serialize(testCase.payload, false, configuration); + var serialization = pathParameter.serialize(testCase.payload); Assert.assertEquals(testCase.expectedSerialization, serialization); } } @@ -394,10 +390,9 @@ public class SchemaNonQueryParameterTest { true ) ); - SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); for (ParamTestCase testCase: testCases) { var pathParameter = new PathLabelParameter(testCase.explode); - var serialization = pathParameter.serialize(testCase.payload, false, configuration); + var serialization = pathParameter.serialize(testCase.payload); Assert.assertEquals(testCase.expectedSerialization, serialization); } } diff --git a/src/main/resources/java/src/test/java/packagename/parameter/SchemaQueryParameterTest.hbs b/src/main/resources/java/src/test/java/packagename/parameter/SchemaQueryParameterTest.hbs index b4402195b3d..16959a9d11b 100644 --- a/src/main/resources/java/src/test/java/packagename/parameter/SchemaQueryParameterTest.hbs +++ b/src/main/resources/java/src/test/java/packagename/parameter/SchemaQueryParameterTest.hbs @@ -85,17 +85,16 @@ public class SchemaQueryParameterTest { true ) ); - SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); for (ParamTestCase testCase: testCases) { var parameter = new QueryParameterNoStyle(testCase.explode); - var serialization = parameter.serialize(testCase.payload, false, configuration); + var serialization = parameter.serialize(testCase.payload); Assert.assertEquals(testCase.expectedSerialization, serialization); } var parameter = new QueryParameterNoStyle(false); for (boolean value: Set.of(true, false)) { Assert.assertThrows( InvalidTypeException.class, - () -> parameter.serialize(value, false, configuration) + () -> parameter.serialize(value) ); } } @@ -140,10 +139,9 @@ public class SchemaQueryParameterTest { true ) ); - SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); for (ParamTestCase testCase: testCases) { var parameter = new QueryParameterSpaceDelimited(testCase.explode); - var serialization = parameter.serialize(testCase.payload, false, configuration); + var serialization = parameter.serialize(testCase.payload); Assert.assertEquals(testCase.expectedSerialization, serialization); } } @@ -188,10 +186,9 @@ public class SchemaQueryParameterTest { true ) ); - SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); for (ParamTestCase testCase: testCases) { var parameter = new QueryParameterPipeDelimited(testCase.explode); - var serialization = parameter.serialize(testCase.payload, false, configuration); + var serialization = parameter.serialize(testCase.payload); Assert.assertEquals(testCase.expectedSerialization, serialization); } } From 0b143d28816aeb6be89b241927e89ccee8c15cf5 Mon Sep 17 00:00:00 2001 From: Justin Black Date: Tue, 5 Mar 2024 17:21:29 -0800 Subject: [PATCH 12/29] Adds cookie serializer --- .../client/parameter/CookieSerializer.java | 34 +++++++++++++++++++ .../parameter/CookieSerializer.hbs | 33 ++++++++++++++++++ .../paths/path/verb/Parameters.hbs | 18 +++++----- 3 files changed, 76 insertions(+), 9 deletions(-) create mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/CookieSerializer.java create mode 100644 src/main/resources/java/src/main/java/packagename/parameter/CookieSerializer.hbs diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/CookieSerializer.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/CookieSerializer.java new file mode 100644 index 00000000000..51eab00e6ae --- /dev/null +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/CookieSerializer.java @@ -0,0 +1,34 @@ +package org.openapijsonschematools.client.parameter; + +import org.checkerframework.checker.nullness.qual.Nullable; + +import java.util.AbstractMap; +import java.util.LinkedHashMap; +import java.util.Map; + +public abstract class CookieSerializer { + private final Map parameters; + + protected CookieSerializer(Map parameters) { + this.parameters = parameters; + } + + public String serialize(Map inData) { + String result = ""; + for (Map.Entry entry: inData.entrySet()) { + String mapKey = entry.getKey(); + @Nullable Object value = entry.getValue(); + @Nullable Parameter parameter = parameters.get(mapKey); + if (parameter == null) { + throw new RuntimeException("Invalid state, a parameter must exist for every key"); + } + AbstractMap.SimpleEntry serialized = parameter.serialize(inData); + if (result.isEmpty()) { + result = serialized.getValue(); + } else { + result = result + "; " + serialized.getValue(); + } + } + return result; + } +} diff --git a/src/main/resources/java/src/main/java/packagename/parameter/CookieSerializer.hbs b/src/main/resources/java/src/main/java/packagename/parameter/CookieSerializer.hbs new file mode 100644 index 00000000000..50440ab47e0 --- /dev/null +++ b/src/main/resources/java/src/main/java/packagename/parameter/CookieSerializer.hbs @@ -0,0 +1,33 @@ +package {{{packageName}}}.parameter; + +import org.checkerframework.checker.nullness.qual.Nullable; + +import java.util.AbstractMap; +import java.util.Map; + +public abstract class CookieSerializer { + private final Map parameters; + + protected CookieSerializer(Map parameters) { + this.parameters = parameters; + } + + public String serialize(Map inData) { + String result = ""; + for (Map.Entry entry: inData.entrySet()) { + String mapKey = entry.getKey(); + @Nullable Object value = entry.getValue(); + @Nullable Parameter parameter = parameters.get(mapKey); + if (parameter == null) { + throw new RuntimeException("Invalid state, a parameter must exist for every key"); + } + AbstractMap.SimpleEntry serialized = parameter.serialize(inData); + if (result.isEmpty()) { + result = serialized.getValue(); + } else { + result = result + "; " + serialized.getValue(); + } + } + return result; + } +} diff --git a/src/main/resources/java/src/main/java/packagename/paths/path/verb/Parameters.hbs b/src/main/resources/java/src/main/java/packagename/paths/path/verb/Parameters.hbs index 3de027101a6..00be117d9e8 100644 --- a/src/main/resources/java/src/main/java/packagename/paths/path/verb/Parameters.hbs +++ b/src/main/resources/java/src/main/java/packagename/paths/path/verb/Parameters.hbs @@ -14,6 +14,10 @@ import {{packageName}}.{{subpackage}}.{{jsonPathPiece.pascalCase}}; {{#if headerParametersSchema}} import {{packageName}}.parameter.HeadersSerializer; {{/if}} + {{#if cookieParametersSchema}} +import {{packageName}}.parameter.CookieSerializer; + {{/if}} + import {{packageName}}.parameter.Parameter; import java.util.Map; @@ -72,20 +76,16 @@ public class {{jsonPathPiece.pascalCase}} { {{/if}} {{#if cookieParametersSchema}} - public static class CookieParametersSerializer { - Map parameters; - + public static class CookieParametersSerializer extends CookieSerializer { public CookieParametersSerializer() { - parameters = Map.ofEntries( + super( + Map.ofEntries( {{#each cookieParameters}} - new AbstractMap.SimpleEntry<>("{{{name}}}", new {{jsonPathPiece.pascalCase}}.{{jsonPathPiece.pascalCase}}1()){{#unless @last}},{{/unless}} + new AbstractMap.SimpleEntry<>("{{{name}}}", new {{jsonPathPiece.pascalCase}}.{{jsonPathPiece.pascalCase}}1()){{#unless @last}},{{/unless}} {{/each}} + ) ); } - - {{#with cookieParametersSchema}} - // {{containerJsonPathPiece.pascalCase}} - {{/with}} } {{/if}} } From e690082a20d9439c8bdd28ee76dfcd0a8e1c47cb Mon Sep 17 00:00:00 2001 From: Justin Black Date: Tue, 5 Mar 2024 18:14:47 -0800 Subject: [PATCH 13/29] Adds query and header serializers --- .../petstore/java/.openapi-generator/FILES | 2 + .../client/parameter/ContentParameter.java | 5 +- .../client/parameter/QuerySerializer.java | 46 ++++++++++++ .../client/parameter/SchemaParameter.java | 15 ++-- .../commonparamsubdir/delete/Parameters.java | 20 +++--- .../commonparamsubdir/get/Parameters.java | 20 +++--- .../commonparamsubdir/post/Parameters.java | 20 +++--- .../client/paths/fake/delete/Parameters.java | 39 +++++----- .../client/paths/fake/get/Parameters.java | 39 +++++----- .../put/Parameters.java | 16 ++--- .../put/Parameters.java | 20 +++--- .../fakedeletecoffeeid/delete/Parameters.java | 5 +- .../post/Parameters.java | 18 ++--- .../paths/fakeobjinquery/get/Parameters.java | 16 ++--- .../post/Parameters.java | 72 +++++++++---------- .../post/Parameters.java | 5 +- .../get/Parameters.java | 16 ++--- .../fakerefobjinquery/get/Parameters.java | 16 ++--- .../put/Parameters.java | 26 +++---- .../paths/petfindbystatus/get/Parameters.java | 16 ++--- .../paths/petfindbytags/get/Parameters.java | 16 ++--- .../paths/petpetid/delete/Parameters.java | 20 +++--- .../client/paths/petpetid/get/Parameters.java | 5 +- .../paths/petpetid/post/Parameters.java | 5 +- .../petpetiduploadimage/post/Parameters.java | 5 +- .../storeorderorderid/delete/Parameters.java | 5 +- .../storeorderorderid/get/Parameters.java | 5 +- .../paths/userlogin/get/Parameters.java | 18 ++--- .../paths/userusername/delete/Parameters.java | 5 +- .../paths/userusername/get/Parameters.java | 5 +- .../paths/userusername/put/Parameters.java | 5 +- .../SchemaNonQueryParameterTest.java | 21 +++--- .../parameter/SchemaQueryParameterTest.java | 11 ++- .../generators/JavaClientGenerator.java | 4 ++ .../packagename/parameter/QuerySerializer.hbs | 46 ++++++++++++ .../paths/path/verb/Parameters.hbs | 17 +++-- 36 files changed, 359 insertions(+), 266 deletions(-) create mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java create mode 100644 src/main/resources/java/src/main/java/packagename/parameter/QuerySerializer.hbs diff --git a/samples/client/petstore/java/.openapi-generator/FILES b/samples/client/petstore/java/.openapi-generator/FILES index 155ecb26a25..7c70ffb0300 100644 --- a/samples/client/petstore/java/.openapi-generator/FILES +++ b/samples/client/petstore/java/.openapi-generator/FILES @@ -558,10 +558,12 @@ src/main/java/org/openapijsonschematools/client/header/StyleSerializer.java src/main/java/org/openapijsonschematools/client/mediatype/Encoding.java src/main/java/org/openapijsonschematools/client/mediatype/MediaType.java src/main/java/org/openapijsonschematools/client/parameter/ContentParameter.java +src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java src/main/java/org/openapijsonschematools/client/parameter/Parameter.java src/main/java/org/openapijsonschematools/client/parameter/ParameterBase.java src/main/java/org/openapijsonschematools/client/parameter/ParameterInType.java src/main/java/org/openapijsonschematools/client/parameter/ParameterStyle.java +src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java src/main/java/org/openapijsonschematools/client/parameter/SchemaParameter.java src/main/java/org/openapijsonschematools/client/paths/anotherfakedummy/patch/RequestBody.java src/main/java/org/openapijsonschematools/client/paths/anotherfakedummy/patch/Responses.java diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ContentParameter.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ContentParameter.java index 2ee835b738d..3cf2e5a5111 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ContentParameter.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ContentParameter.java @@ -17,12 +17,11 @@ public ContentParameter(String name, ParameterInType inType, boolean required, @ this.content = content; } - public AbstractMap.SimpleEntry serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration) { + public AbstractMap.SimpleEntry serialize(@Nullable Object inData) { for (Map.Entry> entry: content.entrySet()) { - var castInData = validate ? entry.getValue().schema().validate(inData, configuration) : inData ; String contentType = entry.getKey(); if (ContentTypeDetector.contentTypeIsJson(contentType)) { - var value = ContentTypeSerializer.toJson(castInData); + var value = ContentTypeSerializer.toJson(inData); return new AbstractMap.SimpleEntry<>(name, value); } else { throw new RuntimeException("Serialization of "+contentType+" has not yet been implemented"); diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java new file mode 100644 index 00000000000..e9be78ed494 --- /dev/null +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java @@ -0,0 +1,46 @@ +package org.openapijsonschematools.client.parameter; + +import org.checkerframework.checker.nullness.qual.Nullable; + +import java.util.AbstractMap; +import java.util.LinkedHashMap; +import java.util.Map; + +public abstract class QuerySerializer { + private final Map parameters; + + protected QuerySerializer(Map parameters) { + this.parameters = parameters; + } + + public Map getQueryMap(Map inData) { + Map results = new LinkedHashMap<>(); + for (Map.Entry entry: inData.entrySet()) { + String mapKey = entry.getKey(); + @Nullable Object value = entry.getValue(); + @Nullable Parameter parameter = parameters.get(mapKey); + if (parameter == null) { + throw new RuntimeException("Invalid state, a parameter must exist for every key"); + } + AbstractMap.SimpleEntry serialized = parameter.serialize(inData); + results.put(serialized.getKey(), serialized.getValue()); + } + return results; + } + + public String serialize(Map queryMap) { + if (queryMap.isEmpty()) { + return ""; + } + String result = "?"; + for (String serializedValue: queryMap.values()) { + if (result.length() == 1) { + result = result + serializedValue; + } else { + result = result + "&" + serializedValue; + } + } + // TODO what if the style is not FORM? + return result; + } +} diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaParameter.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaParameter.java index 40eab176352..deb0b7a71b0 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaParameter.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaParameter.java @@ -26,30 +26,29 @@ private ParameterStyle getStyle() { return ParameterStyle.SIMPLE; } - public AbstractMap.SimpleEntry serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration) { - var castInData = validate ? schema.validate(inData, configuration) : inData; + public AbstractMap.SimpleEntry serialize(@Nullable Object inData) { ParameterStyle usedStyle = getStyle(); boolean percentEncode = inType == ParameterInType.QUERY || inType == ParameterInType.PATH; String value; boolean usedExplode = explode == null ? usedStyle == ParameterStyle.FORM : explode; if (usedStyle == ParameterStyle.SIMPLE) { // header OR path - value = StyleSerializer.serializeSimple(castInData, name, usedExplode, percentEncode); + value = StyleSerializer.serializeSimple(inData, name, usedExplode, percentEncode); } else if (usedStyle == ParameterStyle.FORM) { // query OR cookie - value = StyleSerializer.serializeForm(castInData, name, usedExplode, percentEncode); + value = StyleSerializer.serializeForm(inData, name, usedExplode, percentEncode); } else if (usedStyle == ParameterStyle.LABEL) { // path - value = StyleSerializer.serializeLabel(castInData, name, usedExplode); + value = StyleSerializer.serializeLabel(inData, name, usedExplode); } else if (usedStyle == ParameterStyle.MATRIX) { // path - value = StyleSerializer.serializeMatrix(castInData, name, usedExplode); + value = StyleSerializer.serializeMatrix(inData, name, usedExplode); } else if (usedStyle == ParameterStyle.SPACE_DELIMITED) { // query - value = StyleSerializer.serializeSpaceDelimited(castInData, name, usedExplode); + value = StyleSerializer.serializeSpaceDelimited(inData, name, usedExplode); } else if (usedStyle == ParameterStyle.PIPE_DELIMITED) { // query - value = StyleSerializer.serializePipeDelimited(castInData, name, usedExplode); + value = StyleSerializer.serializePipeDelimited(inData, name, usedExplode); } else { // usedStyle == ParameterStyle.DEEP_OBJECT // query diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/Parameters.java index 4e21c737912..b8f8c75d199 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/Parameters.java @@ -2,6 +2,8 @@ import org.openapijsonschematools.client.paths.commonparamsubdir.delete.parameters.Parameter0; import org.openapijsonschematools.client.paths.commonparamsubdir.delete.parameters.Parameter1; +import org.openapijsonschematools.client.parameter.HeadersSerializer; + import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; @@ -9,10 +11,10 @@ public class Parameters { - public static class PathParametersDeserializer { + public static class PathParametersSerializer { Map parameters; - public PathParametersDeserializer() { + public PathParametersSerializer() { parameters = Map.ofEntries( new AbstractMap.SimpleEntry<>("subDir", new Parameter1.Parameter11()) ); @@ -21,15 +23,13 @@ public PathParametersDeserializer() { // deserialize PathParameters } - public static class HeaderParametersDeserializer { - Map parameters; - - public HeaderParametersDeserializer() { - parameters = Map.ofEntries( - new AbstractMap.SimpleEntry<>("someHeader", new Parameter0.Parameter01()) + public static class HeaderParametersSerializer extends HeadersSerializer { + public HeaderParametersSerializer() { + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("someHeader", new Parameter0.Parameter01()) + ) ); } - - // HeaderParameters } } diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/Parameters.java index bdd5c5bfd1a..d9a2d88ba09 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/Parameters.java @@ -2,6 +2,8 @@ import org.openapijsonschematools.client.paths.commonparamsubdir.parameters.RouteParameter0; import org.openapijsonschematools.client.paths.commonparamsubdir.get.parameters.Parameter0; +import org.openapijsonschematools.client.parameter.QuerySerializer; + import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; @@ -9,10 +11,10 @@ public class Parameters { - public static class PathParametersDeserializer { + public static class PathParametersSerializer { Map parameters; - public PathParametersDeserializer() { + public PathParametersSerializer() { parameters = Map.ofEntries( new AbstractMap.SimpleEntry<>("subDir", new RouteParameter0.RouteParameter01()) ); @@ -21,15 +23,13 @@ public PathParametersDeserializer() { // deserialize PathParameters } - public static class QueryParametersDeserializer { - Map parameters; - - public QueryParametersDeserializer() { - parameters = Map.ofEntries( - new AbstractMap.SimpleEntry<>("searchStr", new Parameter0.Parameter01()) + public static class QueryParametersSerializer extends QuerySerializer { + public QueryParametersSerializer() { + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("searchStr", new Parameter0.Parameter01()) + ) ); } - - // QueryParameters } } diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/Parameters.java index 46e1a93688b..981d46de542 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/Parameters.java @@ -2,6 +2,8 @@ import org.openapijsonschematools.client.paths.commonparamsubdir.parameters.RouteParameter0; import org.openapijsonschematools.client.paths.commonparamsubdir.post.parameters.Parameter0; +import org.openapijsonschematools.client.parameter.HeadersSerializer; + import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; @@ -9,10 +11,10 @@ public class Parameters { - public static class PathParametersDeserializer { + public static class PathParametersSerializer { Map parameters; - public PathParametersDeserializer() { + public PathParametersSerializer() { parameters = Map.ofEntries( new AbstractMap.SimpleEntry<>("subDir", new RouteParameter0.RouteParameter01()) ); @@ -21,15 +23,13 @@ public PathParametersDeserializer() { // deserialize PathParameters } - public static class HeaderParametersDeserializer { - Map parameters; - - public HeaderParametersDeserializer() { - parameters = Map.ofEntries( - new AbstractMap.SimpleEntry<>("someHeader", new Parameter0.Parameter01()) + public static class HeaderParametersSerializer extends HeadersSerializer { + public HeaderParametersSerializer() { + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("someHeader", new Parameter0.Parameter01()) + ) ); } - - // HeaderParameters } } diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/Parameters.java index a97bfd62d77..2b1575d4e46 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/Parameters.java @@ -6,6 +6,9 @@ import org.openapijsonschematools.client.paths.fake.delete.parameters.Parameter3; import org.openapijsonschematools.client.paths.fake.delete.parameters.Parameter4; import org.openapijsonschematools.client.paths.fake.delete.parameters.Parameter5; +import org.openapijsonschematools.client.parameter.HeadersSerializer; +import org.openapijsonschematools.client.parameter.QuerySerializer; + import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; @@ -13,31 +16,27 @@ public class Parameters { - public static class QueryParametersDeserializer { - Map parameters; - - public QueryParametersDeserializer() { - parameters = Map.ofEntries( - new AbstractMap.SimpleEntry<>("required_string_group", new Parameter0.Parameter01()), - new AbstractMap.SimpleEntry<>("required_int64_group", new Parameter2.Parameter21()), - new AbstractMap.SimpleEntry<>("string_group", new Parameter3.Parameter31()), - new AbstractMap.SimpleEntry<>("int64_group", new Parameter5.Parameter51()) + public static class QueryParametersSerializer extends QuerySerializer { + public QueryParametersSerializer() { + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("required_string_group", new Parameter0.Parameter01()), + new AbstractMap.SimpleEntry<>("required_int64_group", new Parameter2.Parameter21()), + new AbstractMap.SimpleEntry<>("string_group", new Parameter3.Parameter31()), + new AbstractMap.SimpleEntry<>("int64_group", new Parameter5.Parameter51()) + ) ); } - - // QueryParameters } - public static class HeaderParametersDeserializer { - Map parameters; - - public HeaderParametersDeserializer() { - parameters = Map.ofEntries( - new AbstractMap.SimpleEntry<>("required_boolean_group", new Parameter1.Parameter11()), - new AbstractMap.SimpleEntry<>("boolean_group", new Parameter4.Parameter41()) + public static class HeaderParametersSerializer extends HeadersSerializer { + public HeaderParametersSerializer() { + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("required_boolean_group", new Parameter1.Parameter11()), + new AbstractMap.SimpleEntry<>("boolean_group", new Parameter4.Parameter41()) + ) ); } - - // HeaderParameters } } diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/Parameters.java index cff1d6b13ab..998bfcd7554 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/Parameters.java @@ -6,6 +6,9 @@ import org.openapijsonschematools.client.paths.fake.get.parameters.Parameter3; import org.openapijsonschematools.client.paths.fake.get.parameters.Parameter4; import org.openapijsonschematools.client.paths.fake.get.parameters.Parameter5; +import org.openapijsonschematools.client.parameter.HeadersSerializer; +import org.openapijsonschematools.client.parameter.QuerySerializer; + import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; @@ -13,31 +16,27 @@ public class Parameters { - public static class QueryParametersDeserializer { - Map parameters; - - public QueryParametersDeserializer() { - parameters = Map.ofEntries( - new AbstractMap.SimpleEntry<>("enum_query_string_array", new Parameter2.Parameter21()), - new AbstractMap.SimpleEntry<>("enum_query_string", new Parameter3.Parameter31()), - new AbstractMap.SimpleEntry<>("enum_query_integer", new Parameter4.Parameter41()), - new AbstractMap.SimpleEntry<>("enum_query_double", new Parameter5.Parameter51()) + public static class QueryParametersSerializer extends QuerySerializer { + public QueryParametersSerializer() { + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("enum_query_string_array", new Parameter2.Parameter21()), + new AbstractMap.SimpleEntry<>("enum_query_string", new Parameter3.Parameter31()), + new AbstractMap.SimpleEntry<>("enum_query_integer", new Parameter4.Parameter41()), + new AbstractMap.SimpleEntry<>("enum_query_double", new Parameter5.Parameter51()) + ) ); } - - // QueryParameters } - public static class HeaderParametersDeserializer { - Map parameters; - - public HeaderParametersDeserializer() { - parameters = Map.ofEntries( - new AbstractMap.SimpleEntry<>("enum_header_string_array", new Parameter0.Parameter01()), - new AbstractMap.SimpleEntry<>("enum_header_string", new Parameter1.Parameter11()) + public static class HeaderParametersSerializer extends HeadersSerializer { + public HeaderParametersSerializer() { + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("enum_header_string_array", new Parameter0.Parameter01()), + new AbstractMap.SimpleEntry<>("enum_header_string", new Parameter1.Parameter11()) + ) ); } - - // HeaderParameters } } diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/Parameters.java index 41d5c8133fc..d412b55e989 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/Parameters.java @@ -1,6 +1,8 @@ package org.openapijsonschematools.client.paths.fakebodywithqueryparams.put; import org.openapijsonschematools.client.paths.fakebodywithqueryparams.put.parameters.Parameter0; +import org.openapijsonschematools.client.parameter.QuerySerializer; + import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; @@ -8,15 +10,13 @@ public class Parameters { - public static class QueryParametersDeserializer { - Map parameters; - - public QueryParametersDeserializer() { - parameters = Map.ofEntries( - new AbstractMap.SimpleEntry<>("query", new Parameter0.Parameter01()) + public static class QueryParametersSerializer extends QuerySerializer { + public QueryParametersSerializer() { + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("query", new Parameter0.Parameter01()) + ) ); } - - // QueryParameters } } diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/Parameters.java index 2980127094c..5add1185084 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/Parameters.java @@ -3,6 +3,8 @@ import org.openapijsonschematools.client.paths.fakecasesensitiveparams.put.parameters.Parameter0; import org.openapijsonschematools.client.paths.fakecasesensitiveparams.put.parameters.Parameter1; import org.openapijsonschematools.client.paths.fakecasesensitiveparams.put.parameters.Parameter2; +import org.openapijsonschematools.client.parameter.QuerySerializer; + import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; @@ -10,17 +12,15 @@ public class Parameters { - public static class QueryParametersDeserializer { - Map parameters; - - public QueryParametersDeserializer() { - parameters = Map.ofEntries( - new AbstractMap.SimpleEntry<>("someVar", new Parameter0.Parameter01()), - new AbstractMap.SimpleEntry<>("SomeVar", new Parameter1.Parameter11()), - new AbstractMap.SimpleEntry<>("some_var", new Parameter2.Parameter21()) + public static class QueryParametersSerializer extends QuerySerializer { + public QueryParametersSerializer() { + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("someVar", new Parameter0.Parameter01()), + new AbstractMap.SimpleEntry<>("SomeVar", new Parameter1.Parameter11()), + new AbstractMap.SimpleEntry<>("some_var", new Parameter2.Parameter21()) + ) ); } - - // QueryParameters } } diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/Parameters.java index dc8d1133097..09ff821286e 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/Parameters.java @@ -1,6 +1,7 @@ package org.openapijsonschematools.client.paths.fakedeletecoffeeid.delete; import org.openapijsonschematools.client.paths.fakedeletecoffeeid.delete.parameters.Parameter0; + import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; @@ -8,10 +9,10 @@ public class Parameters { - public static class PathParametersDeserializer { + public static class PathParametersSerializer { Map parameters; - public PathParametersDeserializer() { + public PathParametersSerializer() { parameters = Map.ofEntries( new AbstractMap.SimpleEntry<>("id", new Parameter0.Parameter01()) ); diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/Parameters.java index 0325124f406..10a4bccdf22 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/Parameters.java @@ -2,6 +2,8 @@ import org.openapijsonschematools.client.paths.fakeinlinecomposition.post.parameters.Parameter0; import org.openapijsonschematools.client.paths.fakeinlinecomposition.post.parameters.Parameter1; +import org.openapijsonschematools.client.parameter.QuerySerializer; + import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; @@ -9,16 +11,14 @@ public class Parameters { - public static class QueryParametersDeserializer { - Map parameters; - - public QueryParametersDeserializer() { - parameters = Map.ofEntries( - new AbstractMap.SimpleEntry<>("compositionAtRoot", new Parameter0.Parameter01()), - new AbstractMap.SimpleEntry<>("compositionInProperty", new Parameter1.Parameter11()) + public static class QueryParametersSerializer extends QuerySerializer { + public QueryParametersSerializer() { + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("compositionAtRoot", new Parameter0.Parameter01()), + new AbstractMap.SimpleEntry<>("compositionInProperty", new Parameter1.Parameter11()) + ) ); } - - // QueryParameters } } diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeobjinquery/get/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeobjinquery/get/Parameters.java index 8823407ce11..ecb0e013401 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeobjinquery/get/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeobjinquery/get/Parameters.java @@ -1,6 +1,8 @@ package org.openapijsonschematools.client.paths.fakeobjinquery.get; import org.openapijsonschematools.client.paths.fakeobjinquery.get.parameters.Parameter0; +import org.openapijsonschematools.client.parameter.QuerySerializer; + import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; @@ -8,15 +10,13 @@ public class Parameters { - public static class QueryParametersDeserializer { - Map parameters; - - public QueryParametersDeserializer() { - parameters = Map.ofEntries( - new AbstractMap.SimpleEntry<>("mapBean", new Parameter0.Parameter01()) + public static class QueryParametersSerializer extends QuerySerializer { + public QueryParametersSerializer() { + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("mapBean", new Parameter0.Parameter01()) + ) ); } - - // QueryParameters } } diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/Parameters.java index a479dbea033..85385b51f8b 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/Parameters.java @@ -19,6 +19,10 @@ import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.Parameter16; import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.Parameter17; import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.Parameter18; +import org.openapijsonschematools.client.parameter.HeadersSerializer; +import org.openapijsonschematools.client.parameter.QuerySerializer; +import org.openapijsonschematools.client.parameter.CookieSerializer; + import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; @@ -26,10 +30,10 @@ public class Parameters { - public static class PathParametersDeserializer { + public static class PathParametersSerializer { Map parameters; - public PathParametersDeserializer() { + public PathParametersSerializer() { parameters = Map.ofEntries( new AbstractMap.SimpleEntry<>("1", new Parameter9.Parameter91()), new AbstractMap.SimpleEntry<>("aB", new Parameter10.Parameter101()), @@ -42,50 +46,44 @@ public PathParametersDeserializer() { // deserialize PathParameters } - public static class QueryParametersDeserializer { - Map parameters; - - public QueryParametersDeserializer() { - parameters = Map.ofEntries( - new AbstractMap.SimpleEntry<>("1", new Parameter0.Parameter01()), - new AbstractMap.SimpleEntry<>("aB", new Parameter1.Parameter11()), - new AbstractMap.SimpleEntry<>("Ab", new Parameter2.Parameter21()), - new AbstractMap.SimpleEntry<>("self", new Parameter3.Parameter31()), - new AbstractMap.SimpleEntry<>("A-B", new Parameter4.Parameter41()) + public static class QueryParametersSerializer extends QuerySerializer { + public QueryParametersSerializer() { + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("1", new Parameter0.Parameter01()), + new AbstractMap.SimpleEntry<>("aB", new Parameter1.Parameter11()), + new AbstractMap.SimpleEntry<>("Ab", new Parameter2.Parameter21()), + new AbstractMap.SimpleEntry<>("self", new Parameter3.Parameter31()), + new AbstractMap.SimpleEntry<>("A-B", new Parameter4.Parameter41()) + ) ); } - - // QueryParameters } - public static class HeaderParametersDeserializer { - Map parameters; - - public HeaderParametersDeserializer() { - parameters = Map.ofEntries( - new AbstractMap.SimpleEntry<>("1", new Parameter5.Parameter51()), - new AbstractMap.SimpleEntry<>("aB", new Parameter6.Parameter61()), - new AbstractMap.SimpleEntry<>("self", new Parameter7.Parameter71()), - new AbstractMap.SimpleEntry<>("A-B", new Parameter8.Parameter81()) + public static class HeaderParametersSerializer extends HeadersSerializer { + public HeaderParametersSerializer() { + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("1", new Parameter5.Parameter51()), + new AbstractMap.SimpleEntry<>("aB", new Parameter6.Parameter61()), + new AbstractMap.SimpleEntry<>("self", new Parameter7.Parameter71()), + new AbstractMap.SimpleEntry<>("A-B", new Parameter8.Parameter81()) + ) ); } - - // HeaderParameters } - public static class CookieParametersDeserializer { - Map parameters; - - public CookieParametersDeserializer() { - parameters = Map.ofEntries( - new AbstractMap.SimpleEntry<>("1", new Parameter14.Parameter141()), - new AbstractMap.SimpleEntry<>("aB", new Parameter15.Parameter151()), - new AbstractMap.SimpleEntry<>("Ab", new Parameter16.Parameter161()), - new AbstractMap.SimpleEntry<>("self", new Parameter17.Parameter171()), - new AbstractMap.SimpleEntry<>("A-B", new Parameter18.Parameter181()) + public static class CookieParametersSerializer extends CookieSerializer { + public CookieParametersSerializer() { + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("1", new Parameter14.Parameter141()), + new AbstractMap.SimpleEntry<>("aB", new Parameter15.Parameter151()), + new AbstractMap.SimpleEntry<>("Ab", new Parameter16.Parameter161()), + new AbstractMap.SimpleEntry<>("self", new Parameter17.Parameter171()), + new AbstractMap.SimpleEntry<>("A-B", new Parameter18.Parameter181()) + ) ); } - - // CookieParameters } } diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/Parameters.java index afae872796b..1211fa1cdb4 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/Parameters.java @@ -1,6 +1,7 @@ package org.openapijsonschematools.client.paths.fakepetiduploadimagewithrequiredfile.post; import org.openapijsonschematools.client.paths.fakepetiduploadimagewithrequiredfile.post.parameters.Parameter0; + import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; @@ -8,10 +9,10 @@ public class Parameters { - public static class PathParametersDeserializer { + public static class PathParametersSerializer { Map parameters; - public PathParametersDeserializer() { + public PathParametersSerializer() { parameters = Map.ofEntries( new AbstractMap.SimpleEntry<>("petId", new Parameter0.Parameter01()) ); diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/Parameters.java index 1116e155e9d..51594e200f4 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/Parameters.java @@ -1,6 +1,8 @@ package org.openapijsonschematools.client.paths.fakequeryparamwithjsoncontenttype.get; import org.openapijsonschematools.client.paths.fakequeryparamwithjsoncontenttype.get.parameters.Parameter0; +import org.openapijsonschematools.client.parameter.QuerySerializer; + import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; @@ -8,15 +10,13 @@ public class Parameters { - public static class QueryParametersDeserializer { - Map parameters; - - public QueryParametersDeserializer() { - parameters = Map.ofEntries( - new AbstractMap.SimpleEntry<>("someParam", new Parameter0.Parameter01()) + public static class QueryParametersSerializer extends QuerySerializer { + public QueryParametersSerializer() { + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("someParam", new Parameter0.Parameter01()) + ) ); } - - // QueryParameters } } diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakerefobjinquery/get/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakerefobjinquery/get/Parameters.java index f268d811469..3d8678dbc59 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakerefobjinquery/get/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakerefobjinquery/get/Parameters.java @@ -1,6 +1,8 @@ package org.openapijsonschematools.client.paths.fakerefobjinquery.get; import org.openapijsonschematools.client.paths.fakerefobjinquery.get.parameters.Parameter0; +import org.openapijsonschematools.client.parameter.QuerySerializer; + import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; @@ -8,15 +10,13 @@ public class Parameters { - public static class QueryParametersDeserializer { - Map parameters; - - public QueryParametersDeserializer() { - parameters = Map.ofEntries( - new AbstractMap.SimpleEntry<>("mapBean", new Parameter0.Parameter01()) + public static class QueryParametersSerializer extends QuerySerializer { + public QueryParametersSerializer() { + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("mapBean", new Parameter0.Parameter01()) + ) ); } - - // QueryParameters } } diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/Parameters.java index ad17bac2aa9..e8502b32326 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/Parameters.java @@ -6,6 +6,8 @@ import org.openapijsonschematools.client.paths.faketestqueryparamters.put.parameters.Parameter3; import org.openapijsonschematools.client.paths.faketestqueryparamters.put.parameters.Parameter4; import org.openapijsonschematools.client.paths.faketestqueryparamters.put.parameters.Parameter5; +import org.openapijsonschematools.client.parameter.QuerySerializer; + import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; @@ -13,20 +15,18 @@ public class Parameters { - public static class QueryParametersDeserializer { - Map parameters; - - public QueryParametersDeserializer() { - parameters = Map.ofEntries( - new AbstractMap.SimpleEntry<>("pipe", new Parameter0.Parameter01()), - new AbstractMap.SimpleEntry<>("ioutil", new Parameter1.Parameter11()), - new AbstractMap.SimpleEntry<>("http", new Parameter2.Parameter21()), - new AbstractMap.SimpleEntry<>("url", new Parameter3.Parameter31()), - new AbstractMap.SimpleEntry<>("context", new Parameter4.Parameter41()), - new AbstractMap.SimpleEntry<>("refParam", new Parameter5.Parameter51()) + public static class QueryParametersSerializer extends QuerySerializer { + public QueryParametersSerializer() { + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("pipe", new Parameter0.Parameter01()), + new AbstractMap.SimpleEntry<>("ioutil", new Parameter1.Parameter11()), + new AbstractMap.SimpleEntry<>("http", new Parameter2.Parameter21()), + new AbstractMap.SimpleEntry<>("url", new Parameter3.Parameter31()), + new AbstractMap.SimpleEntry<>("context", new Parameter4.Parameter41()), + new AbstractMap.SimpleEntry<>("refParam", new Parameter5.Parameter51()) + ) ); } - - // QueryParameters } } diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/Parameters.java index 92bc292eaf4..649ed442d23 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/Parameters.java @@ -1,6 +1,8 @@ package org.openapijsonschematools.client.paths.petfindbystatus.get; import org.openapijsonschematools.client.paths.petfindbystatus.get.parameters.Parameter0; +import org.openapijsonschematools.client.parameter.QuerySerializer; + import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; @@ -8,15 +10,13 @@ public class Parameters { - public static class QueryParametersDeserializer { - Map parameters; - - public QueryParametersDeserializer() { - parameters = Map.ofEntries( - new AbstractMap.SimpleEntry<>("status", new Parameter0.Parameter01()) + public static class QueryParametersSerializer extends QuerySerializer { + public QueryParametersSerializer() { + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("status", new Parameter0.Parameter01()) + ) ); } - - // QueryParameters } } diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/Parameters.java index 844e389a249..767237f495a 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/Parameters.java @@ -1,6 +1,8 @@ package org.openapijsonschematools.client.paths.petfindbytags.get; import org.openapijsonschematools.client.paths.petfindbytags.get.parameters.Parameter0; +import org.openapijsonschematools.client.parameter.QuerySerializer; + import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; @@ -8,15 +10,13 @@ public class Parameters { - public static class QueryParametersDeserializer { - Map parameters; - - public QueryParametersDeserializer() { - parameters = Map.ofEntries( - new AbstractMap.SimpleEntry<>("tags", new Parameter0.Parameter01()) + public static class QueryParametersSerializer extends QuerySerializer { + public QueryParametersSerializer() { + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("tags", new Parameter0.Parameter01()) + ) ); } - - // QueryParameters } } diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/Parameters.java index bbbe6ba6de1..470f2c6a62f 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/Parameters.java @@ -2,6 +2,8 @@ import org.openapijsonschematools.client.paths.petpetid.delete.parameters.Parameter0; import org.openapijsonschematools.client.paths.petpetid.delete.parameters.Parameter1; +import org.openapijsonschematools.client.parameter.HeadersSerializer; + import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; @@ -9,10 +11,10 @@ public class Parameters { - public static class PathParametersDeserializer { + public static class PathParametersSerializer { Map parameters; - public PathParametersDeserializer() { + public PathParametersSerializer() { parameters = Map.ofEntries( new AbstractMap.SimpleEntry<>("petId", new Parameter1.Parameter11()) ); @@ -21,15 +23,13 @@ public PathParametersDeserializer() { // deserialize PathParameters } - public static class HeaderParametersDeserializer { - Map parameters; - - public HeaderParametersDeserializer() { - parameters = Map.ofEntries( - new AbstractMap.SimpleEntry<>("api_key", new Parameter0.Parameter01()) + public static class HeaderParametersSerializer extends HeadersSerializer { + public HeaderParametersSerializer() { + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("api_key", new Parameter0.Parameter01()) + ) ); } - - // HeaderParameters } } diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/get/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/get/Parameters.java index 11424e2ea26..3e52ece171f 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/get/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/get/Parameters.java @@ -1,6 +1,7 @@ package org.openapijsonschematools.client.paths.petpetid.get; import org.openapijsonschematools.client.paths.petpetid.get.parameters.Parameter0; + import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; @@ -8,10 +9,10 @@ public class Parameters { - public static class PathParametersDeserializer { + public static class PathParametersSerializer { Map parameters; - public PathParametersDeserializer() { + public PathParametersSerializer() { parameters = Map.ofEntries( new AbstractMap.SimpleEntry<>("petId", new Parameter0.Parameter01()) ); diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/post/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/post/Parameters.java index 002c83bb6f1..34616271416 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/post/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/post/Parameters.java @@ -1,6 +1,7 @@ package org.openapijsonschematools.client.paths.petpetid.post; import org.openapijsonschematools.client.paths.petpetid.post.parameters.Parameter0; + import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; @@ -8,10 +9,10 @@ public class Parameters { - public static class PathParametersDeserializer { + public static class PathParametersSerializer { Map parameters; - public PathParametersDeserializer() { + public PathParametersSerializer() { parameters = Map.ofEntries( new AbstractMap.SimpleEntry<>("petId", new Parameter0.Parameter01()) ); diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/Parameters.java index 0bf8ef4957d..a9a147216fd 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/Parameters.java @@ -1,6 +1,7 @@ package org.openapijsonschematools.client.paths.petpetiduploadimage.post; import org.openapijsonschematools.client.paths.petpetiduploadimage.post.parameters.Parameter0; + import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; @@ -8,10 +9,10 @@ public class Parameters { - public static class PathParametersDeserializer { + public static class PathParametersSerializer { Map parameters; - public PathParametersDeserializer() { + public PathParametersSerializer() { parameters = Map.ofEntries( new AbstractMap.SimpleEntry<>("petId", new Parameter0.Parameter01()) ); diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/Parameters.java index a07d9f48c46..12ead8e3ff5 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/Parameters.java @@ -1,6 +1,7 @@ package org.openapijsonschematools.client.paths.storeorderorderid.delete; import org.openapijsonschematools.client.paths.storeorderorderid.delete.parameters.Parameter0; + import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; @@ -8,10 +9,10 @@ public class Parameters { - public static class PathParametersDeserializer { + public static class PathParametersSerializer { Map parameters; - public PathParametersDeserializer() { + public PathParametersSerializer() { parameters = Map.ofEntries( new AbstractMap.SimpleEntry<>("order_id", new Parameter0.Parameter01()) ); diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/Parameters.java index 305b66470b2..9d1d1aa38d6 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/Parameters.java @@ -1,6 +1,7 @@ package org.openapijsonschematools.client.paths.storeorderorderid.get; import org.openapijsonschematools.client.paths.storeorderorderid.get.parameters.Parameter0; + import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; @@ -8,10 +9,10 @@ public class Parameters { - public static class PathParametersDeserializer { + public static class PathParametersSerializer { Map parameters; - public PathParametersDeserializer() { + public PathParametersSerializer() { parameters = Map.ofEntries( new AbstractMap.SimpleEntry<>("order_id", new Parameter0.Parameter01()) ); diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userlogin/get/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userlogin/get/Parameters.java index f8ad4206484..139ca4ec557 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userlogin/get/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userlogin/get/Parameters.java @@ -2,6 +2,8 @@ import org.openapijsonschematools.client.paths.userlogin.get.parameters.Parameter0; import org.openapijsonschematools.client.paths.userlogin.get.parameters.Parameter1; +import org.openapijsonschematools.client.parameter.QuerySerializer; + import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; @@ -9,16 +11,14 @@ public class Parameters { - public static class QueryParametersDeserializer { - Map parameters; - - public QueryParametersDeserializer() { - parameters = Map.ofEntries( - new AbstractMap.SimpleEntry<>("username", new Parameter0.Parameter01()), - new AbstractMap.SimpleEntry<>("password", new Parameter1.Parameter11()) + public static class QueryParametersSerializer extends QuerySerializer { + public QueryParametersSerializer() { + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("username", new Parameter0.Parameter01()), + new AbstractMap.SimpleEntry<>("password", new Parameter1.Parameter11()) + ) ); } - - // QueryParameters } } diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/delete/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/delete/Parameters.java index d44b5c7753f..adef2172ba6 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/delete/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/delete/Parameters.java @@ -1,6 +1,7 @@ package org.openapijsonschematools.client.paths.userusername.delete; import org.openapijsonschematools.client.paths.userusername.delete.parameters.Parameter0; + import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; @@ -8,10 +9,10 @@ public class Parameters { - public static class PathParametersDeserializer { + public static class PathParametersSerializer { Map parameters; - public PathParametersDeserializer() { + public PathParametersSerializer() { parameters = Map.ofEntries( new AbstractMap.SimpleEntry<>("", new Parameter0.Parameter01()) ); diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/get/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/get/Parameters.java index cc3ee936543..354dbbfdf08 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/get/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/get/Parameters.java @@ -1,6 +1,7 @@ package org.openapijsonschematools.client.paths.userusername.get; import org.openapijsonschematools.client.paths.userusername.get.parameters.Parameter0; + import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; @@ -8,10 +9,10 @@ public class Parameters { - public static class PathParametersDeserializer { + public static class PathParametersSerializer { Map parameters; - public PathParametersDeserializer() { + public PathParametersSerializer() { parameters = Map.ofEntries( new AbstractMap.SimpleEntry<>("", new Parameter0.Parameter01()) ); diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/put/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/put/Parameters.java index 1684b1ecd00..eabf12fe227 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/put/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/put/Parameters.java @@ -1,6 +1,7 @@ package org.openapijsonschematools.client.paths.userusername.put; import org.openapijsonschematools.client.paths.userusername.put.parameters.Parameter0; + import org.openapijsonschematools.client.parameter.Parameter; import java.util.Map; @@ -8,10 +9,10 @@ public class Parameters { - public static class PathParametersDeserializer { + public static class PathParametersSerializer { Map parameters; - public PathParametersDeserializer() { + public PathParametersSerializer() { parameters = Map.ofEntries( new AbstractMap.SimpleEntry<>("", new Parameter0.Parameter01()) ); diff --git a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java index f2c0c32b7b1..679811c3644 100644 --- a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java +++ b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java @@ -85,17 +85,16 @@ public void testHeaderSerialization() { true ) ); - SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); for (ParamTestCase testCase: testCases) { var header = new HeaderParameter(testCase.explode); - var serialization = header.serialize(testCase.payload, false, configuration); + var serialization = header.serialize(testCase.payload); Assert.assertEquals(testCase.expectedSerialization, serialization); } var boolHeader = new HeaderParameter(false); for (boolean value: Set.of(true, false)) { Assert.assertThrows( InvalidTypeException.class, - () -> boolHeader.serialize(value, false, configuration) + () -> boolHeader.serialize(value) ); } } @@ -164,17 +163,16 @@ public void testPathSerialization() { true ) ); - SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); for (ParamTestCase testCase: testCases) { var pathParameter = new PathParameter(testCase.explode); - var serialization = pathParameter.serialize(testCase.payload, false, configuration); + var serialization = pathParameter.serialize(testCase.payload); Assert.assertEquals(testCase.expectedSerialization, serialization); } var pathParameter = new PathParameter(false); for (boolean value: Set.of(true, false)) { Assert.assertThrows( InvalidTypeException.class, - () -> pathParameter.serialize(value, false, configuration) + () -> pathParameter.serialize(value) ); } } @@ -243,17 +241,16 @@ public void testCookieSerialization() { true ) ); - SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); for (ParamTestCase testCase: testCases) { var cookieParameter = new CookieParameter(testCase.explode); - var serialization = cookieParameter.serialize(testCase.payload, false, configuration); + var serialization = cookieParameter.serialize(testCase.payload); Assert.assertEquals(testCase.expectedSerialization, serialization); } var cookieParameter = new CookieParameter(false); for (boolean value: Set.of(true, false)) { Assert.assertThrows( InvalidTypeException.class, - () -> cookieParameter.serialize(value, false, configuration) + () -> cookieParameter.serialize(value) ); } } @@ -322,10 +319,9 @@ public void testPathMatrixSerialization() { true ) ); - SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); for (ParamTestCase testCase: testCases) { var pathParameter = new PathMatrixParameter(testCase.explode); - var serialization = pathParameter.serialize(testCase.payload, false, configuration); + var serialization = pathParameter.serialize(testCase.payload); Assert.assertEquals(testCase.expectedSerialization, serialization); } } @@ -394,10 +390,9 @@ public void testPathLabelSerialization() { true ) ); - SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); for (ParamTestCase testCase: testCases) { var pathParameter = new PathLabelParameter(testCase.explode); - var serialization = pathParameter.serialize(testCase.payload, false, configuration); + var serialization = pathParameter.serialize(testCase.payload); Assert.assertEquals(testCase.expectedSerialization, serialization); } } diff --git a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java index fce83a2c01b..d3a389add63 100644 --- a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java +++ b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java @@ -85,17 +85,16 @@ public void testQueryParameterNoStyleSerialization() { true ) ); - SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); for (ParamTestCase testCase: testCases) { var parameter = new QueryParameterNoStyle(testCase.explode); - var serialization = parameter.serialize(testCase.payload, false, configuration); + var serialization = parameter.serialize(testCase.payload); Assert.assertEquals(testCase.expectedSerialization, serialization); } var parameter = new QueryParameterNoStyle(false); for (boolean value: Set.of(true, false)) { Assert.assertThrows( InvalidTypeException.class, - () -> parameter.serialize(value, false, configuration) + () -> parameter.serialize(value) ); } } @@ -140,10 +139,9 @@ public void testQueryParameterSpaceDelimitedSerialization() { true ) ); - SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); for (ParamTestCase testCase: testCases) { var parameter = new QueryParameterSpaceDelimited(testCase.explode); - var serialization = parameter.serialize(testCase.payload, false, configuration); + var serialization = parameter.serialize(testCase.payload); Assert.assertEquals(testCase.expectedSerialization, serialization); } } @@ -188,10 +186,9 @@ public void testQueryParameterPipeDelimitedSerialization() { true ) ); - SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); for (ParamTestCase testCase: testCases) { var parameter = new QueryParameterPipeDelimited(testCase.explode); - var serialization = parameter.serialize(testCase.payload, false, configuration); + var serialization = parameter.serialize(testCase.payload); Assert.assertEquals(testCase.expectedSerialization, serialization); } } diff --git a/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java b/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java index 1b2161acb39..3f2248d2e57 100644 --- a/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java +++ b/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java @@ -853,6 +853,10 @@ public void processOpts() { "src/main/java/packagename/parameter/ParameterStyle.hbs", packagePath() + File.separatorChar + "parameter", "ParameterStyle.java")); + supportingFiles.add(new SupportingFile( + "src/main/java/packagename/parameter/QuerySerializer.hbs", + packagePath() + File.separatorChar + "parameter", + "QuerySerializer.java")); supportingFiles.add(new SupportingFile( "src/main/java/packagename/parameter/SchemaParameter.hbs", packagePath() + File.separatorChar + "parameter", diff --git a/src/main/resources/java/src/main/java/packagename/parameter/QuerySerializer.hbs b/src/main/resources/java/src/main/java/packagename/parameter/QuerySerializer.hbs new file mode 100644 index 00000000000..be6ef093da1 --- /dev/null +++ b/src/main/resources/java/src/main/java/packagename/parameter/QuerySerializer.hbs @@ -0,0 +1,46 @@ +package {{{packageName}}}.parameter; + +import org.checkerframework.checker.nullness.qual.Nullable; + +import java.util.AbstractMap; +import java.util.LinkedHashMap; +import java.util.Map; + +public abstract class QuerySerializer { + private final Map parameters; + + protected QuerySerializer(Map parameters) { + this.parameters = parameters; + } + + public Map getQueryMap(Map inData) { + Map results = new LinkedHashMap<>(); + for (Map.Entry entry: inData.entrySet()) { + String mapKey = entry.getKey(); + @Nullable Object value = entry.getValue(); + @Nullable Parameter parameter = parameters.get(mapKey); + if (parameter == null) { + throw new RuntimeException("Invalid state, a parameter must exist for every key"); + } + AbstractMap.SimpleEntry serialized = parameter.serialize(inData); + results.put(serialized.getKey(), serialized.getValue()); + } + return results; + } + + public String serialize(Map queryMap) { + if (queryMap.isEmpty()) { + return ""; + } + String result = "?"; + for (String serializedValue: queryMap.values()) { + if (result.length() == 1) { + result = result + serializedValue; + } else { + result = result + "&" + serializedValue; + } + } + // TODO what if the style is not FORM? + return result; + } +} diff --git a/src/main/resources/java/src/main/java/packagename/paths/path/verb/Parameters.hbs b/src/main/resources/java/src/main/java/packagename/paths/path/verb/Parameters.hbs index 00be117d9e8..e6505b9f5e5 100644 --- a/src/main/resources/java/src/main/java/packagename/paths/path/verb/Parameters.hbs +++ b/src/main/resources/java/src/main/java/packagename/paths/path/verb/Parameters.hbs @@ -13,6 +13,9 @@ import {{packageName}}.{{subpackage}}.{{jsonPathPiece.pascalCase}}; {{/with}} {{#if headerParametersSchema}} import {{packageName}}.parameter.HeadersSerializer; + {{/if}} + {{#if queryParametersSchema}} +import {{packageName}}.parameter.QuerySerializer; {{/if}} {{#if cookieParametersSchema}} import {{packageName}}.parameter.CookieSerializer; @@ -44,20 +47,16 @@ public class {{jsonPathPiece.pascalCase}} { {{/if}} {{#if queryParametersSchema}} - public static class QueryParametersSerializer { - Map parameters; - + public static class QueryParametersSerializer extends QuerySerializer { public QueryParametersSerializer() { - parameters = Map.ofEntries( + super( + Map.ofEntries( {{#each queryParameters}} - new AbstractMap.SimpleEntry<>("{{{name}}}", new {{jsonPathPiece.pascalCase}}.{{jsonPathPiece.pascalCase}}1()){{#unless @last}},{{/unless}} + new AbstractMap.SimpleEntry<>("{{{name}}}", new {{jsonPathPiece.pascalCase}}.{{jsonPathPiece.pascalCase}}1()){{#unless @last}},{{/unless}} {{/each}} + ) ); } - - {{#with queryParametersSchema}} - // {{containerJsonPathPiece.pascalCase}} - {{/with}} } {{/if}} {{#if headerParametersSchema}} From ef5a3c5df8586d200272f8e993cf8443ee9f7c02 Mon Sep 17 00:00:00 2001 From: Justin Black Date: Tue, 5 Mar 2024 18:17:31 -0800 Subject: [PATCH 14/29] Fixes cookie serializer --- .../client/parameter/CookieSerializer.java | 4 ++-- .../src/main/java/packagename/parameter/CookieSerializer.hbs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/CookieSerializer.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/CookieSerializer.java index 51eab00e6ae..2fe7e7e56d2 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/CookieSerializer.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/CookieSerializer.java @@ -17,12 +17,12 @@ public String serialize(Map inData) { String result = ""; for (Map.Entry entry: inData.entrySet()) { String mapKey = entry.getKey(); - @Nullable Object value = entry.getValue(); @Nullable Parameter parameter = parameters.get(mapKey); if (parameter == null) { throw new RuntimeException("Invalid state, a parameter must exist for every key"); } - AbstractMap.SimpleEntry serialized = parameter.serialize(inData); + @Nullable Object value = entry.getValue(); + AbstractMap.SimpleEntry serialized = parameter.serialize(value); if (result.isEmpty()) { result = serialized.getValue(); } else { diff --git a/src/main/resources/java/src/main/java/packagename/parameter/CookieSerializer.hbs b/src/main/resources/java/src/main/java/packagename/parameter/CookieSerializer.hbs index 50440ab47e0..02c9b858bf4 100644 --- a/src/main/resources/java/src/main/java/packagename/parameter/CookieSerializer.hbs +++ b/src/main/resources/java/src/main/java/packagename/parameter/CookieSerializer.hbs @@ -16,12 +16,12 @@ public abstract class CookieSerializer { String result = ""; for (Map.Entry entry: inData.entrySet()) { String mapKey = entry.getKey(); - @Nullable Object value = entry.getValue(); @Nullable Parameter parameter = parameters.get(mapKey); if (parameter == null) { throw new RuntimeException("Invalid state, a parameter must exist for every key"); } - AbstractMap.SimpleEntry serialized = parameter.serialize(inData); + @Nullable Object value = entry.getValue(); + AbstractMap.SimpleEntry serialized = parameter.serialize(value); if (result.isEmpty()) { result = serialized.getValue(); } else { From ba1eb0906f862276e7cc76d540c9196642bf7fc8 Mon Sep 17 00:00:00 2001 From: Justin Black Date: Tue, 5 Mar 2024 21:39:24 -0800 Subject: [PATCH 15/29] Adds path parameters serializer --- .../petstore/java/.openapi-generator/FILES | 1 + .../client/parameter/PathSerializer.java | 29 +++++++++++++++++++ .../commonparamsubdir/delete/Parameters.java | 13 ++++----- .../commonparamsubdir/get/Parameters.java | 12 ++++---- .../commonparamsubdir/post/Parameters.java | 13 ++++----- .../client/paths/fake/delete/Parameters.java | 1 + .../client/paths/fake/get/Parameters.java | 1 + .../fakedeletecoffeeid/delete/Parameters.java | 12 ++++---- .../post/Parameters.java | 21 +++++++------- .../post/Parameters.java | 12 ++++---- .../paths/petpetid/delete/Parameters.java | 13 ++++----- .../client/paths/petpetid/get/Parameters.java | 12 ++++---- .../paths/petpetid/post/Parameters.java | 12 ++++---- .../petpetiduploadimage/post/Parameters.java | 12 ++++---- .../storeorderorderid/delete/Parameters.java | 12 ++++---- .../storeorderorderid/get/Parameters.java | 12 ++++---- .../paths/userusername/delete/Parameters.java | 12 ++++---- .../paths/userusername/get/Parameters.java | 12 ++++---- .../paths/userusername/put/Parameters.java | 12 ++++---- .../generators/JavaClientGenerator.java | 4 +++ .../packagename/parameter/PathSerializer.hbs | 29 +++++++++++++++++++ .../paths/path/verb/Parameters.hbs | 17 +++++------ 22 files changed, 156 insertions(+), 118 deletions(-) create mode 100644 samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/PathSerializer.java create mode 100644 src/main/resources/java/src/main/java/packagename/parameter/PathSerializer.hbs diff --git a/samples/client/petstore/java/.openapi-generator/FILES b/samples/client/petstore/java/.openapi-generator/FILES index 7c70ffb0300..878ca915447 100644 --- a/samples/client/petstore/java/.openapi-generator/FILES +++ b/samples/client/petstore/java/.openapi-generator/FILES @@ -563,6 +563,7 @@ src/main/java/org/openapijsonschematools/client/parameter/Parameter.java src/main/java/org/openapijsonschematools/client/parameter/ParameterBase.java src/main/java/org/openapijsonschematools/client/parameter/ParameterInType.java src/main/java/org/openapijsonschematools/client/parameter/ParameterStyle.java +src/main/java/org/openapijsonschematools/client/parameter/PathSerializer.java src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java src/main/java/org/openapijsonschematools/client/parameter/SchemaParameter.java src/main/java/org/openapijsonschematools/client/paths/anotherfakedummy/patch/RequestBody.java diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/PathSerializer.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/PathSerializer.java new file mode 100644 index 00000000000..5864f89c901 --- /dev/null +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/PathSerializer.java @@ -0,0 +1,29 @@ +package org.openapijsonschematools.client.parameter; + +import org.checkerframework.checker.nullness.qual.Nullable; + +import java.util.AbstractMap; +import java.util.Map; + +public abstract class PathSerializer { + private final Map parameters; + + protected PathSerializer(Map parameters) { + this.parameters = parameters; + } + + public String serialize(Map inData, String pathWithPlaceholders) { + String result = pathWithPlaceholders; + for (Map.Entry entry: inData.entrySet()) { + String mapKey = entry.getKey(); + @Nullable Parameter parameter = parameters.get(mapKey); + if (parameter == null) { + throw new RuntimeException("Invalid state, a parameter must exist for every key"); + } + @Nullable Object value = entry.getValue(); + AbstractMap.SimpleEntry serialized = parameter.serialize(value); + result = result.replace("{" + mapKey + "}", serialized.getValue()); + } + return result; + } +} diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/Parameters.java index b8f8c75d199..6e56a17214c 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/Parameters.java @@ -2,6 +2,7 @@ import org.openapijsonschematools.client.paths.commonparamsubdir.delete.parameters.Parameter0; import org.openapijsonschematools.client.paths.commonparamsubdir.delete.parameters.Parameter1; +import org.openapijsonschematools.client.parameter.PathSerializer; import org.openapijsonschematools.client.parameter.HeadersSerializer; import org.openapijsonschematools.client.parameter.Parameter; @@ -11,16 +12,14 @@ public class Parameters { - public static class PathParametersSerializer { - Map parameters; - + public static class PathParametersSerializer extends PathSerializer { public PathParametersSerializer() { - parameters = Map.ofEntries( - new AbstractMap.SimpleEntry<>("subDir", new Parameter1.Parameter11()) + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("subDir", new Parameter1.Parameter11()) + ) ); } - - // deserialize PathParameters } public static class HeaderParametersSerializer extends HeadersSerializer { diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/Parameters.java index d9a2d88ba09..d9650e21b38 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/Parameters.java @@ -11,16 +11,14 @@ public class Parameters { - public static class PathParametersSerializer { - Map parameters; - + public static class PathParametersSerializer extends PathSerializer { public PathParametersSerializer() { - parameters = Map.ofEntries( - new AbstractMap.SimpleEntry<>("subDir", new RouteParameter0.RouteParameter01()) + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("subDir", new RouteParameter0.RouteParameter01()) + ) ); } - - // deserialize PathParameters } public static class QueryParametersSerializer extends QuerySerializer { diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/Parameters.java index 981d46de542..e59bc095280 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/Parameters.java @@ -2,6 +2,7 @@ import org.openapijsonschematools.client.paths.commonparamsubdir.parameters.RouteParameter0; import org.openapijsonschematools.client.paths.commonparamsubdir.post.parameters.Parameter0; +import org.openapijsonschematools.client.parameter.PathSerializer; import org.openapijsonschematools.client.parameter.HeadersSerializer; import org.openapijsonschematools.client.parameter.Parameter; @@ -11,16 +12,14 @@ public class Parameters { - public static class PathParametersSerializer { - Map parameters; - + public static class PathParametersSerializer extends PathSerializer { public PathParametersSerializer() { - parameters = Map.ofEntries( - new AbstractMap.SimpleEntry<>("subDir", new RouteParameter0.RouteParameter01()) + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("subDir", new RouteParameter0.RouteParameter01()) + ) ); } - - // deserialize PathParameters } public static class HeaderParametersSerializer extends HeadersSerializer { diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/Parameters.java index 2b1575d4e46..7d4d44c9a7e 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/Parameters.java @@ -6,6 +6,7 @@ import org.openapijsonschematools.client.paths.fake.delete.parameters.Parameter3; import org.openapijsonschematools.client.paths.fake.delete.parameters.Parameter4; import org.openapijsonschematools.client.paths.fake.delete.parameters.Parameter5; +import org.openapijsonschematools.client.parameter.PathSerializer; import org.openapijsonschematools.client.parameter.HeadersSerializer; import org.openapijsonschematools.client.parameter.QuerySerializer; diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/Parameters.java index 998bfcd7554..cf102ad794c 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/Parameters.java @@ -6,6 +6,7 @@ import org.openapijsonschematools.client.paths.fake.get.parameters.Parameter3; import org.openapijsonschematools.client.paths.fake.get.parameters.Parameter4; import org.openapijsonschematools.client.paths.fake.get.parameters.Parameter5; +import org.openapijsonschematools.client.parameter.PathSerializer; import org.openapijsonschematools.client.parameter.HeadersSerializer; import org.openapijsonschematools.client.parameter.QuerySerializer; diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/Parameters.java index 09ff821286e..d01448b1fe6 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/Parameters.java @@ -9,15 +9,13 @@ public class Parameters { - public static class PathParametersSerializer { - Map parameters; - + public static class PathParametersSerializer extends PathSerializer { public PathParametersSerializer() { - parameters = Map.ofEntries( - new AbstractMap.SimpleEntry<>("id", new Parameter0.Parameter01()) + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("id", new Parameter0.Parameter01()) + ) ); } - - // deserialize PathParameters } } diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/Parameters.java index 85385b51f8b..231c4320b7e 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/Parameters.java @@ -19,6 +19,7 @@ import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.Parameter16; import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.Parameter17; import org.openapijsonschematools.client.paths.fakeparametercollisions1ababselfab.post.parameters.Parameter18; +import org.openapijsonschematools.client.parameter.PathSerializer; import org.openapijsonschematools.client.parameter.HeadersSerializer; import org.openapijsonschematools.client.parameter.QuerySerializer; import org.openapijsonschematools.client.parameter.CookieSerializer; @@ -30,20 +31,18 @@ public class Parameters { - public static class PathParametersSerializer { - Map parameters; - + public static class PathParametersSerializer extends PathSerializer { public PathParametersSerializer() { - parameters = Map.ofEntries( - new AbstractMap.SimpleEntry<>("1", new Parameter9.Parameter91()), - new AbstractMap.SimpleEntry<>("aB", new Parameter10.Parameter101()), - new AbstractMap.SimpleEntry<>("Ab", new Parameter11.Parameter111()), - new AbstractMap.SimpleEntry<>("self", new Parameter12.Parameter121()), - new AbstractMap.SimpleEntry<>("A-B", new Parameter13.Parameter131()) + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("1", new Parameter9.Parameter91()), + new AbstractMap.SimpleEntry<>("aB", new Parameter10.Parameter101()), + new AbstractMap.SimpleEntry<>("Ab", new Parameter11.Parameter111()), + new AbstractMap.SimpleEntry<>("self", new Parameter12.Parameter121()), + new AbstractMap.SimpleEntry<>("A-B", new Parameter13.Parameter131()) + ) ); } - - // deserialize PathParameters } public static class QueryParametersSerializer extends QuerySerializer { diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/Parameters.java index 1211fa1cdb4..76d50fedd04 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/Parameters.java @@ -9,15 +9,13 @@ public class Parameters { - public static class PathParametersSerializer { - Map parameters; - + public static class PathParametersSerializer extends PathSerializer { public PathParametersSerializer() { - parameters = Map.ofEntries( - new AbstractMap.SimpleEntry<>("petId", new Parameter0.Parameter01()) + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("petId", new Parameter0.Parameter01()) + ) ); } - - // deserialize PathParameters } } diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/Parameters.java index 470f2c6a62f..4f6df0ee40e 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/Parameters.java @@ -2,6 +2,7 @@ import org.openapijsonschematools.client.paths.petpetid.delete.parameters.Parameter0; import org.openapijsonschematools.client.paths.petpetid.delete.parameters.Parameter1; +import org.openapijsonschematools.client.parameter.PathSerializer; import org.openapijsonschematools.client.parameter.HeadersSerializer; import org.openapijsonschematools.client.parameter.Parameter; @@ -11,16 +12,14 @@ public class Parameters { - public static class PathParametersSerializer { - Map parameters; - + public static class PathParametersSerializer extends PathSerializer { public PathParametersSerializer() { - parameters = Map.ofEntries( - new AbstractMap.SimpleEntry<>("petId", new Parameter1.Parameter11()) + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("petId", new Parameter1.Parameter11()) + ) ); } - - // deserialize PathParameters } public static class HeaderParametersSerializer extends HeadersSerializer { diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/get/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/get/Parameters.java index 3e52ece171f..8c81de80a74 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/get/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/get/Parameters.java @@ -9,15 +9,13 @@ public class Parameters { - public static class PathParametersSerializer { - Map parameters; - + public static class PathParametersSerializer extends PathSerializer { public PathParametersSerializer() { - parameters = Map.ofEntries( - new AbstractMap.SimpleEntry<>("petId", new Parameter0.Parameter01()) + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("petId", new Parameter0.Parameter01()) + ) ); } - - // deserialize PathParameters } } diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/post/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/post/Parameters.java index 34616271416..ee8cf71b3ec 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/post/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/post/Parameters.java @@ -9,15 +9,13 @@ public class Parameters { - public static class PathParametersSerializer { - Map parameters; - + public static class PathParametersSerializer extends PathSerializer { public PathParametersSerializer() { - parameters = Map.ofEntries( - new AbstractMap.SimpleEntry<>("petId", new Parameter0.Parameter01()) + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("petId", new Parameter0.Parameter01()) + ) ); } - - // deserialize PathParameters } } diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/Parameters.java index a9a147216fd..0a16f341e27 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/Parameters.java @@ -9,15 +9,13 @@ public class Parameters { - public static class PathParametersSerializer { - Map parameters; - + public static class PathParametersSerializer extends PathSerializer { public PathParametersSerializer() { - parameters = Map.ofEntries( - new AbstractMap.SimpleEntry<>("petId", new Parameter0.Parameter01()) + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("petId", new Parameter0.Parameter01()) + ) ); } - - // deserialize PathParameters } } diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/Parameters.java index 12ead8e3ff5..596638633d5 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/Parameters.java @@ -9,15 +9,13 @@ public class Parameters { - public static class PathParametersSerializer { - Map parameters; - + public static class PathParametersSerializer extends PathSerializer { public PathParametersSerializer() { - parameters = Map.ofEntries( - new AbstractMap.SimpleEntry<>("order_id", new Parameter0.Parameter01()) + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("order_id", new Parameter0.Parameter01()) + ) ); } - - // deserialize PathParameters } } diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/Parameters.java index 9d1d1aa38d6..4b3b1e3c48e 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/Parameters.java @@ -9,15 +9,13 @@ public class Parameters { - public static class PathParametersSerializer { - Map parameters; - + public static class PathParametersSerializer extends PathSerializer { public PathParametersSerializer() { - parameters = Map.ofEntries( - new AbstractMap.SimpleEntry<>("order_id", new Parameter0.Parameter01()) + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("order_id", new Parameter0.Parameter01()) + ) ); } - - // deserialize PathParameters } } diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/delete/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/delete/Parameters.java index adef2172ba6..1a5f3c4740c 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/delete/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/delete/Parameters.java @@ -9,15 +9,13 @@ public class Parameters { - public static class PathParametersSerializer { - Map parameters; - + public static class PathParametersSerializer extends PathSerializer { public PathParametersSerializer() { - parameters = Map.ofEntries( - new AbstractMap.SimpleEntry<>("", new Parameter0.Parameter01()) + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("", new Parameter0.Parameter01()) + ) ); } - - // deserialize PathParameters } } diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/get/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/get/Parameters.java index 354dbbfdf08..f229cd307de 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/get/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/get/Parameters.java @@ -9,15 +9,13 @@ public class Parameters { - public static class PathParametersSerializer { - Map parameters; - + public static class PathParametersSerializer extends PathSerializer { public PathParametersSerializer() { - parameters = Map.ofEntries( - new AbstractMap.SimpleEntry<>("", new Parameter0.Parameter01()) + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("", new Parameter0.Parameter01()) + ) ); } - - // deserialize PathParameters } } diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/put/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/put/Parameters.java index eabf12fe227..5a849bf8cd3 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/put/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/put/Parameters.java @@ -9,15 +9,13 @@ public class Parameters { - public static class PathParametersSerializer { - Map parameters; - + public static class PathParametersSerializer extends PathSerializer { public PathParametersSerializer() { - parameters = Map.ofEntries( - new AbstractMap.SimpleEntry<>("", new Parameter0.Parameter01()) + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("", new Parameter0.Parameter01()) + ) ); } - - // deserialize PathParameters } } diff --git a/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java b/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java index 3f2248d2e57..32016d7ee19 100644 --- a/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java +++ b/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java @@ -853,6 +853,10 @@ public void processOpts() { "src/main/java/packagename/parameter/ParameterStyle.hbs", packagePath() + File.separatorChar + "parameter", "ParameterStyle.java")); + supportingFiles.add(new SupportingFile( + "src/main/java/packagename/parameter/PathSerializer.hbs", + packagePath() + File.separatorChar + "parameter", + "PathSerializer.java")); supportingFiles.add(new SupportingFile( "src/main/java/packagename/parameter/QuerySerializer.hbs", packagePath() + File.separatorChar + "parameter", diff --git a/src/main/resources/java/src/main/java/packagename/parameter/PathSerializer.hbs b/src/main/resources/java/src/main/java/packagename/parameter/PathSerializer.hbs new file mode 100644 index 00000000000..690665a90bf --- /dev/null +++ b/src/main/resources/java/src/main/java/packagename/parameter/PathSerializer.hbs @@ -0,0 +1,29 @@ +package {{{packageName}}}.parameter; + +import org.checkerframework.checker.nullness.qual.Nullable; + +import java.util.AbstractMap; +import java.util.Map; + +public abstract class PathSerializer { + private final Map parameters; + + protected PathSerializer(Map parameters) { + this.parameters = parameters; + } + + public String serialize(Map inData, String pathWithPlaceholders) { + String result = pathWithPlaceholders; + for (Map.Entry entry: inData.entrySet()) { + String mapKey = entry.getKey(); + @Nullable Parameter parameter = parameters.get(mapKey); + if (parameter == null) { + throw new RuntimeException("Invalid state, a parameter must exist for every key"); + } + @Nullable Object value = entry.getValue(); + AbstractMap.SimpleEntry serialized = parameter.serialize(value); + result = result.replace("{" + mapKey + "}", serialized.getValue()); + } + return result; + } +} diff --git a/src/main/resources/java/src/main/java/packagename/paths/path/verb/Parameters.hbs b/src/main/resources/java/src/main/java/packagename/paths/path/verb/Parameters.hbs index e6505b9f5e5..81643c30c95 100644 --- a/src/main/resources/java/src/main/java/packagename/paths/path/verb/Parameters.hbs +++ b/src/main/resources/java/src/main/java/packagename/paths/path/verb/Parameters.hbs @@ -12,6 +12,9 @@ import {{packageName}}.{{subpackage}}.{{jsonPathPiece.pascalCase}}; {{/each}} {{/with}} {{#if headerParametersSchema}} +import {{packageName}}.parameter.PathSerializer; + {{/if}} + {{#if headerParametersSchema}} import {{packageName}}.parameter.HeadersSerializer; {{/if}} {{#if queryParametersSchema}} @@ -29,20 +32,16 @@ import java.util.AbstractMap; public class {{jsonPathPiece.pascalCase}} { {{#if pathParametersSchema}} - public static class PathParametersSerializer { - Map parameters; - + public static class PathParametersSerializer extends PathSerializer { public PathParametersSerializer() { - parameters = Map.ofEntries( + super( + Map.ofEntries( {{#each pathParameters}} - new AbstractMap.SimpleEntry<>("{{{name}}}", new {{jsonPathPiece.pascalCase}}.{{jsonPathPiece.pascalCase}}1()){{#unless @last}},{{/unless}} + new AbstractMap.SimpleEntry<>("{{{name}}}", new {{jsonPathPiece.pascalCase}}.{{jsonPathPiece.pascalCase}}1()){{#unless @last}},{{/unless}} {{/each}} + ) ); } - - {{#with pathParametersSchema}} - // deserialize {{containerJsonPathPiece.pascalCase}} - {{/with}} } {{/if}} {{#if queryParametersSchema}} From 1cfdba357794e53063c1cafe452cfaaf93ab33aa Mon Sep 17 00:00:00 2001 From: Justin Black Date: Wed, 6 Mar 2024 12:40:04 -0800 Subject: [PATCH 16/29] Adds QuerySerializerTest --- ...omponentRefSchemaStringWithValidation.java | 1 - .../client/parameter/ContentParameter.java | 1 - .../client/parameter/ParameterBase.java | 1 - .../client/parameter/QuerySerializer.java | 11 ++-- .../client/parameter/SchemaParameter.java | 1 - .../commonparamsubdir/delete/Parameters.java | 2 - .../commonparamsubdir/get/Parameters.java | 3 +- .../commonparamsubdir/post/Parameters.java | 2 - .../client/paths/fake/delete/Parameters.java | 3 -- .../client/paths/fake/get/Parameters.java | 3 -- .../put/Parameters.java | 2 - .../put/Parameters.java | 2 - .../fakedeletecoffeeid/delete/Parameters.java | 3 +- .../post/Parameters.java | 2 - .../paths/fakeobjinquery/get/Parameters.java | 2 - .../post/Parameters.java | 2 - .../post/Parameters.java | 3 +- .../get/Parameters.java | 2 - .../get/parameters/Parameter0.java | 1 - .../fakerefobjinquery/get/Parameters.java | 2 - .../put/Parameters.java | 2 - .../paths/petfindbystatus/get/Parameters.java | 2 - .../paths/petfindbytags/get/Parameters.java | 2 - .../paths/petpetid/delete/Parameters.java | 2 - .../client/paths/petpetid/get/Parameters.java | 3 +- .../paths/petpetid/post/Parameters.java | 3 +- .../petpetiduploadimage/post/Parameters.java | 3 +- .../storeorderorderid/delete/Parameters.java | 3 +- .../storeorderorderid/get/Parameters.java | 3 +- .../paths/userlogin/get/Parameters.java | 2 - .../paths/userusername/delete/Parameters.java | 3 +- .../paths/userusername/get/Parameters.java | 3 +- .../paths/userusername/put/Parameters.java | 3 +- .../client/parameter/QuerySerializerTest.java | 51 +++++++++++++++++++ .../SchemaNonQueryParameterTest.java | 2 - .../parameter/SchemaQueryParameterTest.java | 2 - .../generators/JavaClientGenerator.java | 4 ++ .../components/parameter/Parameter.hbs | 1 - .../parameter/ContentParameter.hbs | 2 +- .../java/packagename/parameter/Parameter.hbs | 1 - .../packagename/parameter/ParameterBase.hbs | 1 - .../packagename/parameter/QuerySerializer.hbs | 11 ++-- .../packagename/parameter/SchemaParameter.hbs | 2 +- .../paths/path/verb/Parameters.hbs | 4 +- .../parameter/QuerySerializerTest.hbs | 51 +++++++++++++++++++ .../parameter/SchemaNonQueryParameterTest.hbs | 2 - .../parameter/SchemaQueryParameterTest.hbs | 2 - 47 files changed, 132 insertions(+), 87 deletions(-) create mode 100644 samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java create mode 100644 src/main/resources/java/src/test/java/packagename/parameter/QuerySerializerTest.hbs diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/components/parameters/ComponentRefSchemaStringWithValidation.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/components/parameters/ComponentRefSchemaStringWithValidation.java index e057cd5bd17..be499256cb1 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/components/parameters/ComponentRefSchemaStringWithValidation.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/components/parameters/ComponentRefSchemaStringWithValidation.java @@ -2,7 +2,6 @@ import org.openapijsonschematools.client.parameter.ParameterInType; import org.openapijsonschematools.client.parameter.ContentParameter; -import org.openapijsonschematools.client.parameter.ContentParameter; import org.openapijsonschematools.client.mediatype.MediaType; import org.openapijsonschematools.client.components.parameters.componentrefschemastringwithvalidation.content.applicationjson.ApplicationjsonSchema; diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ContentParameter.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ContentParameter.java index 3cf2e5a5111..3219ff718de 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ContentParameter.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ContentParameter.java @@ -1,7 +1,6 @@ package org.openapijsonschematools.client.parameter; import org.checkerframework.checker.nullness.qual.Nullable; -import org.openapijsonschematools.client.configurations.SchemaConfiguration; import org.openapijsonschematools.client.contenttype.ContentTypeDetector; import org.openapijsonschematools.client.contenttype.ContentTypeSerializer; import org.openapijsonschematools.client.mediatype.MediaType; diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ParameterBase.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ParameterBase.java index 601767512be..8d79129b765 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ParameterBase.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ParameterBase.java @@ -2,7 +2,6 @@ import org.checkerframework.checker.nullness.qual.Nullable; import org.openapijsonschematools.client.header.HeaderBase; -import org.openapijsonschematools.client.header.PrefixSeparatorIterator; public class ParameterBase extends HeaderBase { public final String name; diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java index e9be78ed494..91ea0b041bb 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java @@ -3,8 +3,9 @@ import org.checkerframework.checker.nullness.qual.Nullable; import java.util.AbstractMap; -import java.util.LinkedHashMap; +import java.util.HashMap; import java.util.Map; +import java.util.TreeMap; public abstract class QuerySerializer { private final Map parameters; @@ -14,18 +15,18 @@ protected QuerySerializer(Map parameters) { } public Map getQueryMap(Map inData) { - Map results = new LinkedHashMap<>(); + Map results = new HashMap<>(); for (Map.Entry entry: inData.entrySet()) { String mapKey = entry.getKey(); - @Nullable Object value = entry.getValue(); @Nullable Parameter parameter = parameters.get(mapKey); if (parameter == null) { throw new RuntimeException("Invalid state, a parameter must exist for every key"); } - AbstractMap.SimpleEntry serialized = parameter.serialize(inData); + @Nullable Object value = entry.getValue(); + AbstractMap.SimpleEntry serialized = parameter.serialize(value); results.put(serialized.getKey(), serialized.getValue()); } - return results; + return new TreeMap<>(results); } public String serialize(Map queryMap) { diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaParameter.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaParameter.java index deb0b7a71b0..c6ae5d280c4 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaParameter.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaParameter.java @@ -1,7 +1,6 @@ package org.openapijsonschematools.client.parameter; import org.checkerframework.checker.nullness.qual.Nullable; -import org.openapijsonschematools.client.configurations.SchemaConfiguration; import org.openapijsonschematools.client.header.StyleSerializer; import org.openapijsonschematools.client.schemas.validation.JsonSchema; diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/Parameters.java index 6e56a17214c..361ce042d3a 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/delete/Parameters.java @@ -5,8 +5,6 @@ import org.openapijsonschematools.client.parameter.PathSerializer; import org.openapijsonschematools.client.parameter.HeadersSerializer; -import org.openapijsonschematools.client.parameter.Parameter; - import java.util.Map; import java.util.AbstractMap; diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/Parameters.java index d9650e21b38..a06b3e8445a 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/get/Parameters.java @@ -2,10 +2,9 @@ import org.openapijsonschematools.client.paths.commonparamsubdir.parameters.RouteParameter0; import org.openapijsonschematools.client.paths.commonparamsubdir.get.parameters.Parameter0; +import org.openapijsonschematools.client.parameter.PathSerializer; import org.openapijsonschematools.client.parameter.QuerySerializer; -import org.openapijsonschematools.client.parameter.Parameter; - import java.util.Map; import java.util.AbstractMap; diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/Parameters.java index e59bc095280..22e2acd3b26 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/commonparamsubdir/post/Parameters.java @@ -5,8 +5,6 @@ import org.openapijsonschematools.client.parameter.PathSerializer; import org.openapijsonschematools.client.parameter.HeadersSerializer; -import org.openapijsonschematools.client.parameter.Parameter; - import java.util.Map; import java.util.AbstractMap; diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/Parameters.java index 7d4d44c9a7e..ba70280cca5 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/delete/Parameters.java @@ -6,12 +6,9 @@ import org.openapijsonschematools.client.paths.fake.delete.parameters.Parameter3; import org.openapijsonschematools.client.paths.fake.delete.parameters.Parameter4; import org.openapijsonschematools.client.paths.fake.delete.parameters.Parameter5; -import org.openapijsonschematools.client.parameter.PathSerializer; import org.openapijsonschematools.client.parameter.HeadersSerializer; import org.openapijsonschematools.client.parameter.QuerySerializer; -import org.openapijsonschematools.client.parameter.Parameter; - import java.util.Map; import java.util.AbstractMap; diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/Parameters.java index cf102ad794c..c5b3e142015 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fake/get/Parameters.java @@ -6,12 +6,9 @@ import org.openapijsonschematools.client.paths.fake.get.parameters.Parameter3; import org.openapijsonschematools.client.paths.fake.get.parameters.Parameter4; import org.openapijsonschematools.client.paths.fake.get.parameters.Parameter5; -import org.openapijsonschematools.client.parameter.PathSerializer; import org.openapijsonschematools.client.parameter.HeadersSerializer; import org.openapijsonschematools.client.parameter.QuerySerializer; -import org.openapijsonschematools.client.parameter.Parameter; - import java.util.Map; import java.util.AbstractMap; diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/Parameters.java index d412b55e989..d796a88eb1d 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakebodywithqueryparams/put/Parameters.java @@ -3,8 +3,6 @@ import org.openapijsonschematools.client.paths.fakebodywithqueryparams.put.parameters.Parameter0; import org.openapijsonschematools.client.parameter.QuerySerializer; -import org.openapijsonschematools.client.parameter.Parameter; - import java.util.Map; import java.util.AbstractMap; diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/Parameters.java index 5add1185084..e153b47414a 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakecasesensitiveparams/put/Parameters.java @@ -5,8 +5,6 @@ import org.openapijsonschematools.client.paths.fakecasesensitiveparams.put.parameters.Parameter2; import org.openapijsonschematools.client.parameter.QuerySerializer; -import org.openapijsonschematools.client.parameter.Parameter; - import java.util.Map; import java.util.AbstractMap; diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/Parameters.java index d01448b1fe6..6e068eebfbc 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakedeletecoffeeid/delete/Parameters.java @@ -1,8 +1,7 @@ package org.openapijsonschematools.client.paths.fakedeletecoffeeid.delete; import org.openapijsonschematools.client.paths.fakedeletecoffeeid.delete.parameters.Parameter0; - -import org.openapijsonschematools.client.parameter.Parameter; +import org.openapijsonschematools.client.parameter.PathSerializer; import java.util.Map; import java.util.AbstractMap; diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/Parameters.java index 10a4bccdf22..358e05fde21 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeinlinecomposition/post/Parameters.java @@ -4,8 +4,6 @@ import org.openapijsonschematools.client.paths.fakeinlinecomposition.post.parameters.Parameter1; import org.openapijsonschematools.client.parameter.QuerySerializer; -import org.openapijsonschematools.client.parameter.Parameter; - import java.util.Map; import java.util.AbstractMap; diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeobjinquery/get/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeobjinquery/get/Parameters.java index ecb0e013401..58e787df688 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeobjinquery/get/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeobjinquery/get/Parameters.java @@ -3,8 +3,6 @@ import org.openapijsonschematools.client.paths.fakeobjinquery.get.parameters.Parameter0; import org.openapijsonschematools.client.parameter.QuerySerializer; -import org.openapijsonschematools.client.parameter.Parameter; - import java.util.Map; import java.util.AbstractMap; diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/Parameters.java index 231c4320b7e..6b1d6be5242 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakeparametercollisions1ababselfab/post/Parameters.java @@ -24,8 +24,6 @@ import org.openapijsonschematools.client.parameter.QuerySerializer; import org.openapijsonschematools.client.parameter.CookieSerializer; -import org.openapijsonschematools.client.parameter.Parameter; - import java.util.Map; import java.util.AbstractMap; diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/Parameters.java index 76d50fedd04..69a6d736bc6 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakepetiduploadimagewithrequiredfile/post/Parameters.java @@ -1,8 +1,7 @@ package org.openapijsonschematools.client.paths.fakepetiduploadimagewithrequiredfile.post; import org.openapijsonschematools.client.paths.fakepetiduploadimagewithrequiredfile.post.parameters.Parameter0; - -import org.openapijsonschematools.client.parameter.Parameter; +import org.openapijsonschematools.client.parameter.PathSerializer; import java.util.Map; import java.util.AbstractMap; diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/Parameters.java index 51594e200f4..713b9540cea 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/Parameters.java @@ -3,8 +3,6 @@ import org.openapijsonschematools.client.paths.fakequeryparamwithjsoncontenttype.get.parameters.Parameter0; import org.openapijsonschematools.client.parameter.QuerySerializer; -import org.openapijsonschematools.client.parameter.Parameter; - import java.util.Map; import java.util.AbstractMap; diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/parameters/Parameter0.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/parameters/Parameter0.java index cfc3b2c5a83..0195dc24e67 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/parameters/Parameter0.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakequeryparamwithjsoncontenttype/get/parameters/Parameter0.java @@ -2,7 +2,6 @@ import org.openapijsonschematools.client.parameter.ParameterInType; import org.openapijsonschematools.client.parameter.ContentParameter; -import org.openapijsonschematools.client.parameter.ContentParameter; import org.openapijsonschematools.client.mediatype.MediaType; import org.openapijsonschematools.client.paths.fakequeryparamwithjsoncontenttype.get.parameters.parameter0.content.applicationjson.Schema0; diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakerefobjinquery/get/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakerefobjinquery/get/Parameters.java index 3d8678dbc59..c237004cd7e 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakerefobjinquery/get/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/fakerefobjinquery/get/Parameters.java @@ -3,8 +3,6 @@ import org.openapijsonschematools.client.paths.fakerefobjinquery.get.parameters.Parameter0; import org.openapijsonschematools.client.parameter.QuerySerializer; -import org.openapijsonschematools.client.parameter.Parameter; - import java.util.Map; import java.util.AbstractMap; diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/Parameters.java index e8502b32326..447f578a330 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/faketestqueryparamters/put/Parameters.java @@ -8,8 +8,6 @@ import org.openapijsonschematools.client.paths.faketestqueryparamters.put.parameters.Parameter5; import org.openapijsonschematools.client.parameter.QuerySerializer; -import org.openapijsonschematools.client.parameter.Parameter; - import java.util.Map; import java.util.AbstractMap; diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/Parameters.java index 649ed442d23..e1ac9de45c5 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbystatus/get/Parameters.java @@ -3,8 +3,6 @@ import org.openapijsonschematools.client.paths.petfindbystatus.get.parameters.Parameter0; import org.openapijsonschematools.client.parameter.QuerySerializer; -import org.openapijsonschematools.client.parameter.Parameter; - import java.util.Map; import java.util.AbstractMap; diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/Parameters.java index 767237f495a..5974cc73733 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petfindbytags/get/Parameters.java @@ -3,8 +3,6 @@ import org.openapijsonschematools.client.paths.petfindbytags.get.parameters.Parameter0; import org.openapijsonschematools.client.parameter.QuerySerializer; -import org.openapijsonschematools.client.parameter.Parameter; - import java.util.Map; import java.util.AbstractMap; diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/Parameters.java index 4f6df0ee40e..d8775b677aa 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/delete/Parameters.java @@ -5,8 +5,6 @@ import org.openapijsonschematools.client.parameter.PathSerializer; import org.openapijsonschematools.client.parameter.HeadersSerializer; -import org.openapijsonschematools.client.parameter.Parameter; - import java.util.Map; import java.util.AbstractMap; diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/get/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/get/Parameters.java index 8c81de80a74..f5e28725665 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/get/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/get/Parameters.java @@ -1,8 +1,7 @@ package org.openapijsonschematools.client.paths.petpetid.get; import org.openapijsonschematools.client.paths.petpetid.get.parameters.Parameter0; - -import org.openapijsonschematools.client.parameter.Parameter; +import org.openapijsonschematools.client.parameter.PathSerializer; import java.util.Map; import java.util.AbstractMap; diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/post/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/post/Parameters.java index ee8cf71b3ec..04772587103 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/post/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetid/post/Parameters.java @@ -1,8 +1,7 @@ package org.openapijsonschematools.client.paths.petpetid.post; import org.openapijsonschematools.client.paths.petpetid.post.parameters.Parameter0; - -import org.openapijsonschematools.client.parameter.Parameter; +import org.openapijsonschematools.client.parameter.PathSerializer; import java.util.Map; import java.util.AbstractMap; diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/Parameters.java index 0a16f341e27..739ed320360 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/petpetiduploadimage/post/Parameters.java @@ -1,8 +1,7 @@ package org.openapijsonschematools.client.paths.petpetiduploadimage.post; import org.openapijsonschematools.client.paths.petpetiduploadimage.post.parameters.Parameter0; - -import org.openapijsonschematools.client.parameter.Parameter; +import org.openapijsonschematools.client.parameter.PathSerializer; import java.util.Map; import java.util.AbstractMap; diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/Parameters.java index 596638633d5..be0db492e8e 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/delete/Parameters.java @@ -1,8 +1,7 @@ package org.openapijsonschematools.client.paths.storeorderorderid.delete; import org.openapijsonschematools.client.paths.storeorderorderid.delete.parameters.Parameter0; - -import org.openapijsonschematools.client.parameter.Parameter; +import org.openapijsonschematools.client.parameter.PathSerializer; import java.util.Map; import java.util.AbstractMap; diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/Parameters.java index 4b3b1e3c48e..5e6d9bb0b5d 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/storeorderorderid/get/Parameters.java @@ -1,8 +1,7 @@ package org.openapijsonschematools.client.paths.storeorderorderid.get; import org.openapijsonschematools.client.paths.storeorderorderid.get.parameters.Parameter0; - -import org.openapijsonschematools.client.parameter.Parameter; +import org.openapijsonschematools.client.parameter.PathSerializer; import java.util.Map; import java.util.AbstractMap; diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userlogin/get/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userlogin/get/Parameters.java index 139ca4ec557..0e29f41858d 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userlogin/get/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userlogin/get/Parameters.java @@ -4,8 +4,6 @@ import org.openapijsonschematools.client.paths.userlogin.get.parameters.Parameter1; import org.openapijsonschematools.client.parameter.QuerySerializer; -import org.openapijsonschematools.client.parameter.Parameter; - import java.util.Map; import java.util.AbstractMap; diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/delete/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/delete/Parameters.java index 1a5f3c4740c..82077485af4 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/delete/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/delete/Parameters.java @@ -1,8 +1,7 @@ package org.openapijsonschematools.client.paths.userusername.delete; import org.openapijsonschematools.client.paths.userusername.delete.parameters.Parameter0; - -import org.openapijsonschematools.client.parameter.Parameter; +import org.openapijsonschematools.client.parameter.PathSerializer; import java.util.Map; import java.util.AbstractMap; diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/get/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/get/Parameters.java index f229cd307de..a8b83ba76ec 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/get/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/get/Parameters.java @@ -1,8 +1,7 @@ package org.openapijsonschematools.client.paths.userusername.get; import org.openapijsonschematools.client.paths.userusername.get.parameters.Parameter0; - -import org.openapijsonschematools.client.parameter.Parameter; +import org.openapijsonschematools.client.parameter.PathSerializer; import java.util.Map; import java.util.AbstractMap; diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/put/Parameters.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/put/Parameters.java index 5a849bf8cd3..8ccb7ecf8e6 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/put/Parameters.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/paths/userusername/put/Parameters.java @@ -1,8 +1,7 @@ package org.openapijsonschematools.client.paths.userusername.put; import org.openapijsonschematools.client.paths.userusername.put.parameters.Parameter0; - -import org.openapijsonschematools.client.parameter.Parameter; +import org.openapijsonschematools.client.parameter.PathSerializer; import java.util.Map; import java.util.AbstractMap; diff --git a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java new file mode 100644 index 00000000000..ed5aae7e580 --- /dev/null +++ b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java @@ -0,0 +1,51 @@ +package org.openapijsonschematools.client.parameter; + +import org.junit.Assert; +import org.junit.Test; +import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; + +import java.util.AbstractMap; +import java.util.Map; + +public class QuerySerializerTest { + public static class Param1QueryParameter extends SchemaParameter { + public Param1QueryParameter() { + super("param1", ParameterInType.QUERY, true, null, null, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); + } + } + + public static class Param2QueryParameter extends SchemaParameter { + public Param2QueryParameter() { + super("param2", ParameterInType.QUERY, true, null, null, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); + } + } + + public static class QueryParametersSerializer extends QuerySerializer { + protected QueryParametersSerializer() { + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", new Param1QueryParameter()), + new AbstractMap.SimpleEntry<>("param2", new Param2QueryParameter()) + ) + ); + } + } + + @Test + public void testSerialization() { + Map inData = Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", "a"), + new AbstractMap.SimpleEntry<>("param2", 3.14d) + ); + var serializer = new QueryParametersSerializer(); + var queryMap = serializer.getQueryMap(inData); + Map expectedQueryMap = Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", "param1=a"), + new AbstractMap.SimpleEntry<>("param2", "param2=3.14") + ); + Assert.assertEquals(expectedQueryMap, queryMap); + String query = serializer.serialize(queryMap); + String expectedQuery = "?param1=a¶m2=3.14"; + Assert.assertEquals(expectedQuery, query); + } +} \ No newline at end of file diff --git a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java index 679811c3644..abca0493c0d 100644 --- a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java +++ b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java @@ -3,8 +3,6 @@ import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; -import org.openapijsonschematools.client.configurations.JsonSchemaKeywordFlags; -import org.openapijsonschematools.client.configurations.SchemaConfiguration; import org.openapijsonschematools.client.exceptions.InvalidTypeException; import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; diff --git a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java index d3a389add63..c1a720b094f 100644 --- a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java +++ b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java @@ -3,8 +3,6 @@ import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; -import org.openapijsonschematools.client.configurations.JsonSchemaKeywordFlags; -import org.openapijsonschematools.client.configurations.SchemaConfiguration; import org.openapijsonschematools.client.exceptions.InvalidTypeException; import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; diff --git a/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java b/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java index 32016d7ee19..b381b1d683b 100644 --- a/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java +++ b/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java @@ -865,6 +865,10 @@ public void processOpts() { "src/main/java/packagename/parameter/SchemaParameter.hbs", packagePath() + File.separatorChar + "parameter", "SchemaParameter.java")); + supportingFiles.add(new SupportingFile( + "src/test/java/packagename/parameter/QuerySerializerTest.hbs", + testPackagePath() + File.separatorChar + "parameter", + "QuerySerializerTest.java")); supportingFiles.add(new SupportingFile( "src/test/java/packagename/parameter/SchemaNonQueryParameterTest.hbs", testPackagePath() + File.separatorChar + "parameter", diff --git a/src/main/resources/java/src/main/java/packagename/components/parameter/Parameter.hbs b/src/main/resources/java/src/main/java/packagename/components/parameter/Parameter.hbs index 14115fe45aa..690e0bb9160 100644 --- a/src/main/resources/java/src/main/java/packagename/components/parameter/Parameter.hbs +++ b/src/main/resources/java/src/main/java/packagename/components/parameter/Parameter.hbs @@ -30,7 +30,6 @@ import {{{packageName}}}.{{subpackage}}.{{containerJsonPathPiece.pascalCase}}; {{/if}} {{#if content}} import {{packageName}}.parameter.ContentParameter; -import {{packageName}}.parameter.ContentParameter; import {{packageName}}.mediatype.MediaType; {{#each content}} {{#with schema}} diff --git a/src/main/resources/java/src/main/java/packagename/parameter/ContentParameter.hbs b/src/main/resources/java/src/main/java/packagename/parameter/ContentParameter.hbs index f117a9801ff..7c59ecc53b0 100644 --- a/src/main/resources/java/src/main/java/packagename/parameter/ContentParameter.hbs +++ b/src/main/resources/java/src/main/java/packagename/parameter/ContentParameter.hbs @@ -1,7 +1,6 @@ package {{{packageName}}}.parameter; import org.checkerframework.checker.nullness.qual.Nullable; -import {{{packageName}}}.configurations.SchemaConfiguration; import {{{packageName}}}.contenttype.ContentTypeDetector; import {{{packageName}}}.contenttype.ContentTypeSerializer; import {{{packageName}}}.mediatype.MediaType; @@ -17,6 +16,7 @@ public class ContentParameter extends ParameterBase implements Parameter { this.content = content; } + @Override public AbstractMap.SimpleEntry serialize(@Nullable Object inData) { for (Map.Entry> entry: content.entrySet()) { String contentType = entry.getKey(); diff --git a/src/main/resources/java/src/main/java/packagename/parameter/Parameter.hbs b/src/main/resources/java/src/main/java/packagename/parameter/Parameter.hbs index 073cf111043..d188c0babf0 100644 --- a/src/main/resources/java/src/main/java/packagename/parameter/Parameter.hbs +++ b/src/main/resources/java/src/main/java/packagename/parameter/Parameter.hbs @@ -1,7 +1,6 @@ package {{{packageName}}}.parameter; import org.checkerframework.checker.nullness.qual.Nullable; -import {{{packageName}}}.configurations.SchemaConfiguration; import java.util.AbstractMap; diff --git a/src/main/resources/java/src/main/java/packagename/parameter/ParameterBase.hbs b/src/main/resources/java/src/main/java/packagename/parameter/ParameterBase.hbs index 40f9bf46c3d..65f1feafa18 100644 --- a/src/main/resources/java/src/main/java/packagename/parameter/ParameterBase.hbs +++ b/src/main/resources/java/src/main/java/packagename/parameter/ParameterBase.hbs @@ -2,7 +2,6 @@ package {{{packageName}}}.parameter; import org.checkerframework.checker.nullness.qual.Nullable; import {{{packageName}}}.header.HeaderBase; -import {{{packageName}}}.header.PrefixSeparatorIterator; public class ParameterBase extends HeaderBase { public final String name; diff --git a/src/main/resources/java/src/main/java/packagename/parameter/QuerySerializer.hbs b/src/main/resources/java/src/main/java/packagename/parameter/QuerySerializer.hbs index be6ef093da1..870a79804b6 100644 --- a/src/main/resources/java/src/main/java/packagename/parameter/QuerySerializer.hbs +++ b/src/main/resources/java/src/main/java/packagename/parameter/QuerySerializer.hbs @@ -3,8 +3,9 @@ package {{{packageName}}}.parameter; import org.checkerframework.checker.nullness.qual.Nullable; import java.util.AbstractMap; -import java.util.LinkedHashMap; +import java.util.HashMap; import java.util.Map; +import java.util.TreeMap; public abstract class QuerySerializer { private final Map parameters; @@ -14,18 +15,18 @@ public abstract class QuerySerializer { } public Map getQueryMap(Map inData) { - Map results = new LinkedHashMap<>(); + Map results = new HashMap<>(); for (Map.Entry entry: inData.entrySet()) { String mapKey = entry.getKey(); - @Nullable Object value = entry.getValue(); @Nullable Parameter parameter = parameters.get(mapKey); if (parameter == null) { throw new RuntimeException("Invalid state, a parameter must exist for every key"); } - AbstractMap.SimpleEntry serialized = parameter.serialize(inData); + @Nullable Object value = entry.getValue(); + AbstractMap.SimpleEntry serialized = parameter.serialize(value); results.put(serialized.getKey(), serialized.getValue()); } - return results; + return new TreeMap<>(results); } public String serialize(Map queryMap) { diff --git a/src/main/resources/java/src/main/java/packagename/parameter/SchemaParameter.hbs b/src/main/resources/java/src/main/java/packagename/parameter/SchemaParameter.hbs index 34b3213da0b..210d5a7909b 100644 --- a/src/main/resources/java/src/main/java/packagename/parameter/SchemaParameter.hbs +++ b/src/main/resources/java/src/main/java/packagename/parameter/SchemaParameter.hbs @@ -1,7 +1,6 @@ package {{{packageName}}}.parameter; import org.checkerframework.checker.nullness.qual.Nullable; -import {{{packageName}}}.configurations.SchemaConfiguration; import {{{packageName}}}.header.StyleSerializer; import {{{packageName}}}.schemas.validation.JsonSchema; @@ -26,6 +25,7 @@ public class SchemaParameter extends ParameterBase implements Parameter { return ParameterStyle.SIMPLE; } + @Override public AbstractMap.SimpleEntry serialize(@Nullable Object inData) { ParameterStyle usedStyle = getStyle(); boolean percentEncode = inType == ParameterInType.QUERY || inType == ParameterInType.PATH; diff --git a/src/main/resources/java/src/main/java/packagename/paths/path/verb/Parameters.hbs b/src/main/resources/java/src/main/java/packagename/paths/path/verb/Parameters.hbs index 81643c30c95..19321b15ea4 100644 --- a/src/main/resources/java/src/main/java/packagename/paths/path/verb/Parameters.hbs +++ b/src/main/resources/java/src/main/java/packagename/paths/path/verb/Parameters.hbs @@ -11,7 +11,7 @@ import {{packageName}}.{{subpackage}}.{{jsonPathPiece.pascalCase}}; import {{packageName}}.{{subpackage}}.{{jsonPathPiece.pascalCase}}; {{/each}} {{/with}} - {{#if headerParametersSchema}} + {{#if pathParametersSchema}} import {{packageName}}.parameter.PathSerializer; {{/if}} {{#if headerParametersSchema}} @@ -24,8 +24,6 @@ import {{packageName}}.parameter.QuerySerializer; import {{packageName}}.parameter.CookieSerializer; {{/if}} -import {{packageName}}.parameter.Parameter; - import java.util.Map; import java.util.AbstractMap; diff --git a/src/main/resources/java/src/test/java/packagename/parameter/QuerySerializerTest.hbs b/src/main/resources/java/src/test/java/packagename/parameter/QuerySerializerTest.hbs new file mode 100644 index 00000000000..6fe0d72fa94 --- /dev/null +++ b/src/main/resources/java/src/test/java/packagename/parameter/QuerySerializerTest.hbs @@ -0,0 +1,51 @@ +package {{{packageName}}}.parameter; + +import org.junit.Assert; +import org.junit.Test; +import {{{packageName}}}.schemas.AnyTypeJsonSchema; + +import java.util.AbstractMap; +import java.util.Map; + +public class QuerySerializerTest { + public static class Param1QueryParameter extends SchemaParameter { + public Param1QueryParameter() { + super("param1", ParameterInType.QUERY, true, null, null, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); + } + } + + public static class Param2QueryParameter extends SchemaParameter { + public Param2QueryParameter() { + super("param2", ParameterInType.QUERY, true, null, null, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); + } + } + + public static class QueryParametersSerializer extends QuerySerializer { + protected QueryParametersSerializer() { + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", new Param1QueryParameter()), + new AbstractMap.SimpleEntry<>("param2", new Param2QueryParameter()) + ) + ); + } + } + + @Test + public void testSerialization() { + Map inData = Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", "a"), + new AbstractMap.SimpleEntry<>("param2", 3.14d) + ); + var serializer = new QueryParametersSerializer(); + var queryMap = serializer.getQueryMap(inData); + Map expectedQueryMap = Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", "param1=a"), + new AbstractMap.SimpleEntry<>("param2", "param2=3.14") + ); + Assert.assertEquals(expectedQueryMap, queryMap); + String query = serializer.serialize(queryMap); + String expectedQuery = "?param1=a¶m2=3.14"; + Assert.assertEquals(expectedQuery, query); + } +} \ No newline at end of file diff --git a/src/main/resources/java/src/test/java/packagename/parameter/SchemaNonQueryParameterTest.hbs b/src/main/resources/java/src/test/java/packagename/parameter/SchemaNonQueryParameterTest.hbs index 8194f0126ea..cd2eda30687 100644 --- a/src/main/resources/java/src/test/java/packagename/parameter/SchemaNonQueryParameterTest.hbs +++ b/src/main/resources/java/src/test/java/packagename/parameter/SchemaNonQueryParameterTest.hbs @@ -3,8 +3,6 @@ package {{{packageName}}}.parameter; import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; -import {{{packageName}}}.configurations.JsonSchemaKeywordFlags; -import {{{packageName}}}.configurations.SchemaConfiguration; import {{{packageName}}}.exceptions.InvalidTypeException; import {{{packageName}}}.schemas.AnyTypeJsonSchema; diff --git a/src/main/resources/java/src/test/java/packagename/parameter/SchemaQueryParameterTest.hbs b/src/main/resources/java/src/test/java/packagename/parameter/SchemaQueryParameterTest.hbs index 16959a9d11b..fda16ffdc96 100644 --- a/src/main/resources/java/src/test/java/packagename/parameter/SchemaQueryParameterTest.hbs +++ b/src/main/resources/java/src/test/java/packagename/parameter/SchemaQueryParameterTest.hbs @@ -3,8 +3,6 @@ package {{{packageName}}}.parameter; import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; -import {{{packageName}}}.configurations.JsonSchemaKeywordFlags; -import {{{packageName}}}.configurations.SchemaConfiguration; import {{{packageName}}}.exceptions.InvalidTypeException; import {{{packageName}}}.schemas.AnyTypeJsonSchema; From a4cf7d85726a8cfc781c2a497ee16a38f8cedec5 Mon Sep 17 00:00:00 2001 From: Justin Black Date: Wed, 6 Mar 2024 12:47:13 -0800 Subject: [PATCH 17/29] Adds headers serializer test --- .../client/parameter/HeadersSerializer.java | 4 +- .../parameter/HeadersSerializerTest.java | 47 +++++++++++++++++++ .../generators/JavaClientGenerator.java | 4 ++ .../parameter/HeadersSerializer.hbs | 4 +- .../parameter/HeadersSerializerTest.hbs | 47 +++++++++++++++++++ 5 files changed, 102 insertions(+), 4 deletions(-) create mode 100644 samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java create mode 100644 src/main/resources/java/src/test/java/packagename/parameter/HeadersSerializerTest.hbs diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java index 082c2d54439..80067f28bde 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java @@ -17,12 +17,12 @@ public Map serialize(Map inData) { Map results = new LinkedHashMap<>(); for (Map.Entry entry: inData.entrySet()) { String mapKey = entry.getKey(); - @Nullable Object value = entry.getValue(); @Nullable Parameter parameter = parameters.get(mapKey); if (parameter == null) { throw new RuntimeException("Invalid state, a parameter must exist for every key"); } - AbstractMap.SimpleEntry serialized = parameter.serialize(inData); + @Nullable Object value = entry.getValue(); + AbstractMap.SimpleEntry serialized = parameter.serialize(value); results.put(serialized.getKey(), serialized.getValue()); } return results; diff --git a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java new file mode 100644 index 00000000000..8547f555646 --- /dev/null +++ b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java @@ -0,0 +1,47 @@ +package org.openapijsonschematools.client.parameter; + +import org.junit.Assert; +import org.junit.Test; +import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; + +import java.util.AbstractMap; +import java.util.Map; + +public class HeadersSerializerTest { + public static class Param1HeaderParameter extends SchemaParameter { + public Param1HeaderParameter() { + super("param1", ParameterInType.HEADER, true, null, null, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); + } + } + + public static class Param2HeaderParameter extends SchemaParameter { + public Param2HeaderParameter() { + super("param2", ParameterInType.HEADER, true, null, null, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); + } + } + + public static class HeaderParametersSerializer extends HeadersSerializer { + protected HeaderParametersSerializer() { + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", new Param1HeaderParameter()), + new AbstractMap.SimpleEntry<>("param2", new Param2HeaderParameter()) + ) + ); + } + } + + @Test + public void testSerialization() { + Map inData = Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", "a"), + new AbstractMap.SimpleEntry<>("param2", 3.14d) + ); + Map expectedHeaders = Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", "a"), + new AbstractMap.SimpleEntry<>("param2", "3.14") + ); + Map headers = new HeaderParametersSerializer().serialize(inData); + Assert.assertEquals(expectedHeaders, headers); + } +} \ No newline at end of file diff --git a/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java b/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java index b381b1d683b..12848bdcd90 100644 --- a/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java +++ b/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java @@ -865,6 +865,10 @@ public void processOpts() { "src/main/java/packagename/parameter/SchemaParameter.hbs", packagePath() + File.separatorChar + "parameter", "SchemaParameter.java")); + supportingFiles.add(new SupportingFile( + "src/test/java/packagename/parameter/HeadersSerializerTest.hbs", + testPackagePath() + File.separatorChar + "parameter", + "HeadersSerializerTest.java")); supportingFiles.add(new SupportingFile( "src/test/java/packagename/parameter/QuerySerializerTest.hbs", testPackagePath() + File.separatorChar + "parameter", diff --git a/src/main/resources/java/src/main/java/packagename/parameter/HeadersSerializer.hbs b/src/main/resources/java/src/main/java/packagename/parameter/HeadersSerializer.hbs index 4f2324b32da..349c9b1fefe 100644 --- a/src/main/resources/java/src/main/java/packagename/parameter/HeadersSerializer.hbs +++ b/src/main/resources/java/src/main/java/packagename/parameter/HeadersSerializer.hbs @@ -17,12 +17,12 @@ public abstract class HeadersSerializer { Map results = new LinkedHashMap<>(); for (Map.Entry entry: inData.entrySet()) { String mapKey = entry.getKey(); - @Nullable Object value = entry.getValue(); @Nullable Parameter parameter = parameters.get(mapKey); if (parameter == null) { throw new RuntimeException("Invalid state, a parameter must exist for every key"); } - AbstractMap.SimpleEntry serialized = parameter.serialize(inData); + @Nullable Object value = entry.getValue(); + AbstractMap.SimpleEntry serialized = parameter.serialize(value); results.put(serialized.getKey(), serialized.getValue()); } return results; diff --git a/src/main/resources/java/src/test/java/packagename/parameter/HeadersSerializerTest.hbs b/src/main/resources/java/src/test/java/packagename/parameter/HeadersSerializerTest.hbs new file mode 100644 index 00000000000..ff4dcec2b86 --- /dev/null +++ b/src/main/resources/java/src/test/java/packagename/parameter/HeadersSerializerTest.hbs @@ -0,0 +1,47 @@ +package {{{packageName}}}.parameter; + +import org.junit.Assert; +import org.junit.Test; +import {{{packageName}}}.schemas.AnyTypeJsonSchema; + +import java.util.AbstractMap; +import java.util.Map; + +public class HeadersSerializerTest { + public static class Param1HeaderParameter extends SchemaParameter { + public Param1HeaderParameter() { + super("param1", ParameterInType.HEADER, true, null, null, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); + } + } + + public static class Param2HeaderParameter extends SchemaParameter { + public Param2HeaderParameter() { + super("param2", ParameterInType.HEADER, true, null, null, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); + } + } + + public static class HeaderParametersSerializer extends HeadersSerializer { + protected HeaderParametersSerializer() { + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", new Param1HeaderParameter()), + new AbstractMap.SimpleEntry<>("param2", new Param2HeaderParameter()) + ) + ); + } + } + + @Test + public void testSerialization() { + Map inData = Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", "a"), + new AbstractMap.SimpleEntry<>("param2", 3.14d) + ); + Map expectedHeaders = Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", "a"), + new AbstractMap.SimpleEntry<>("param2", "3.14") + ); + Map headers = new HeaderParametersSerializer().serialize(inData); + Assert.assertEquals(expectedHeaders, headers); + } +} \ No newline at end of file From f6d4105a2b3c01f3bafdc8fb27261d728186d1f2 Mon Sep 17 00:00:00 2001 From: Justin Black Date: Wed, 6 Mar 2024 13:14:25 -0800 Subject: [PATCH 18/29] Samples regen --- .../java/.openapi-generator/FILES | 14 +- .../client/header/StyleSerializer.java | 19 +-- .../client/parameter/ContentParameter.java | 12 +- .../client/parameter/HeadersSerializer.java | 30 ++++ .../client/parameter/Parameter.java | 9 + .../client/parameter/ParameterBase.java | 24 --- .../client/parameter/PathSerializer.java | 29 ++++ .../client/parameter/QuerySerializer.java | 47 ++++++ .../client/parameter/SchemaParameter.java | 41 +++-- .../parameter/CookieSerializerTest.java | 44 +++++ .../parameter/HeadersSerializerTest.java | 47 ++++++ .../client/parameter/PathSerializerTest.java | 45 +++++ .../client/parameter/QuerySerializerTest.java | 51 ++++++ .../SchemaNonQueryParameterTest.java | 158 +++++++++--------- .../parameter/SchemaQueryParameterTest.java | 76 ++++----- .../java/.openapi-generator/FILES | 14 +- .../client/header/StyleSerializer.java | 19 +-- .../client/parameter/ContentParameter.java | 12 +- .../client/parameter/HeadersSerializer.java | 30 ++++ .../client/parameter/Parameter.java | 9 + .../client/parameter/ParameterBase.java | 24 --- .../client/parameter/PathSerializer.java | 29 ++++ .../client/parameter/QuerySerializer.java | 47 ++++++ .../client/parameter/SchemaParameter.java | 41 +++-- .../parameter/CookieSerializerTest.java | 44 +++++ .../parameter/HeadersSerializerTest.java | 47 ++++++ .../client/parameter/PathSerializerTest.java | 45 +++++ .../client/parameter/QuerySerializerTest.java | 51 ++++++ .../SchemaNonQueryParameterTest.java | 158 +++++++++--------- .../parameter/SchemaQueryParameterTest.java | 76 ++++----- .../petstore/java/.openapi-generator/FILES | 4 + .../client/parameter/ContentParameter.java | 1 + .../client/parameter/CookieSerializer.java | 4 +- .../client/parameter/Parameter.java | 1 - .../client/parameter/SchemaParameter.java | 1 + .../parameter/CookieSerializerTest.java | 44 +++++ .../client/parameter/PathSerializerTest.java | 45 +++++ .../docs/paths/common_param_sub_dir/delete.md | 16 -- .../docs/paths/common_param_sub_dir/get.md | 5 +- .../docs/paths/common_param_sub_dir/post.md | 5 +- .../petstore/python/docs/paths/fake/delete.md | 21 --- .../python/docs/paths/pet_pet_id/delete.md | 17 -- .../generators/JavaClientGenerator.java | 8 + .../openapimodels/CodegenOperation.java | 18 ++ .../parameter/CookieSerializer.hbs | 4 +- .../parameter/CookieSerializerTest.hbs | 44 +++++ .../parameter/PathSerializerTest.hbs | 45 +++++ 47 files changed, 1132 insertions(+), 443 deletions(-) create mode 100644 samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java create mode 100644 samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/Parameter.java create mode 100644 samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/PathSerializer.java create mode 100644 samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java create mode 100644 samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java create mode 100644 samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java create mode 100644 samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java create mode 100644 samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java create mode 100644 samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java create mode 100644 samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/Parameter.java create mode 100644 samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/PathSerializer.java create mode 100644 samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java create mode 100644 samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java create mode 100644 samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java create mode 100644 samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java create mode 100644 samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java create mode 100644 samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java create mode 100644 samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java create mode 100644 src/main/resources/java/src/test/java/packagename/parameter/CookieSerializerTest.hbs create mode 100644 src/main/resources/java/src/test/java/packagename/parameter/PathSerializerTest.hbs diff --git a/samples/client/3_0_3_unit_test/java/.openapi-generator/FILES b/samples/client/3_0_3_unit_test/java/.openapi-generator/FILES index 8a0f8021eb3..f3e730c6b46 100644 --- a/samples/client/3_0_3_unit_test/java/.openapi-generator/FILES +++ b/samples/client/3_0_3_unit_test/java/.openapi-generator/FILES @@ -197,17 +197,15 @@ src/main/java/org/openapijsonschematools/client/header/SchemaHeader.java src/main/java/org/openapijsonschematools/client/header/StyleSerializer.java src/main/java/org/openapijsonschematools/client/mediatype/Encoding.java src/main/java/org/openapijsonschematools/client/mediatype/MediaType.java -src/main/java/org/openapijsonschematools/client/parameter/ContentNonQueryParameter.java src/main/java/org/openapijsonschematools/client/parameter/ContentParameter.java -src/main/java/org/openapijsonschematools/client/parameter/ContentQueryParameter.java -src/main/java/org/openapijsonschematools/client/parameter/NonQueryParameter.java +src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java +src/main/java/org/openapijsonschematools/client/parameter/Parameter.java src/main/java/org/openapijsonschematools/client/parameter/ParameterBase.java src/main/java/org/openapijsonschematools/client/parameter/ParameterInType.java src/main/java/org/openapijsonschematools/client/parameter/ParameterStyle.java -src/main/java/org/openapijsonschematools/client/parameter/QueryParameter.java -src/main/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameter.java +src/main/java/org/openapijsonschematools/client/parameter/PathSerializer.java +src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java src/main/java/org/openapijsonschematools/client/parameter/SchemaParameter.java -src/main/java/org/openapijsonschematools/client/parameter/SchemaQueryParameter.java src/main/java/org/openapijsonschematools/client/requestbody/GenericRequestBody.java src/main/java/org/openapijsonschematools/client/requestbody/RequestBodySerializer.java src/main/java/org/openapijsonschematools/client/requestbody/SerializedRequestBody.java @@ -319,6 +317,10 @@ src/main/java/org/openapijsonschematools/client/servers/ServerWithoutVariables.j src/test/java/org/openapijsonschematools/client/configurations/JsonSchemaKeywordFlagsTest.java src/test/java/org/openapijsonschematools/client/header/ContentHeaderTest.java src/test/java/org/openapijsonschematools/client/header/SchemaHeaderTest.java +src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java +src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java +src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java +src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java src/test/java/org/openapijsonschematools/client/requestbody/RequestBodySerializerTest.java diff --git a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/header/StyleSerializer.java b/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/header/StyleSerializer.java index 088a1daf02b..d18be288684 100644 --- a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/header/StyleSerializer.java +++ b/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/header/StyleSerializer.java @@ -23,19 +23,16 @@ public static String serializeForm( @Nullable Object inData, String name, boolean explode, - boolean percentEncode, - @Nullable PrefixSeparatorIterator iterator, - boolean isCookie + boolean percentEncode ) { // todo check that the prefix and suffix matches this one - String prefix = isCookie ? "" : "?"; - PrefixSeparatorIterator usedIterator = iterator == null ? new PrefixSeparatorIterator(prefix, "&") : iterator; + PrefixSeparatorIterator iterator = new PrefixSeparatorIterator("", "&"); return rfc6570Expansion( name, inData, explode, percentEncode, - usedIterator + iterator ); } @@ -72,10 +69,9 @@ public static String serializeLabel( public static String serializeSpaceDelimited( @Nullable Object inData, String name, - boolean explode, - @Nullable PrefixSeparatorIterator iterator + boolean explode ) { - PrefixSeparatorIterator usedIterator = iterator == null ? new PrefixSeparatorIterator("", "%20") : iterator; + PrefixSeparatorIterator usedIterator = new PrefixSeparatorIterator("", "%20"); return rfc6570Expansion( name, inData, @@ -88,10 +84,9 @@ public static String serializeSpaceDelimited( public static String serializePipeDelimited( @Nullable Object inData, String name, - boolean explode, - @Nullable PrefixSeparatorIterator iterator + boolean explode ) { - PrefixSeparatorIterator usedIterator = iterator == null ? new PrefixSeparatorIterator("", "|") : iterator; + PrefixSeparatorIterator usedIterator = new PrefixSeparatorIterator("", "|"); return rfc6570Expansion( name, inData, diff --git a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/ContentParameter.java b/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/ContentParameter.java index c9da00c8ad7..79a3e781051 100644 --- a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/ContentParameter.java +++ b/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/ContentParameter.java @@ -1,14 +1,14 @@ package org.openapijsonschematools.client.parameter; import org.checkerframework.checker.nullness.qual.Nullable; -import org.openapijsonschematools.client.configurations.SchemaConfiguration; import org.openapijsonschematools.client.contenttype.ContentTypeDetector; import org.openapijsonschematools.client.contenttype.ContentTypeSerializer; import org.openapijsonschematools.client.mediatype.MediaType; import java.util.Map; +import java.util.AbstractMap; -public class ContentParameter extends ParameterBase { +public class ContentParameter extends ParameterBase implements Parameter { public final Map> content; public ContentParameter(String name, ParameterInType inType, boolean required, @Nullable ParameterStyle style, @Nullable Boolean explode, @Nullable Boolean allowReserved, Map> content) { @@ -16,13 +16,13 @@ public ContentParameter(String name, ParameterInType inType, boolean required, @ this.content = content; } - protected Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration) { + @Override + public AbstractMap.SimpleEntry serialize(@Nullable Object inData) { for (Map.Entry> entry: content.entrySet()) { - var castInData = validate ? entry.getValue().schema().validate(inData, configuration) : inData ; String contentType = entry.getKey(); if (ContentTypeDetector.contentTypeIsJson(contentType)) { - var value = ContentTypeSerializer.toJson(castInData); - return Map.of(name, value); + var value = ContentTypeSerializer.toJson(inData); + return new AbstractMap.SimpleEntry<>(name, value); } else { throw new RuntimeException("Serialization of "+contentType+" has not yet been implemented"); } diff --git a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java b/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java new file mode 100644 index 00000000000..80067f28bde --- /dev/null +++ b/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java @@ -0,0 +1,30 @@ +package org.openapijsonschematools.client.parameter; + +import org.checkerframework.checker.nullness.qual.Nullable; + +import java.util.AbstractMap; +import java.util.LinkedHashMap; +import java.util.Map; + +public abstract class HeadersSerializer { + private final Map parameters; + + protected HeadersSerializer(Map parameters) { + this.parameters = parameters; + } + + public Map serialize(Map inData) { + Map results = new LinkedHashMap<>(); + for (Map.Entry entry: inData.entrySet()) { + String mapKey = entry.getKey(); + @Nullable Parameter parameter = parameters.get(mapKey); + if (parameter == null) { + throw new RuntimeException("Invalid state, a parameter must exist for every key"); + } + @Nullable Object value = entry.getValue(); + AbstractMap.SimpleEntry serialized = parameter.serialize(value); + results.put(serialized.getKey(), serialized.getValue()); + } + return results; + } +} diff --git a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/Parameter.java b/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/Parameter.java new file mode 100644 index 00000000000..9fe0745417c --- /dev/null +++ b/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/Parameter.java @@ -0,0 +1,9 @@ +package org.openapijsonschematools.client.parameter; + +import org.checkerframework.checker.nullness.qual.Nullable; + +import java.util.AbstractMap; + +public interface Parameter { + AbstractMap.SimpleEntry serialize(@Nullable Object inData); +} \ No newline at end of file diff --git a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/ParameterBase.java b/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/ParameterBase.java index 742792cdb40..8d79129b765 100644 --- a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/ParameterBase.java +++ b/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/ParameterBase.java @@ -2,7 +2,6 @@ import org.checkerframework.checker.nullness.qual.Nullable; import org.openapijsonschematools.client.header.HeaderBase; -import org.openapijsonschematools.client.header.PrefixSeparatorIterator; public class ParameterBase extends HeaderBase { public final String name; @@ -13,27 +12,4 @@ public ParameterBase(String name, ParameterInType inType, boolean required, @Nul this.name = name; this.inType = inType; } - - protected ParameterStyle getStyle() { - if (style != null) { - return style; - } - if (inType == ParameterInType.QUERY || inType == ParameterInType.COOKIE) { - return ParameterStyle.FORM; - } - // ParameterInType.HEADER || ParameterInType.PATH - return ParameterStyle.SIMPLE; - } - - public PrefixSeparatorIterator getPrefixSeparatorIterator() { - ParameterStyle usedStyle = getStyle(); - if (usedStyle == ParameterStyle.FORM) { - return new PrefixSeparatorIterator("?", "&"); - } else if (usedStyle == ParameterStyle.SPACE_DELIMITED) { - return new PrefixSeparatorIterator("", "%20"); - } else if (usedStyle == ParameterStyle.PIPE_DELIMITED) { - return new PrefixSeparatorIterator("", "|"); - } - throw new RuntimeException("No iterator possible for style="+usedStyle); - } } \ No newline at end of file diff --git a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/PathSerializer.java b/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/PathSerializer.java new file mode 100644 index 00000000000..5864f89c901 --- /dev/null +++ b/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/PathSerializer.java @@ -0,0 +1,29 @@ +package org.openapijsonschematools.client.parameter; + +import org.checkerframework.checker.nullness.qual.Nullable; + +import java.util.AbstractMap; +import java.util.Map; + +public abstract class PathSerializer { + private final Map parameters; + + protected PathSerializer(Map parameters) { + this.parameters = parameters; + } + + public String serialize(Map inData, String pathWithPlaceholders) { + String result = pathWithPlaceholders; + for (Map.Entry entry: inData.entrySet()) { + String mapKey = entry.getKey(); + @Nullable Parameter parameter = parameters.get(mapKey); + if (parameter == null) { + throw new RuntimeException("Invalid state, a parameter must exist for every key"); + } + @Nullable Object value = entry.getValue(); + AbstractMap.SimpleEntry serialized = parameter.serialize(value); + result = result.replace("{" + mapKey + "}", serialized.getValue()); + } + return result; + } +} diff --git a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java b/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java new file mode 100644 index 00000000000..91ea0b041bb --- /dev/null +++ b/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java @@ -0,0 +1,47 @@ +package org.openapijsonschematools.client.parameter; + +import org.checkerframework.checker.nullness.qual.Nullable; + +import java.util.AbstractMap; +import java.util.HashMap; +import java.util.Map; +import java.util.TreeMap; + +public abstract class QuerySerializer { + private final Map parameters; + + protected QuerySerializer(Map parameters) { + this.parameters = parameters; + } + + public Map getQueryMap(Map inData) { + Map results = new HashMap<>(); + for (Map.Entry entry: inData.entrySet()) { + String mapKey = entry.getKey(); + @Nullable Parameter parameter = parameters.get(mapKey); + if (parameter == null) { + throw new RuntimeException("Invalid state, a parameter must exist for every key"); + } + @Nullable Object value = entry.getValue(); + AbstractMap.SimpleEntry serialized = parameter.serialize(value); + results.put(serialized.getKey(), serialized.getValue()); + } + return new TreeMap<>(results); + } + + public String serialize(Map queryMap) { + if (queryMap.isEmpty()) { + return ""; + } + String result = "?"; + for (String serializedValue: queryMap.values()) { + if (result.length() == 1) { + result = result + serializedValue; + } else { + result = result + "&" + serializedValue; + } + } + // TODO what if the style is not FORM? + return result; + } +} diff --git a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaParameter.java b/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaParameter.java index 597916bbdfc..8acfdafcc8a 100644 --- a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaParameter.java +++ b/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaParameter.java @@ -1,17 +1,12 @@ package org.openapijsonschematools.client.parameter; import org.checkerframework.checker.nullness.qual.Nullable; -import org.openapijsonschematools.client.configurations.SchemaConfiguration; -import org.openapijsonschematools.client.header.PrefixSeparatorIterator; import org.openapijsonschematools.client.header.StyleSerializer; import org.openapijsonschematools.client.schemas.validation.JsonSchema; -import org.openapijsonschematools.client.header.HeaderBase; -import org.openapijsonschematools.client.header.PrefixSeparatorIterator; -import org.openapijsonschematools.client.header.StyleSerializer; -import org.openapijsonschematools.client.schemas.validation.JsonSchema; -import java.util.Map; -public class SchemaParameter extends ParameterBase { +import java.util.AbstractMap; + +public class SchemaParameter extends ParameterBase implements Parameter { public final JsonSchema schema; public SchemaParameter(String name, ParameterInType inType, boolean required, @Nullable ParameterStyle style, @Nullable Boolean explode, @Nullable Boolean allowReserved, JsonSchema schema) { @@ -19,36 +14,46 @@ public SchemaParameter(String name, ParameterInType inType, boolean required, @N this.schema = schema; } - protected Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration, @Nullable PrefixSeparatorIterator iterator) { - var castInData = validate ? schema.validate(inData, configuration) : inData; + private ParameterStyle getStyle() { + if (style != null) { + return style; + } + if (inType == ParameterInType.QUERY || inType == ParameterInType.COOKIE) { + return ParameterStyle.FORM; + } + // ParameterInType.HEADER || ParameterInType.PATH + return ParameterStyle.SIMPLE; + } + + @Override + public AbstractMap.SimpleEntry serialize(@Nullable Object inData) { ParameterStyle usedStyle = getStyle(); boolean percentEncode = inType == ParameterInType.QUERY || inType == ParameterInType.PATH; String value; boolean usedExplode = explode == null ? usedStyle == ParameterStyle.FORM : explode; if (usedStyle == ParameterStyle.SIMPLE) { // header OR path - value = StyleSerializer.serializeSimple(castInData, name, usedExplode, percentEncode); + value = StyleSerializer.serializeSimple(inData, name, usedExplode, percentEncode); } else if (usedStyle == ParameterStyle.FORM) { // query OR cookie - boolean isCookie = inType == ParameterInType.COOKIE; - value = StyleSerializer.serializeForm(castInData, name, usedExplode, percentEncode, iterator, isCookie); + value = StyleSerializer.serializeForm(inData, name, usedExplode, percentEncode); } else if (usedStyle == ParameterStyle.LABEL) { // path - value = StyleSerializer.serializeLabel(castInData, name, usedExplode); + value = StyleSerializer.serializeLabel(inData, name, usedExplode); } else if (usedStyle == ParameterStyle.MATRIX) { // path - value = StyleSerializer.serializeMatrix(castInData, name, usedExplode); + value = StyleSerializer.serializeMatrix(inData, name, usedExplode); } else if (usedStyle == ParameterStyle.SPACE_DELIMITED) { // query - value = StyleSerializer.serializeSpaceDelimited(castInData, name, usedExplode, iterator); + value = StyleSerializer.serializeSpaceDelimited(inData, name, usedExplode); } else if (usedStyle == ParameterStyle.PIPE_DELIMITED) { // query - value = StyleSerializer.serializePipeDelimited(castInData, name, usedExplode, iterator); + value = StyleSerializer.serializePipeDelimited(inData, name, usedExplode); } else { // usedStyle == ParameterStyle.DEEP_OBJECT // query throw new RuntimeException("Style deep object serialization has not yet been implemented."); } - return Map.of(name, value); + return new AbstractMap.SimpleEntry<>(name, value); } } \ No newline at end of file diff --git a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java new file mode 100644 index 00000000000..a19ea8c1007 --- /dev/null +++ b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java @@ -0,0 +1,44 @@ +package org.openapijsonschematools.client.parameter; + +import org.junit.Assert; +import org.junit.Test; +import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; + +import java.util.AbstractMap; +import java.util.Map; + +public class CookieSerializerTest { + public static class Parameter1 extends SchemaParameter { + public Parameter1() { + super("param1", ParameterInType.COOKIE, true, null, null, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); + } + } + + public static class Parameter2 extends SchemaParameter { + public Parameter2() { + super("param2", ParameterInType.COOKIE, true, null, null, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); + } + } + + public static class CookieParametersSerializer extends CookieSerializer { + protected CookieParametersSerializer() { + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", new Parameter1()), + new AbstractMap.SimpleEntry<>("param2", new Parameter2()) + ) + ); + } + } + + @Test + public void testSerialization() { + Map inData = Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", "a"), + new AbstractMap.SimpleEntry<>("param2", 3.14d) + ); + String cookie = new CookieParametersSerializer().serialize(inData); + String expectedCookie = "param1=a; param2=3.14"; + Assert.assertEquals(expectedCookie, cookie); + } +} \ No newline at end of file diff --git a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java new file mode 100644 index 00000000000..8547f555646 --- /dev/null +++ b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java @@ -0,0 +1,47 @@ +package org.openapijsonschematools.client.parameter; + +import org.junit.Assert; +import org.junit.Test; +import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; + +import java.util.AbstractMap; +import java.util.Map; + +public class HeadersSerializerTest { + public static class Param1HeaderParameter extends SchemaParameter { + public Param1HeaderParameter() { + super("param1", ParameterInType.HEADER, true, null, null, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); + } + } + + public static class Param2HeaderParameter extends SchemaParameter { + public Param2HeaderParameter() { + super("param2", ParameterInType.HEADER, true, null, null, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); + } + } + + public static class HeaderParametersSerializer extends HeadersSerializer { + protected HeaderParametersSerializer() { + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", new Param1HeaderParameter()), + new AbstractMap.SimpleEntry<>("param2", new Param2HeaderParameter()) + ) + ); + } + } + + @Test + public void testSerialization() { + Map inData = Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", "a"), + new AbstractMap.SimpleEntry<>("param2", 3.14d) + ); + Map expectedHeaders = Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", "a"), + new AbstractMap.SimpleEntry<>("param2", "3.14") + ); + Map headers = new HeaderParametersSerializer().serialize(inData); + Assert.assertEquals(expectedHeaders, headers); + } +} \ No newline at end of file diff --git a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java new file mode 100644 index 00000000000..bef110af08d --- /dev/null +++ b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java @@ -0,0 +1,45 @@ +package org.openapijsonschematools.client.parameter; + +import org.junit.Assert; +import org.junit.Test; +import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; + +import java.util.AbstractMap; +import java.util.Map; + +public class PathSerializerTest { + public static class Parameter1 extends SchemaParameter { + public Parameter1() { + super("param1", ParameterInType.PATH, true, null, null, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); + } + } + + public static class Parameter2 extends SchemaParameter { + public Parameter2() { + super("param2", ParameterInType.PATH, true, null, null, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); + } + } + + public static class PathParametersSerializer extends PathSerializer { + protected PathParametersSerializer() { + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", new Parameter1()), + new AbstractMap.SimpleEntry<>("param2", new Parameter2()) + ) + ); + } + } + + @Test + public void testSerialization() { + Map inData = Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", "a"), + new AbstractMap.SimpleEntry<>("param2", 3.14d) + ); + String pathWithPlaceholders = "/{param1}/{param2}"; + String path = new PathParametersSerializer().serialize(inData, pathWithPlaceholders); + String expectedPath = "/a/3.14"; + Assert.assertEquals(expectedPath, path); + } +} \ No newline at end of file diff --git a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java new file mode 100644 index 00000000000..ed5aae7e580 --- /dev/null +++ b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java @@ -0,0 +1,51 @@ +package org.openapijsonschematools.client.parameter; + +import org.junit.Assert; +import org.junit.Test; +import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; + +import java.util.AbstractMap; +import java.util.Map; + +public class QuerySerializerTest { + public static class Param1QueryParameter extends SchemaParameter { + public Param1QueryParameter() { + super("param1", ParameterInType.QUERY, true, null, null, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); + } + } + + public static class Param2QueryParameter extends SchemaParameter { + public Param2QueryParameter() { + super("param2", ParameterInType.QUERY, true, null, null, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); + } + } + + public static class QueryParametersSerializer extends QuerySerializer { + protected QueryParametersSerializer() { + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", new Param1QueryParameter()), + new AbstractMap.SimpleEntry<>("param2", new Param2QueryParameter()) + ) + ); + } + } + + @Test + public void testSerialization() { + Map inData = Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", "a"), + new AbstractMap.SimpleEntry<>("param2", 3.14d) + ); + var serializer = new QueryParametersSerializer(); + var queryMap = serializer.getQueryMap(inData); + Map expectedQueryMap = Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", "param1=a"), + new AbstractMap.SimpleEntry<>("param2", "param2=3.14") + ); + Assert.assertEquals(expectedQueryMap, queryMap); + String query = serializer.serialize(queryMap); + String expectedQuery = "?param1=a¶m2=3.14"; + Assert.assertEquals(expectedQuery, query); + } +} \ No newline at end of file diff --git a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java index cc681934e5e..abca0493c0d 100644 --- a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java +++ b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java @@ -3,24 +3,23 @@ import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; -import org.openapijsonschematools.client.configurations.JsonSchemaKeywordFlags; -import org.openapijsonschematools.client.configurations.SchemaConfiguration; import org.openapijsonschematools.client.exceptions.InvalidTypeException; import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.AbstractMap; import java.util.Set; public class SchemaNonQueryParameterTest { - public record ParamTestCase(@Nullable Object payload, Map expectedSerialization, @Nullable Boolean explode) { - public ParamTestCase(@Nullable Object payload, Map expectedSerialization) { + public record ParamTestCase(@Nullable Object payload, AbstractMap.SimpleEntry expectedSerialization, @Nullable Boolean explode) { + public ParamTestCase(@Nullable Object payload, AbstractMap.SimpleEntry expectedSerialization) { this(payload, expectedSerialization, null); } } - public static class HeaderParameter extends SchemaNonQueryParameter { + public static class HeaderParameter extends SchemaParameter { public HeaderParameter(@Nullable Boolean explode) { super("color", ParameterInType.HEADER, true, null, explode, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); } @@ -35,71 +34,70 @@ public void testHeaderSerialization() { var testCases = List.of( new ParamTestCase( null, - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( 1, - Map.of("color", "1") + new AbstractMap.SimpleEntry<>("color", "1") ), new ParamTestCase( 3.14, - Map.of("color","3.14") + new AbstractMap.SimpleEntry<>("color","3.14") ), new ParamTestCase( "blue", - Map.of("color", "blue") + new AbstractMap.SimpleEntry<>("color", "blue") ), new ParamTestCase( "hello world", - Map.of("color", "hello world") + new AbstractMap.SimpleEntry<>("color", "hello world") ), new ParamTestCase( "", - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "blue,black,brown") + new AbstractMap.SimpleEntry<>("color", "blue,black,brown") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "blue,black,brown"), + new AbstractMap.SimpleEntry<>("color", "blue,black,brown"), true ), new ParamTestCase( Map.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( mapPayload, - Map.of("color", "R,100,G,200,B,150") + new AbstractMap.SimpleEntry<>("color", "R,100,G,200,B,150") ), new ParamTestCase( mapPayload, - Map.of("color", "R=100,G=200,B=150"), + new AbstractMap.SimpleEntry<>("color", "R=100,G=200,B=150"), true ) ); - SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); for (ParamTestCase testCase: testCases) { var header = new HeaderParameter(testCase.explode); - var serialization = header.serialize(testCase.payload, false, configuration); + var serialization = header.serialize(testCase.payload); Assert.assertEquals(testCase.expectedSerialization, serialization); } var boolHeader = new HeaderParameter(false); for (boolean value: Set.of(true, false)) { Assert.assertThrows( InvalidTypeException.class, - () -> boolHeader.serialize(value, false, configuration) + () -> boolHeader.serialize(value) ); } } - public static class PathParameter extends SchemaNonQueryParameter { + public static class PathParameter extends SchemaParameter { public PathParameter(@Nullable Boolean explode) { super("color", ParameterInType.PATH, true, null, explode, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); } @@ -114,71 +112,70 @@ public void testPathSerialization() { var testCases = List.of( new ParamTestCase( null, - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( 1, - Map.of("color", "1") + new AbstractMap.SimpleEntry<>("color", "1") ), new ParamTestCase( 3.14, - Map.of("color","3.14") + new AbstractMap.SimpleEntry<>("color","3.14") ), new ParamTestCase( "blue", - Map.of("color", "blue") + new AbstractMap.SimpleEntry<>("color", "blue") ), new ParamTestCase( "hello world", - Map.of("color", "hello%20world") + new AbstractMap.SimpleEntry<>("color", "hello%20world") ), new ParamTestCase( "", - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "blue,black,brown") + new AbstractMap.SimpleEntry<>("color", "blue,black,brown") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "blue,black,brown"), + new AbstractMap.SimpleEntry<>("color", "blue,black,brown"), true ), new ParamTestCase( Map.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( mapPayload, - Map.of("color", "R,100,G,200,B,150") + new AbstractMap.SimpleEntry<>("color", "R,100,G,200,B,150") ), new ParamTestCase( mapPayload, - Map.of("color", "R=100,G=200,B=150"), + new AbstractMap.SimpleEntry<>("color", "R=100,G=200,B=150"), true ) ); - SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); for (ParamTestCase testCase: testCases) { var pathParameter = new PathParameter(testCase.explode); - var serialization = pathParameter.serialize(testCase.payload, false, configuration); + var serialization = pathParameter.serialize(testCase.payload); Assert.assertEquals(testCase.expectedSerialization, serialization); } var pathParameter = new PathParameter(false); for (boolean value: Set.of(true, false)) { Assert.assertThrows( InvalidTypeException.class, - () -> pathParameter.serialize(value, false, configuration) + () -> pathParameter.serialize(value) ); } } - public static class CookieParameter extends SchemaNonQueryParameter { + public static class CookieParameter extends SchemaParameter { public CookieParameter(@Nullable Boolean explode) { super("color", ParameterInType.COOKIE, true, null, explode, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); } @@ -193,71 +190,70 @@ public void testCookieSerialization() { var testCases = List.of( new ParamTestCase( null, - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( 1, - Map.of("color", "color=1") + new AbstractMap.SimpleEntry<>("color", "color=1") ), new ParamTestCase( 3.14, - Map.of("color","color=3.14") + new AbstractMap.SimpleEntry<>("color","color=3.14") ), new ParamTestCase( "blue", - Map.of("color", "color=blue") + new AbstractMap.SimpleEntry<>("color", "color=blue") ), new ParamTestCase( "hello world", - Map.of("color", "color=hello world") + new AbstractMap.SimpleEntry<>("color", "color=hello world") ), new ParamTestCase( "", - Map.of("color", "color=") + new AbstractMap.SimpleEntry<>("color", "color=") ), new ParamTestCase( List.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "color=blue&color=black&color=brown") + new AbstractMap.SimpleEntry<>("color", "color=blue&color=black&color=brown") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "color=blue&color=black&color=brown"), + new AbstractMap.SimpleEntry<>("color", "color=blue&color=black&color=brown"), true ), new ParamTestCase( Map.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( mapPayload, - Map.of("color", "R=100&G=200&B=150") + new AbstractMap.SimpleEntry<>("color", "R=100&G=200&B=150") ), new ParamTestCase( mapPayload, - Map.of("color", "R=100&G=200&B=150"), + new AbstractMap.SimpleEntry<>("color", "R=100&G=200&B=150"), true ) ); - SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); for (ParamTestCase testCase: testCases) { var cookieParameter = new CookieParameter(testCase.explode); - var serialization = cookieParameter.serialize(testCase.payload, false, configuration); + var serialization = cookieParameter.serialize(testCase.payload); Assert.assertEquals(testCase.expectedSerialization, serialization); } var cookieParameter = new CookieParameter(false); for (boolean value: Set.of(true, false)) { Assert.assertThrows( InvalidTypeException.class, - () -> cookieParameter.serialize(value, false, configuration) + () -> cookieParameter.serialize(value) ); } } - public static class PathMatrixParameter extends SchemaNonQueryParameter { + public static class PathMatrixParameter extends SchemaParameter { public PathMatrixParameter(@Nullable Boolean explode) { super("color", ParameterInType.PATH, true, ParameterStyle.MATRIX, explode, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); } @@ -272,64 +268,63 @@ public void testPathMatrixSerialization() { var testCases = List.of( new ParamTestCase( null, - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( 1, - Map.of("color", ";color=1") + new AbstractMap.SimpleEntry<>("color", ";color=1") ), new ParamTestCase( 3.14, - Map.of("color",";color=3.14") + new AbstractMap.SimpleEntry<>("color",";color=3.14") ), new ParamTestCase( "blue", - Map.of("color", ";color=blue") + new AbstractMap.SimpleEntry<>("color", ";color=blue") ), new ParamTestCase( "hello world", - Map.of("color", ";color=hello%20world") + new AbstractMap.SimpleEntry<>("color", ";color=hello%20world") ), new ParamTestCase( "", - Map.of("color", ";color") + new AbstractMap.SimpleEntry<>("color", ";color") ), new ParamTestCase( List.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", ";color=blue,black,brown") + new AbstractMap.SimpleEntry<>("color", ";color=blue,black,brown") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", ";color=blue;color=black;color=brown"), + new AbstractMap.SimpleEntry<>("color", ";color=blue;color=black;color=brown"), true ), new ParamTestCase( Map.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( mapPayload, - Map.of("color", ";color=R,100,G,200,B,150") + new AbstractMap.SimpleEntry<>("color", ";color=R,100,G,200,B,150") ), new ParamTestCase( mapPayload, - Map.of("color", ";R=100;G=200;B=150"), + new AbstractMap.SimpleEntry<>("color", ";R=100;G=200;B=150"), true ) ); - SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); for (ParamTestCase testCase: testCases) { var pathParameter = new PathMatrixParameter(testCase.explode); - var serialization = pathParameter.serialize(testCase.payload, false, configuration); + var serialization = pathParameter.serialize(testCase.payload); Assert.assertEquals(testCase.expectedSerialization, serialization); } } - public static class PathLabelParameter extends SchemaNonQueryParameter { + public static class PathLabelParameter extends SchemaParameter { public PathLabelParameter(@Nullable Boolean explode) { super("color", ParameterInType.PATH, true, ParameterStyle.LABEL, explode, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); } @@ -344,59 +339,58 @@ public void testPathLabelSerialization() { var testCases = List.of( new ParamTestCase( null, - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( 1, - Map.of("color", ".1") + new AbstractMap.SimpleEntry<>("color", ".1") ), new ParamTestCase( 3.14, - Map.of("color",".3.14") + new AbstractMap.SimpleEntry<>("color",".3.14") ), new ParamTestCase( "blue", - Map.of("color", ".blue") + new AbstractMap.SimpleEntry<>("color", ".blue") ), new ParamTestCase( "hello world", - Map.of("color", ".hello%20world") + new AbstractMap.SimpleEntry<>("color", ".hello%20world") ), new ParamTestCase( "", - Map.of("color", ".") + new AbstractMap.SimpleEntry<>("color", ".") ), new ParamTestCase( List.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", ".blue.black.brown") + new AbstractMap.SimpleEntry<>("color", ".blue.black.brown") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", ".blue.black.brown"), + new AbstractMap.SimpleEntry<>("color", ".blue.black.brown"), true ), new ParamTestCase( Map.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( mapPayload, - Map.of("color", ".R.100.G.200.B.150") + new AbstractMap.SimpleEntry<>("color", ".R.100.G.200.B.150") ), new ParamTestCase( mapPayload, - Map.of("color", ".R=100.G=200.B=150"), + new AbstractMap.SimpleEntry<>("color", ".R=100.G=200.B=150"), true ) ); - SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); for (ParamTestCase testCase: testCases) { var pathParameter = new PathLabelParameter(testCase.explode); - var serialization = pathParameter.serialize(testCase.payload, false, configuration); + var serialization = pathParameter.serialize(testCase.payload); Assert.assertEquals(testCase.expectedSerialization, serialization); } } diff --git a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java index b36fc740804..c1a720b094f 100644 --- a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java +++ b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java @@ -3,24 +3,23 @@ import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; -import org.openapijsonschematools.client.configurations.JsonSchemaKeywordFlags; -import org.openapijsonschematools.client.configurations.SchemaConfiguration; import org.openapijsonschematools.client.exceptions.InvalidTypeException; import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; import java.util.LinkedHashMap; import java.util.List; +import java.util.AbstractMap; import java.util.Map; import java.util.Set; public class SchemaQueryParameterTest { - public record ParamTestCase(@Nullable Object payload, Map expectedSerialization, @Nullable Boolean explode) { - public ParamTestCase(@Nullable Object payload, Map expectedSerialization) { + public record ParamTestCase(@Nullable Object payload, AbstractMap.SimpleEntry expectedSerialization, @Nullable Boolean explode) { + public ParamTestCase(@Nullable Object payload, AbstractMap.SimpleEntry expectedSerialization) { this(payload, expectedSerialization, null); } } - public static class QueryParameterNoStyle extends SchemaQueryParameter { + public static class QueryParameterNoStyle extends SchemaParameter { public QueryParameterNoStyle(@Nullable Boolean explode) { super("color", ParameterInType.QUERY, true, null, explode, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); } @@ -35,73 +34,70 @@ public void testQueryParameterNoStyleSerialization() { var testCases = List.of( new ParamTestCase( null, - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( 1, - Map.of("color", "?color=1") + new AbstractMap.SimpleEntry<>("color", "color=1") ), new ParamTestCase( 3.14, - Map.of("color","?color=3.14") + new AbstractMap.SimpleEntry<>("color","color=3.14") ), new ParamTestCase( "blue", - Map.of("color", "?color=blue") + new AbstractMap.SimpleEntry<>("color", "color=blue") ), new ParamTestCase( "hello world", - Map.of("color", "?color=hello%20world") + new AbstractMap.SimpleEntry<>("color", "color=hello%20world") ), new ParamTestCase( "", - Map.of("color", "?color=") + new AbstractMap.SimpleEntry<>("color", "color=") ), new ParamTestCase( List.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "?color=blue&color=black&color=brown") + new AbstractMap.SimpleEntry<>("color", "color=blue&color=black&color=brown") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "?color=blue&color=black&color=brown"), + new AbstractMap.SimpleEntry<>("color", "color=blue&color=black&color=brown"), true ), new ParamTestCase( Map.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( mapPayload, - Map.of("color", "?R=100&G=200&B=150") + new AbstractMap.SimpleEntry<>("color", "R=100&G=200&B=150") ), new ParamTestCase( mapPayload, - Map.of("color", "?R=100&G=200&B=150"), + new AbstractMap.SimpleEntry<>("color", "R=100&G=200&B=150"), true ) ); - SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); for (ParamTestCase testCase: testCases) { var parameter = new QueryParameterNoStyle(testCase.explode); - var iterator = parameter.getPrefixSeparatorIterator(); - var serialization = parameter.serialize(testCase.payload, false, configuration, iterator); + var serialization = parameter.serialize(testCase.payload); Assert.assertEquals(testCase.expectedSerialization, serialization); } var parameter = new QueryParameterNoStyle(false); - var iterator = parameter.getPrefixSeparatorIterator(); for (boolean value: Set.of(true, false)) { Assert.assertThrows( InvalidTypeException.class, - () -> parameter.serialize(value, false, configuration, iterator) + () -> parameter.serialize(value) ); } } - public static class QueryParameterSpaceDelimited extends SchemaQueryParameter { + public static class QueryParameterSpaceDelimited extends SchemaParameter { public QueryParameterSpaceDelimited(@Nullable Boolean explode) { super("color", ParameterInType.QUERY, true, ParameterStyle.SPACE_DELIMITED, explode, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); } @@ -116,41 +112,39 @@ public void testQueryParameterSpaceDelimitedSerialization() { var testCases = List.of( new ParamTestCase( List.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "blue%20black%20brown") + new AbstractMap.SimpleEntry<>("color", "blue%20black%20brown") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "blue%20black%20brown"), + new AbstractMap.SimpleEntry<>("color", "blue%20black%20brown"), true ), new ParamTestCase( Map.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( mapPayload, - Map.of("color", "R%20100%20G%20200%20B%20150") + new AbstractMap.SimpleEntry<>("color", "R%20100%20G%20200%20B%20150") ), new ParamTestCase( mapPayload, - Map.of("color", "R=100%20G=200%20B=150"), + new AbstractMap.SimpleEntry<>("color", "R=100%20G=200%20B=150"), true ) ); - SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); for (ParamTestCase testCase: testCases) { var parameter = new QueryParameterSpaceDelimited(testCase.explode); - var iterator = parameter.getPrefixSeparatorIterator(); - var serialization = parameter.serialize(testCase.payload, false, configuration, iterator); + var serialization = parameter.serialize(testCase.payload); Assert.assertEquals(testCase.expectedSerialization, serialization); } } - public static class QueryParameterPipeDelimited extends SchemaQueryParameter { + public static class QueryParameterPipeDelimited extends SchemaParameter { public QueryParameterPipeDelimited(@Nullable Boolean explode) { super("color", ParameterInType.QUERY, true, ParameterStyle.PIPE_DELIMITED, explode, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); } @@ -165,36 +159,34 @@ public void testQueryParameterPipeDelimitedSerialization() { var testCases = List.of( new ParamTestCase( List.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "blue|black|brown") + new AbstractMap.SimpleEntry<>("color", "blue|black|brown") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "blue|black|brown"), + new AbstractMap.SimpleEntry<>("color", "blue|black|brown"), true ), new ParamTestCase( Map.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( mapPayload, - Map.of("color", "R|100|G|200|B|150") + new AbstractMap.SimpleEntry<>("color", "R|100|G|200|B|150") ), new ParamTestCase( mapPayload, - Map.of("color", "R=100|G=200|B=150"), + new AbstractMap.SimpleEntry<>("color", "R=100|G=200|B=150"), true ) ); - SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); for (ParamTestCase testCase: testCases) { var parameter = new QueryParameterPipeDelimited(testCase.explode); - var iterator = parameter.getPrefixSeparatorIterator(); - var serialization = parameter.serialize(testCase.payload, false, configuration, iterator); + var serialization = parameter.serialize(testCase.payload); Assert.assertEquals(testCase.expectedSerialization, serialization); } } diff --git a/samples/client/3_1_0_unit_test/java/.openapi-generator/FILES b/samples/client/3_1_0_unit_test/java/.openapi-generator/FILES index 63ad4391657..5ca05d80f44 100644 --- a/samples/client/3_1_0_unit_test/java/.openapi-generator/FILES +++ b/samples/client/3_1_0_unit_test/java/.openapi-generator/FILES @@ -309,17 +309,15 @@ src/main/java/org/openapijsonschematools/client/header/SchemaHeader.java src/main/java/org/openapijsonschematools/client/header/StyleSerializer.java src/main/java/org/openapijsonschematools/client/mediatype/Encoding.java src/main/java/org/openapijsonschematools/client/mediatype/MediaType.java -src/main/java/org/openapijsonschematools/client/parameter/ContentNonQueryParameter.java src/main/java/org/openapijsonschematools/client/parameter/ContentParameter.java -src/main/java/org/openapijsonschematools/client/parameter/ContentQueryParameter.java -src/main/java/org/openapijsonschematools/client/parameter/NonQueryParameter.java +src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java +src/main/java/org/openapijsonschematools/client/parameter/Parameter.java src/main/java/org/openapijsonschematools/client/parameter/ParameterBase.java src/main/java/org/openapijsonschematools/client/parameter/ParameterInType.java src/main/java/org/openapijsonschematools/client/parameter/ParameterStyle.java -src/main/java/org/openapijsonschematools/client/parameter/QueryParameter.java -src/main/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameter.java +src/main/java/org/openapijsonschematools/client/parameter/PathSerializer.java +src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java src/main/java/org/openapijsonschematools/client/parameter/SchemaParameter.java -src/main/java/org/openapijsonschematools/client/parameter/SchemaQueryParameter.java src/main/java/org/openapijsonschematools/client/requestbody/GenericRequestBody.java src/main/java/org/openapijsonschematools/client/requestbody/RequestBodySerializer.java src/main/java/org/openapijsonschematools/client/requestbody/SerializedRequestBody.java @@ -431,6 +429,10 @@ src/main/java/org/openapijsonschematools/client/servers/ServerWithoutVariables.j src/test/java/org/openapijsonschematools/client/configurations/JsonSchemaKeywordFlagsTest.java src/test/java/org/openapijsonschematools/client/header/ContentHeaderTest.java src/test/java/org/openapijsonschematools/client/header/SchemaHeaderTest.java +src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java +src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java +src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java +src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java src/test/java/org/openapijsonschematools/client/requestbody/RequestBodySerializerTest.java diff --git a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/header/StyleSerializer.java b/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/header/StyleSerializer.java index 088a1daf02b..d18be288684 100644 --- a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/header/StyleSerializer.java +++ b/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/header/StyleSerializer.java @@ -23,19 +23,16 @@ public static String serializeForm( @Nullable Object inData, String name, boolean explode, - boolean percentEncode, - @Nullable PrefixSeparatorIterator iterator, - boolean isCookie + boolean percentEncode ) { // todo check that the prefix and suffix matches this one - String prefix = isCookie ? "" : "?"; - PrefixSeparatorIterator usedIterator = iterator == null ? new PrefixSeparatorIterator(prefix, "&") : iterator; + PrefixSeparatorIterator iterator = new PrefixSeparatorIterator("", "&"); return rfc6570Expansion( name, inData, explode, percentEncode, - usedIterator + iterator ); } @@ -72,10 +69,9 @@ public static String serializeLabel( public static String serializeSpaceDelimited( @Nullable Object inData, String name, - boolean explode, - @Nullable PrefixSeparatorIterator iterator + boolean explode ) { - PrefixSeparatorIterator usedIterator = iterator == null ? new PrefixSeparatorIterator("", "%20") : iterator; + PrefixSeparatorIterator usedIterator = new PrefixSeparatorIterator("", "%20"); return rfc6570Expansion( name, inData, @@ -88,10 +84,9 @@ public static String serializeSpaceDelimited( public static String serializePipeDelimited( @Nullable Object inData, String name, - boolean explode, - @Nullable PrefixSeparatorIterator iterator + boolean explode ) { - PrefixSeparatorIterator usedIterator = iterator == null ? new PrefixSeparatorIterator("", "|") : iterator; + PrefixSeparatorIterator usedIterator = new PrefixSeparatorIterator("", "|"); return rfc6570Expansion( name, inData, diff --git a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/ContentParameter.java b/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/ContentParameter.java index c9da00c8ad7..79a3e781051 100644 --- a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/ContentParameter.java +++ b/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/ContentParameter.java @@ -1,14 +1,14 @@ package org.openapijsonschematools.client.parameter; import org.checkerframework.checker.nullness.qual.Nullable; -import org.openapijsonschematools.client.configurations.SchemaConfiguration; import org.openapijsonschematools.client.contenttype.ContentTypeDetector; import org.openapijsonschematools.client.contenttype.ContentTypeSerializer; import org.openapijsonschematools.client.mediatype.MediaType; import java.util.Map; +import java.util.AbstractMap; -public class ContentParameter extends ParameterBase { +public class ContentParameter extends ParameterBase implements Parameter { public final Map> content; public ContentParameter(String name, ParameterInType inType, boolean required, @Nullable ParameterStyle style, @Nullable Boolean explode, @Nullable Boolean allowReserved, Map> content) { @@ -16,13 +16,13 @@ public ContentParameter(String name, ParameterInType inType, boolean required, @ this.content = content; } - protected Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration) { + @Override + public AbstractMap.SimpleEntry serialize(@Nullable Object inData) { for (Map.Entry> entry: content.entrySet()) { - var castInData = validate ? entry.getValue().schema().validate(inData, configuration) : inData ; String contentType = entry.getKey(); if (ContentTypeDetector.contentTypeIsJson(contentType)) { - var value = ContentTypeSerializer.toJson(castInData); - return Map.of(name, value); + var value = ContentTypeSerializer.toJson(inData); + return new AbstractMap.SimpleEntry<>(name, value); } else { throw new RuntimeException("Serialization of "+contentType+" has not yet been implemented"); } diff --git a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java b/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java new file mode 100644 index 00000000000..80067f28bde --- /dev/null +++ b/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java @@ -0,0 +1,30 @@ +package org.openapijsonschematools.client.parameter; + +import org.checkerframework.checker.nullness.qual.Nullable; + +import java.util.AbstractMap; +import java.util.LinkedHashMap; +import java.util.Map; + +public abstract class HeadersSerializer { + private final Map parameters; + + protected HeadersSerializer(Map parameters) { + this.parameters = parameters; + } + + public Map serialize(Map inData) { + Map results = new LinkedHashMap<>(); + for (Map.Entry entry: inData.entrySet()) { + String mapKey = entry.getKey(); + @Nullable Parameter parameter = parameters.get(mapKey); + if (parameter == null) { + throw new RuntimeException("Invalid state, a parameter must exist for every key"); + } + @Nullable Object value = entry.getValue(); + AbstractMap.SimpleEntry serialized = parameter.serialize(value); + results.put(serialized.getKey(), serialized.getValue()); + } + return results; + } +} diff --git a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/Parameter.java b/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/Parameter.java new file mode 100644 index 00000000000..9fe0745417c --- /dev/null +++ b/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/Parameter.java @@ -0,0 +1,9 @@ +package org.openapijsonschematools.client.parameter; + +import org.checkerframework.checker.nullness.qual.Nullable; + +import java.util.AbstractMap; + +public interface Parameter { + AbstractMap.SimpleEntry serialize(@Nullable Object inData); +} \ No newline at end of file diff --git a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/ParameterBase.java b/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/ParameterBase.java index 742792cdb40..8d79129b765 100644 --- a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/ParameterBase.java +++ b/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/ParameterBase.java @@ -2,7 +2,6 @@ import org.checkerframework.checker.nullness.qual.Nullable; import org.openapijsonschematools.client.header.HeaderBase; -import org.openapijsonschematools.client.header.PrefixSeparatorIterator; public class ParameterBase extends HeaderBase { public final String name; @@ -13,27 +12,4 @@ public ParameterBase(String name, ParameterInType inType, boolean required, @Nul this.name = name; this.inType = inType; } - - protected ParameterStyle getStyle() { - if (style != null) { - return style; - } - if (inType == ParameterInType.QUERY || inType == ParameterInType.COOKIE) { - return ParameterStyle.FORM; - } - // ParameterInType.HEADER || ParameterInType.PATH - return ParameterStyle.SIMPLE; - } - - public PrefixSeparatorIterator getPrefixSeparatorIterator() { - ParameterStyle usedStyle = getStyle(); - if (usedStyle == ParameterStyle.FORM) { - return new PrefixSeparatorIterator("?", "&"); - } else if (usedStyle == ParameterStyle.SPACE_DELIMITED) { - return new PrefixSeparatorIterator("", "%20"); - } else if (usedStyle == ParameterStyle.PIPE_DELIMITED) { - return new PrefixSeparatorIterator("", "|"); - } - throw new RuntimeException("No iterator possible for style="+usedStyle); - } } \ No newline at end of file diff --git a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/PathSerializer.java b/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/PathSerializer.java new file mode 100644 index 00000000000..5864f89c901 --- /dev/null +++ b/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/PathSerializer.java @@ -0,0 +1,29 @@ +package org.openapijsonschematools.client.parameter; + +import org.checkerframework.checker.nullness.qual.Nullable; + +import java.util.AbstractMap; +import java.util.Map; + +public abstract class PathSerializer { + private final Map parameters; + + protected PathSerializer(Map parameters) { + this.parameters = parameters; + } + + public String serialize(Map inData, String pathWithPlaceholders) { + String result = pathWithPlaceholders; + for (Map.Entry entry: inData.entrySet()) { + String mapKey = entry.getKey(); + @Nullable Parameter parameter = parameters.get(mapKey); + if (parameter == null) { + throw new RuntimeException("Invalid state, a parameter must exist for every key"); + } + @Nullable Object value = entry.getValue(); + AbstractMap.SimpleEntry serialized = parameter.serialize(value); + result = result.replace("{" + mapKey + "}", serialized.getValue()); + } + return result; + } +} diff --git a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java b/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java new file mode 100644 index 00000000000..91ea0b041bb --- /dev/null +++ b/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java @@ -0,0 +1,47 @@ +package org.openapijsonschematools.client.parameter; + +import org.checkerframework.checker.nullness.qual.Nullable; + +import java.util.AbstractMap; +import java.util.HashMap; +import java.util.Map; +import java.util.TreeMap; + +public abstract class QuerySerializer { + private final Map parameters; + + protected QuerySerializer(Map parameters) { + this.parameters = parameters; + } + + public Map getQueryMap(Map inData) { + Map results = new HashMap<>(); + for (Map.Entry entry: inData.entrySet()) { + String mapKey = entry.getKey(); + @Nullable Parameter parameter = parameters.get(mapKey); + if (parameter == null) { + throw new RuntimeException("Invalid state, a parameter must exist for every key"); + } + @Nullable Object value = entry.getValue(); + AbstractMap.SimpleEntry serialized = parameter.serialize(value); + results.put(serialized.getKey(), serialized.getValue()); + } + return new TreeMap<>(results); + } + + public String serialize(Map queryMap) { + if (queryMap.isEmpty()) { + return ""; + } + String result = "?"; + for (String serializedValue: queryMap.values()) { + if (result.length() == 1) { + result = result + serializedValue; + } else { + result = result + "&" + serializedValue; + } + } + // TODO what if the style is not FORM? + return result; + } +} diff --git a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaParameter.java b/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaParameter.java index 597916bbdfc..8acfdafcc8a 100644 --- a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaParameter.java +++ b/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaParameter.java @@ -1,17 +1,12 @@ package org.openapijsonschematools.client.parameter; import org.checkerframework.checker.nullness.qual.Nullable; -import org.openapijsonschematools.client.configurations.SchemaConfiguration; -import org.openapijsonschematools.client.header.PrefixSeparatorIterator; import org.openapijsonschematools.client.header.StyleSerializer; import org.openapijsonschematools.client.schemas.validation.JsonSchema; -import org.openapijsonschematools.client.header.HeaderBase; -import org.openapijsonschematools.client.header.PrefixSeparatorIterator; -import org.openapijsonschematools.client.header.StyleSerializer; -import org.openapijsonschematools.client.schemas.validation.JsonSchema; -import java.util.Map; -public class SchemaParameter extends ParameterBase { +import java.util.AbstractMap; + +public class SchemaParameter extends ParameterBase implements Parameter { public final JsonSchema schema; public SchemaParameter(String name, ParameterInType inType, boolean required, @Nullable ParameterStyle style, @Nullable Boolean explode, @Nullable Boolean allowReserved, JsonSchema schema) { @@ -19,36 +14,46 @@ public SchemaParameter(String name, ParameterInType inType, boolean required, @N this.schema = schema; } - protected Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration, @Nullable PrefixSeparatorIterator iterator) { - var castInData = validate ? schema.validate(inData, configuration) : inData; + private ParameterStyle getStyle() { + if (style != null) { + return style; + } + if (inType == ParameterInType.QUERY || inType == ParameterInType.COOKIE) { + return ParameterStyle.FORM; + } + // ParameterInType.HEADER || ParameterInType.PATH + return ParameterStyle.SIMPLE; + } + + @Override + public AbstractMap.SimpleEntry serialize(@Nullable Object inData) { ParameterStyle usedStyle = getStyle(); boolean percentEncode = inType == ParameterInType.QUERY || inType == ParameterInType.PATH; String value; boolean usedExplode = explode == null ? usedStyle == ParameterStyle.FORM : explode; if (usedStyle == ParameterStyle.SIMPLE) { // header OR path - value = StyleSerializer.serializeSimple(castInData, name, usedExplode, percentEncode); + value = StyleSerializer.serializeSimple(inData, name, usedExplode, percentEncode); } else if (usedStyle == ParameterStyle.FORM) { // query OR cookie - boolean isCookie = inType == ParameterInType.COOKIE; - value = StyleSerializer.serializeForm(castInData, name, usedExplode, percentEncode, iterator, isCookie); + value = StyleSerializer.serializeForm(inData, name, usedExplode, percentEncode); } else if (usedStyle == ParameterStyle.LABEL) { // path - value = StyleSerializer.serializeLabel(castInData, name, usedExplode); + value = StyleSerializer.serializeLabel(inData, name, usedExplode); } else if (usedStyle == ParameterStyle.MATRIX) { // path - value = StyleSerializer.serializeMatrix(castInData, name, usedExplode); + value = StyleSerializer.serializeMatrix(inData, name, usedExplode); } else if (usedStyle == ParameterStyle.SPACE_DELIMITED) { // query - value = StyleSerializer.serializeSpaceDelimited(castInData, name, usedExplode, iterator); + value = StyleSerializer.serializeSpaceDelimited(inData, name, usedExplode); } else if (usedStyle == ParameterStyle.PIPE_DELIMITED) { // query - value = StyleSerializer.serializePipeDelimited(castInData, name, usedExplode, iterator); + value = StyleSerializer.serializePipeDelimited(inData, name, usedExplode); } else { // usedStyle == ParameterStyle.DEEP_OBJECT // query throw new RuntimeException("Style deep object serialization has not yet been implemented."); } - return Map.of(name, value); + return new AbstractMap.SimpleEntry<>(name, value); } } \ No newline at end of file diff --git a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java new file mode 100644 index 00000000000..a19ea8c1007 --- /dev/null +++ b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java @@ -0,0 +1,44 @@ +package org.openapijsonschematools.client.parameter; + +import org.junit.Assert; +import org.junit.Test; +import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; + +import java.util.AbstractMap; +import java.util.Map; + +public class CookieSerializerTest { + public static class Parameter1 extends SchemaParameter { + public Parameter1() { + super("param1", ParameterInType.COOKIE, true, null, null, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); + } + } + + public static class Parameter2 extends SchemaParameter { + public Parameter2() { + super("param2", ParameterInType.COOKIE, true, null, null, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); + } + } + + public static class CookieParametersSerializer extends CookieSerializer { + protected CookieParametersSerializer() { + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", new Parameter1()), + new AbstractMap.SimpleEntry<>("param2", new Parameter2()) + ) + ); + } + } + + @Test + public void testSerialization() { + Map inData = Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", "a"), + new AbstractMap.SimpleEntry<>("param2", 3.14d) + ); + String cookie = new CookieParametersSerializer().serialize(inData); + String expectedCookie = "param1=a; param2=3.14"; + Assert.assertEquals(expectedCookie, cookie); + } +} \ No newline at end of file diff --git a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java new file mode 100644 index 00000000000..8547f555646 --- /dev/null +++ b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java @@ -0,0 +1,47 @@ +package org.openapijsonschematools.client.parameter; + +import org.junit.Assert; +import org.junit.Test; +import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; + +import java.util.AbstractMap; +import java.util.Map; + +public class HeadersSerializerTest { + public static class Param1HeaderParameter extends SchemaParameter { + public Param1HeaderParameter() { + super("param1", ParameterInType.HEADER, true, null, null, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); + } + } + + public static class Param2HeaderParameter extends SchemaParameter { + public Param2HeaderParameter() { + super("param2", ParameterInType.HEADER, true, null, null, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); + } + } + + public static class HeaderParametersSerializer extends HeadersSerializer { + protected HeaderParametersSerializer() { + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", new Param1HeaderParameter()), + new AbstractMap.SimpleEntry<>("param2", new Param2HeaderParameter()) + ) + ); + } + } + + @Test + public void testSerialization() { + Map inData = Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", "a"), + new AbstractMap.SimpleEntry<>("param2", 3.14d) + ); + Map expectedHeaders = Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", "a"), + new AbstractMap.SimpleEntry<>("param2", "3.14") + ); + Map headers = new HeaderParametersSerializer().serialize(inData); + Assert.assertEquals(expectedHeaders, headers); + } +} \ No newline at end of file diff --git a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java new file mode 100644 index 00000000000..bef110af08d --- /dev/null +++ b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java @@ -0,0 +1,45 @@ +package org.openapijsonschematools.client.parameter; + +import org.junit.Assert; +import org.junit.Test; +import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; + +import java.util.AbstractMap; +import java.util.Map; + +public class PathSerializerTest { + public static class Parameter1 extends SchemaParameter { + public Parameter1() { + super("param1", ParameterInType.PATH, true, null, null, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); + } + } + + public static class Parameter2 extends SchemaParameter { + public Parameter2() { + super("param2", ParameterInType.PATH, true, null, null, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); + } + } + + public static class PathParametersSerializer extends PathSerializer { + protected PathParametersSerializer() { + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", new Parameter1()), + new AbstractMap.SimpleEntry<>("param2", new Parameter2()) + ) + ); + } + } + + @Test + public void testSerialization() { + Map inData = Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", "a"), + new AbstractMap.SimpleEntry<>("param2", 3.14d) + ); + String pathWithPlaceholders = "/{param1}/{param2}"; + String path = new PathParametersSerializer().serialize(inData, pathWithPlaceholders); + String expectedPath = "/a/3.14"; + Assert.assertEquals(expectedPath, path); + } +} \ No newline at end of file diff --git a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java new file mode 100644 index 00000000000..ed5aae7e580 --- /dev/null +++ b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java @@ -0,0 +1,51 @@ +package org.openapijsonschematools.client.parameter; + +import org.junit.Assert; +import org.junit.Test; +import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; + +import java.util.AbstractMap; +import java.util.Map; + +public class QuerySerializerTest { + public static class Param1QueryParameter extends SchemaParameter { + public Param1QueryParameter() { + super("param1", ParameterInType.QUERY, true, null, null, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); + } + } + + public static class Param2QueryParameter extends SchemaParameter { + public Param2QueryParameter() { + super("param2", ParameterInType.QUERY, true, null, null, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); + } + } + + public static class QueryParametersSerializer extends QuerySerializer { + protected QueryParametersSerializer() { + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", new Param1QueryParameter()), + new AbstractMap.SimpleEntry<>("param2", new Param2QueryParameter()) + ) + ); + } + } + + @Test + public void testSerialization() { + Map inData = Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", "a"), + new AbstractMap.SimpleEntry<>("param2", 3.14d) + ); + var serializer = new QueryParametersSerializer(); + var queryMap = serializer.getQueryMap(inData); + Map expectedQueryMap = Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", "param1=a"), + new AbstractMap.SimpleEntry<>("param2", "param2=3.14") + ); + Assert.assertEquals(expectedQueryMap, queryMap); + String query = serializer.serialize(queryMap); + String expectedQuery = "?param1=a¶m2=3.14"; + Assert.assertEquals(expectedQuery, query); + } +} \ No newline at end of file diff --git a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java index cc681934e5e..abca0493c0d 100644 --- a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java +++ b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java @@ -3,24 +3,23 @@ import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; -import org.openapijsonschematools.client.configurations.JsonSchemaKeywordFlags; -import org.openapijsonschematools.client.configurations.SchemaConfiguration; import org.openapijsonschematools.client.exceptions.InvalidTypeException; import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.AbstractMap; import java.util.Set; public class SchemaNonQueryParameterTest { - public record ParamTestCase(@Nullable Object payload, Map expectedSerialization, @Nullable Boolean explode) { - public ParamTestCase(@Nullable Object payload, Map expectedSerialization) { + public record ParamTestCase(@Nullable Object payload, AbstractMap.SimpleEntry expectedSerialization, @Nullable Boolean explode) { + public ParamTestCase(@Nullable Object payload, AbstractMap.SimpleEntry expectedSerialization) { this(payload, expectedSerialization, null); } } - public static class HeaderParameter extends SchemaNonQueryParameter { + public static class HeaderParameter extends SchemaParameter { public HeaderParameter(@Nullable Boolean explode) { super("color", ParameterInType.HEADER, true, null, explode, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); } @@ -35,71 +34,70 @@ public void testHeaderSerialization() { var testCases = List.of( new ParamTestCase( null, - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( 1, - Map.of("color", "1") + new AbstractMap.SimpleEntry<>("color", "1") ), new ParamTestCase( 3.14, - Map.of("color","3.14") + new AbstractMap.SimpleEntry<>("color","3.14") ), new ParamTestCase( "blue", - Map.of("color", "blue") + new AbstractMap.SimpleEntry<>("color", "blue") ), new ParamTestCase( "hello world", - Map.of("color", "hello world") + new AbstractMap.SimpleEntry<>("color", "hello world") ), new ParamTestCase( "", - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "blue,black,brown") + new AbstractMap.SimpleEntry<>("color", "blue,black,brown") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "blue,black,brown"), + new AbstractMap.SimpleEntry<>("color", "blue,black,brown"), true ), new ParamTestCase( Map.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( mapPayload, - Map.of("color", "R,100,G,200,B,150") + new AbstractMap.SimpleEntry<>("color", "R,100,G,200,B,150") ), new ParamTestCase( mapPayload, - Map.of("color", "R=100,G=200,B=150"), + new AbstractMap.SimpleEntry<>("color", "R=100,G=200,B=150"), true ) ); - SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); for (ParamTestCase testCase: testCases) { var header = new HeaderParameter(testCase.explode); - var serialization = header.serialize(testCase.payload, false, configuration); + var serialization = header.serialize(testCase.payload); Assert.assertEquals(testCase.expectedSerialization, serialization); } var boolHeader = new HeaderParameter(false); for (boolean value: Set.of(true, false)) { Assert.assertThrows( InvalidTypeException.class, - () -> boolHeader.serialize(value, false, configuration) + () -> boolHeader.serialize(value) ); } } - public static class PathParameter extends SchemaNonQueryParameter { + public static class PathParameter extends SchemaParameter { public PathParameter(@Nullable Boolean explode) { super("color", ParameterInType.PATH, true, null, explode, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); } @@ -114,71 +112,70 @@ public void testPathSerialization() { var testCases = List.of( new ParamTestCase( null, - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( 1, - Map.of("color", "1") + new AbstractMap.SimpleEntry<>("color", "1") ), new ParamTestCase( 3.14, - Map.of("color","3.14") + new AbstractMap.SimpleEntry<>("color","3.14") ), new ParamTestCase( "blue", - Map.of("color", "blue") + new AbstractMap.SimpleEntry<>("color", "blue") ), new ParamTestCase( "hello world", - Map.of("color", "hello%20world") + new AbstractMap.SimpleEntry<>("color", "hello%20world") ), new ParamTestCase( "", - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "blue,black,brown") + new AbstractMap.SimpleEntry<>("color", "blue,black,brown") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "blue,black,brown"), + new AbstractMap.SimpleEntry<>("color", "blue,black,brown"), true ), new ParamTestCase( Map.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( mapPayload, - Map.of("color", "R,100,G,200,B,150") + new AbstractMap.SimpleEntry<>("color", "R,100,G,200,B,150") ), new ParamTestCase( mapPayload, - Map.of("color", "R=100,G=200,B=150"), + new AbstractMap.SimpleEntry<>("color", "R=100,G=200,B=150"), true ) ); - SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); for (ParamTestCase testCase: testCases) { var pathParameter = new PathParameter(testCase.explode); - var serialization = pathParameter.serialize(testCase.payload, false, configuration); + var serialization = pathParameter.serialize(testCase.payload); Assert.assertEquals(testCase.expectedSerialization, serialization); } var pathParameter = new PathParameter(false); for (boolean value: Set.of(true, false)) { Assert.assertThrows( InvalidTypeException.class, - () -> pathParameter.serialize(value, false, configuration) + () -> pathParameter.serialize(value) ); } } - public static class CookieParameter extends SchemaNonQueryParameter { + public static class CookieParameter extends SchemaParameter { public CookieParameter(@Nullable Boolean explode) { super("color", ParameterInType.COOKIE, true, null, explode, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); } @@ -193,71 +190,70 @@ public void testCookieSerialization() { var testCases = List.of( new ParamTestCase( null, - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( 1, - Map.of("color", "color=1") + new AbstractMap.SimpleEntry<>("color", "color=1") ), new ParamTestCase( 3.14, - Map.of("color","color=3.14") + new AbstractMap.SimpleEntry<>("color","color=3.14") ), new ParamTestCase( "blue", - Map.of("color", "color=blue") + new AbstractMap.SimpleEntry<>("color", "color=blue") ), new ParamTestCase( "hello world", - Map.of("color", "color=hello world") + new AbstractMap.SimpleEntry<>("color", "color=hello world") ), new ParamTestCase( "", - Map.of("color", "color=") + new AbstractMap.SimpleEntry<>("color", "color=") ), new ParamTestCase( List.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "color=blue&color=black&color=brown") + new AbstractMap.SimpleEntry<>("color", "color=blue&color=black&color=brown") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "color=blue&color=black&color=brown"), + new AbstractMap.SimpleEntry<>("color", "color=blue&color=black&color=brown"), true ), new ParamTestCase( Map.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( mapPayload, - Map.of("color", "R=100&G=200&B=150") + new AbstractMap.SimpleEntry<>("color", "R=100&G=200&B=150") ), new ParamTestCase( mapPayload, - Map.of("color", "R=100&G=200&B=150"), + new AbstractMap.SimpleEntry<>("color", "R=100&G=200&B=150"), true ) ); - SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); for (ParamTestCase testCase: testCases) { var cookieParameter = new CookieParameter(testCase.explode); - var serialization = cookieParameter.serialize(testCase.payload, false, configuration); + var serialization = cookieParameter.serialize(testCase.payload); Assert.assertEquals(testCase.expectedSerialization, serialization); } var cookieParameter = new CookieParameter(false); for (boolean value: Set.of(true, false)) { Assert.assertThrows( InvalidTypeException.class, - () -> cookieParameter.serialize(value, false, configuration) + () -> cookieParameter.serialize(value) ); } } - public static class PathMatrixParameter extends SchemaNonQueryParameter { + public static class PathMatrixParameter extends SchemaParameter { public PathMatrixParameter(@Nullable Boolean explode) { super("color", ParameterInType.PATH, true, ParameterStyle.MATRIX, explode, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); } @@ -272,64 +268,63 @@ public void testPathMatrixSerialization() { var testCases = List.of( new ParamTestCase( null, - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( 1, - Map.of("color", ";color=1") + new AbstractMap.SimpleEntry<>("color", ";color=1") ), new ParamTestCase( 3.14, - Map.of("color",";color=3.14") + new AbstractMap.SimpleEntry<>("color",";color=3.14") ), new ParamTestCase( "blue", - Map.of("color", ";color=blue") + new AbstractMap.SimpleEntry<>("color", ";color=blue") ), new ParamTestCase( "hello world", - Map.of("color", ";color=hello%20world") + new AbstractMap.SimpleEntry<>("color", ";color=hello%20world") ), new ParamTestCase( "", - Map.of("color", ";color") + new AbstractMap.SimpleEntry<>("color", ";color") ), new ParamTestCase( List.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", ";color=blue,black,brown") + new AbstractMap.SimpleEntry<>("color", ";color=blue,black,brown") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", ";color=blue;color=black;color=brown"), + new AbstractMap.SimpleEntry<>("color", ";color=blue;color=black;color=brown"), true ), new ParamTestCase( Map.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( mapPayload, - Map.of("color", ";color=R,100,G,200,B,150") + new AbstractMap.SimpleEntry<>("color", ";color=R,100,G,200,B,150") ), new ParamTestCase( mapPayload, - Map.of("color", ";R=100;G=200;B=150"), + new AbstractMap.SimpleEntry<>("color", ";R=100;G=200;B=150"), true ) ); - SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); for (ParamTestCase testCase: testCases) { var pathParameter = new PathMatrixParameter(testCase.explode); - var serialization = pathParameter.serialize(testCase.payload, false, configuration); + var serialization = pathParameter.serialize(testCase.payload); Assert.assertEquals(testCase.expectedSerialization, serialization); } } - public static class PathLabelParameter extends SchemaNonQueryParameter { + public static class PathLabelParameter extends SchemaParameter { public PathLabelParameter(@Nullable Boolean explode) { super("color", ParameterInType.PATH, true, ParameterStyle.LABEL, explode, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); } @@ -344,59 +339,58 @@ public void testPathLabelSerialization() { var testCases = List.of( new ParamTestCase( null, - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( 1, - Map.of("color", ".1") + new AbstractMap.SimpleEntry<>("color", ".1") ), new ParamTestCase( 3.14, - Map.of("color",".3.14") + new AbstractMap.SimpleEntry<>("color",".3.14") ), new ParamTestCase( "blue", - Map.of("color", ".blue") + new AbstractMap.SimpleEntry<>("color", ".blue") ), new ParamTestCase( "hello world", - Map.of("color", ".hello%20world") + new AbstractMap.SimpleEntry<>("color", ".hello%20world") ), new ParamTestCase( "", - Map.of("color", ".") + new AbstractMap.SimpleEntry<>("color", ".") ), new ParamTestCase( List.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", ".blue.black.brown") + new AbstractMap.SimpleEntry<>("color", ".blue.black.brown") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", ".blue.black.brown"), + new AbstractMap.SimpleEntry<>("color", ".blue.black.brown"), true ), new ParamTestCase( Map.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( mapPayload, - Map.of("color", ".R.100.G.200.B.150") + new AbstractMap.SimpleEntry<>("color", ".R.100.G.200.B.150") ), new ParamTestCase( mapPayload, - Map.of("color", ".R=100.G=200.B=150"), + new AbstractMap.SimpleEntry<>("color", ".R=100.G=200.B=150"), true ) ); - SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); for (ParamTestCase testCase: testCases) { var pathParameter = new PathLabelParameter(testCase.explode); - var serialization = pathParameter.serialize(testCase.payload, false, configuration); + var serialization = pathParameter.serialize(testCase.payload); Assert.assertEquals(testCase.expectedSerialization, serialization); } } diff --git a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java index b36fc740804..c1a720b094f 100644 --- a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java +++ b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java @@ -3,24 +3,23 @@ import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; -import org.openapijsonschematools.client.configurations.JsonSchemaKeywordFlags; -import org.openapijsonschematools.client.configurations.SchemaConfiguration; import org.openapijsonschematools.client.exceptions.InvalidTypeException; import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; import java.util.LinkedHashMap; import java.util.List; +import java.util.AbstractMap; import java.util.Map; import java.util.Set; public class SchemaQueryParameterTest { - public record ParamTestCase(@Nullable Object payload, Map expectedSerialization, @Nullable Boolean explode) { - public ParamTestCase(@Nullable Object payload, Map expectedSerialization) { + public record ParamTestCase(@Nullable Object payload, AbstractMap.SimpleEntry expectedSerialization, @Nullable Boolean explode) { + public ParamTestCase(@Nullable Object payload, AbstractMap.SimpleEntry expectedSerialization) { this(payload, expectedSerialization, null); } } - public static class QueryParameterNoStyle extends SchemaQueryParameter { + public static class QueryParameterNoStyle extends SchemaParameter { public QueryParameterNoStyle(@Nullable Boolean explode) { super("color", ParameterInType.QUERY, true, null, explode, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); } @@ -35,73 +34,70 @@ public void testQueryParameterNoStyleSerialization() { var testCases = List.of( new ParamTestCase( null, - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( 1, - Map.of("color", "?color=1") + new AbstractMap.SimpleEntry<>("color", "color=1") ), new ParamTestCase( 3.14, - Map.of("color","?color=3.14") + new AbstractMap.SimpleEntry<>("color","color=3.14") ), new ParamTestCase( "blue", - Map.of("color", "?color=blue") + new AbstractMap.SimpleEntry<>("color", "color=blue") ), new ParamTestCase( "hello world", - Map.of("color", "?color=hello%20world") + new AbstractMap.SimpleEntry<>("color", "color=hello%20world") ), new ParamTestCase( "", - Map.of("color", "?color=") + new AbstractMap.SimpleEntry<>("color", "color=") ), new ParamTestCase( List.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "?color=blue&color=black&color=brown") + new AbstractMap.SimpleEntry<>("color", "color=blue&color=black&color=brown") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "?color=blue&color=black&color=brown"), + new AbstractMap.SimpleEntry<>("color", "color=blue&color=black&color=brown"), true ), new ParamTestCase( Map.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( mapPayload, - Map.of("color", "?R=100&G=200&B=150") + new AbstractMap.SimpleEntry<>("color", "R=100&G=200&B=150") ), new ParamTestCase( mapPayload, - Map.of("color", "?R=100&G=200&B=150"), + new AbstractMap.SimpleEntry<>("color", "R=100&G=200&B=150"), true ) ); - SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); for (ParamTestCase testCase: testCases) { var parameter = new QueryParameterNoStyle(testCase.explode); - var iterator = parameter.getPrefixSeparatorIterator(); - var serialization = parameter.serialize(testCase.payload, false, configuration, iterator); + var serialization = parameter.serialize(testCase.payload); Assert.assertEquals(testCase.expectedSerialization, serialization); } var parameter = new QueryParameterNoStyle(false); - var iterator = parameter.getPrefixSeparatorIterator(); for (boolean value: Set.of(true, false)) { Assert.assertThrows( InvalidTypeException.class, - () -> parameter.serialize(value, false, configuration, iterator) + () -> parameter.serialize(value) ); } } - public static class QueryParameterSpaceDelimited extends SchemaQueryParameter { + public static class QueryParameterSpaceDelimited extends SchemaParameter { public QueryParameterSpaceDelimited(@Nullable Boolean explode) { super("color", ParameterInType.QUERY, true, ParameterStyle.SPACE_DELIMITED, explode, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); } @@ -116,41 +112,39 @@ public void testQueryParameterSpaceDelimitedSerialization() { var testCases = List.of( new ParamTestCase( List.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "blue%20black%20brown") + new AbstractMap.SimpleEntry<>("color", "blue%20black%20brown") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "blue%20black%20brown"), + new AbstractMap.SimpleEntry<>("color", "blue%20black%20brown"), true ), new ParamTestCase( Map.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( mapPayload, - Map.of("color", "R%20100%20G%20200%20B%20150") + new AbstractMap.SimpleEntry<>("color", "R%20100%20G%20200%20B%20150") ), new ParamTestCase( mapPayload, - Map.of("color", "R=100%20G=200%20B=150"), + new AbstractMap.SimpleEntry<>("color", "R=100%20G=200%20B=150"), true ) ); - SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); for (ParamTestCase testCase: testCases) { var parameter = new QueryParameterSpaceDelimited(testCase.explode); - var iterator = parameter.getPrefixSeparatorIterator(); - var serialization = parameter.serialize(testCase.payload, false, configuration, iterator); + var serialization = parameter.serialize(testCase.payload); Assert.assertEquals(testCase.expectedSerialization, serialization); } } - public static class QueryParameterPipeDelimited extends SchemaQueryParameter { + public static class QueryParameterPipeDelimited extends SchemaParameter { public QueryParameterPipeDelimited(@Nullable Boolean explode) { super("color", ParameterInType.QUERY, true, ParameterStyle.PIPE_DELIMITED, explode, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); } @@ -165,36 +159,34 @@ public void testQueryParameterPipeDelimitedSerialization() { var testCases = List.of( new ParamTestCase( List.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "blue|black|brown") + new AbstractMap.SimpleEntry<>("color", "blue|black|brown") ), new ParamTestCase( List.of("blue", "black", "brown"), - Map.of("color", "blue|black|brown"), + new AbstractMap.SimpleEntry<>("color", "blue|black|brown"), true ), new ParamTestCase( Map.of(), - Map.of("color", "") + new AbstractMap.SimpleEntry<>("color", "") ), new ParamTestCase( mapPayload, - Map.of("color", "R|100|G|200|B|150") + new AbstractMap.SimpleEntry<>("color", "R|100|G|200|B|150") ), new ParamTestCase( mapPayload, - Map.of("color", "R=100|G=200|B=150"), + new AbstractMap.SimpleEntry<>("color", "R=100|G=200|B=150"), true ) ); - SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone()); for (ParamTestCase testCase: testCases) { var parameter = new QueryParameterPipeDelimited(testCase.explode); - var iterator = parameter.getPrefixSeparatorIterator(); - var serialization = parameter.serialize(testCase.payload, false, configuration, iterator); + var serialization = parameter.serialize(testCase.payload); Assert.assertEquals(testCase.expectedSerialization, serialization); } } diff --git a/samples/client/petstore/java/.openapi-generator/FILES b/samples/client/petstore/java/.openapi-generator/FILES index 878ca915447..deff1847b09 100644 --- a/samples/client/petstore/java/.openapi-generator/FILES +++ b/samples/client/petstore/java/.openapi-generator/FILES @@ -1221,6 +1221,10 @@ src/main/java/org/openapijsonschematools/client/servers/server1/Variables.java src/test/java/org/openapijsonschematools/client/configurations/JsonSchemaKeywordFlagsTest.java src/test/java/org/openapijsonschematools/client/header/ContentHeaderTest.java src/test/java/org/openapijsonschematools/client/header/SchemaHeaderTest.java +src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java +src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java +src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java +src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java src/test/java/org/openapijsonschematools/client/requestbody/RequestBodySerializerTest.java diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ContentParameter.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ContentParameter.java index 3219ff718de..79a3e781051 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ContentParameter.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/ContentParameter.java @@ -16,6 +16,7 @@ public ContentParameter(String name, ParameterInType inType, boolean required, @ this.content = content; } + @Override public AbstractMap.SimpleEntry serialize(@Nullable Object inData) { for (Map.Entry> entry: content.entrySet()) { String contentType = entry.getKey(); diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/CookieSerializer.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/CookieSerializer.java index 2fe7e7e56d2..59afc0ca713 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/CookieSerializer.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/CookieSerializer.java @@ -5,6 +5,7 @@ import java.util.AbstractMap; import java.util.LinkedHashMap; import java.util.Map; +import java.util.TreeMap; public abstract class CookieSerializer { private final Map parameters; @@ -15,7 +16,8 @@ protected CookieSerializer(Map parameters) { public String serialize(Map inData) { String result = ""; - for (Map.Entry entry: inData.entrySet()) { + Map sortedData = new TreeMap<>(inData); + for (Map.Entry entry: sortedData.entrySet()) { String mapKey = entry.getKey(); @Nullable Parameter parameter = parameters.get(mapKey); if (parameter == null) { diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/Parameter.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/Parameter.java index e5c9c9dfa87..9fe0745417c 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/Parameter.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/Parameter.java @@ -1,7 +1,6 @@ package org.openapijsonschematools.client.parameter; import org.checkerframework.checker.nullness.qual.Nullable; -import org.openapijsonschematools.client.configurations.SchemaConfiguration; import java.util.AbstractMap; diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaParameter.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaParameter.java index c6ae5d280c4..8acfdafcc8a 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaParameter.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaParameter.java @@ -25,6 +25,7 @@ private ParameterStyle getStyle() { return ParameterStyle.SIMPLE; } + @Override public AbstractMap.SimpleEntry serialize(@Nullable Object inData) { ParameterStyle usedStyle = getStyle(); boolean percentEncode = inType == ParameterInType.QUERY || inType == ParameterInType.PATH; diff --git a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java new file mode 100644 index 00000000000..a19ea8c1007 --- /dev/null +++ b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java @@ -0,0 +1,44 @@ +package org.openapijsonschematools.client.parameter; + +import org.junit.Assert; +import org.junit.Test; +import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; + +import java.util.AbstractMap; +import java.util.Map; + +public class CookieSerializerTest { + public static class Parameter1 extends SchemaParameter { + public Parameter1() { + super("param1", ParameterInType.COOKIE, true, null, null, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); + } + } + + public static class Parameter2 extends SchemaParameter { + public Parameter2() { + super("param2", ParameterInType.COOKIE, true, null, null, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); + } + } + + public static class CookieParametersSerializer extends CookieSerializer { + protected CookieParametersSerializer() { + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", new Parameter1()), + new AbstractMap.SimpleEntry<>("param2", new Parameter2()) + ) + ); + } + } + + @Test + public void testSerialization() { + Map inData = Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", "a"), + new AbstractMap.SimpleEntry<>("param2", 3.14d) + ); + String cookie = new CookieParametersSerializer().serialize(inData); + String expectedCookie = "param1=a; param2=3.14"; + Assert.assertEquals(expectedCookie, cookie); + } +} \ No newline at end of file diff --git a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java new file mode 100644 index 00000000000..bef110af08d --- /dev/null +++ b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java @@ -0,0 +1,45 @@ +package org.openapijsonschematools.client.parameter; + +import org.junit.Assert; +import org.junit.Test; +import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; + +import java.util.AbstractMap; +import java.util.Map; + +public class PathSerializerTest { + public static class Parameter1 extends SchemaParameter { + public Parameter1() { + super("param1", ParameterInType.PATH, true, null, null, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); + } + } + + public static class Parameter2 extends SchemaParameter { + public Parameter2() { + super("param2", ParameterInType.PATH, true, null, null, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); + } + } + + public static class PathParametersSerializer extends PathSerializer { + protected PathParametersSerializer() { + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", new Parameter1()), + new AbstractMap.SimpleEntry<>("param2", new Parameter2()) + ) + ); + } + } + + @Test + public void testSerialization() { + Map inData = Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", "a"), + new AbstractMap.SimpleEntry<>("param2", 3.14d) + ); + String pathWithPlaceholders = "/{param1}/{param2}"; + String path = new PathParametersSerializer().serialize(inData, pathWithPlaceholders); + String expectedPath = "/a/3.14"; + Assert.assertEquals(expectedPath, path); + } +} \ No newline at end of file diff --git a/samples/client/petstore/python/docs/paths/common_param_sub_dir/delete.md b/samples/client/petstore/python/docs/paths/common_param_sub_dir/delete.md index a1024c62215..68073a64e69 100644 --- a/samples/client/petstore/python/docs/paths/common_param_sub_dir/delete.md +++ b/samples/client/petstore/python/docs/paths/common_param_sub_dir/delete.md @@ -158,22 +158,6 @@ with petstore_api.ApiClient(used_configuration) as api_client: pprint(api_response) except petstore_api.ApiException as e: print("Exception when calling FakeApi->delete_common_param: %s\n" % e) - - # example passing only optional values - path_params = { - 'subDir': "c", - } - header_params: operation.HeaderParametersDictInput = { - 'someHeader': "someHeader_example", - } - try: - api_response = api_instance.delete_common_param( - path_params=path_params, - header_params=header_params, - ) - pprint(api_response) - except petstore_api.ApiException as e: - print("Exception when calling FakeApi->delete_common_param: %s\n" % e) ``` [[Back to top]](#top) diff --git a/samples/client/petstore/python/docs/paths/common_param_sub_dir/get.md b/samples/client/petstore/python/docs/paths/common_param_sub_dir/get.md index 216f86e9782..6ffb148e9c9 100644 --- a/samples/client/petstore/python/docs/paths/common_param_sub_dir/get.md +++ b/samples/client/petstore/python/docs/paths/common_param_sub_dir/get.md @@ -143,12 +143,11 @@ with petstore_api.ApiClient(used_configuration) as api_client: # Create an instance of the API class api_instance = fake_api.FakeApi(api_client) - # example passing only optional values - path_params = { + # example passing only required values which don't have defaults set + path_params: operation.PathParametersDictInput = { 'subDir': "a", } query_params: operation.QueryParametersDictInput = { - 'searchStr': "searchStr_example", } try: api_response = api_instance.get_common_param( diff --git a/samples/client/petstore/python/docs/paths/common_param_sub_dir/post.md b/samples/client/petstore/python/docs/paths/common_param_sub_dir/post.md index b6520c1c030..7d08620e206 100644 --- a/samples/client/petstore/python/docs/paths/common_param_sub_dir/post.md +++ b/samples/client/petstore/python/docs/paths/common_param_sub_dir/post.md @@ -143,12 +143,11 @@ with petstore_api.ApiClient(used_configuration) as api_client: # Create an instance of the API class api_instance = fake_api.FakeApi(api_client) - # example passing only optional values - path_params = { + # example passing only required values which don't have defaults set + path_params: operation.PathParametersDictInput = { 'subDir': "a", } header_params: operation.HeaderParametersDictInput = { - 'someHeader': "someHeader_example", } try: api_response = api_instance.post_common_param( diff --git a/samples/client/petstore/python/docs/paths/fake/delete.md b/samples/client/petstore/python/docs/paths/fake/delete.md index c0fbc575c0e..efdd45d1683 100644 --- a/samples/client/petstore/python/docs/paths/fake/delete.md +++ b/samples/client/petstore/python/docs/paths/fake/delete.md @@ -201,27 +201,6 @@ with petstore_api.ApiClient(used_configuration) as api_client: pprint(api_response) except petstore_api.ApiException as e: print("Exception when calling FakeApi->group_parameters: %s\n" % e) - - # example passing only optional values - query_params: operation.QueryParametersDictInput = { - 'required_string_group': "required_string_group_example", - 'required_int64_group': 1, - 'string_group': "string_group_example", - 'int64_group': 1, - } - header_params: operation.HeaderParametersDictInput = { - 'required_boolean_group': "true", - 'boolean_group': "true", - } - try: - # Fake endpoint to test group parameters (optional) - api_response = api_instance.group_parameters( - query_params=query_params, - header_params=header_params, - ) - pprint(api_response) - except petstore_api.ApiException as e: - print("Exception when calling FakeApi->group_parameters: %s\n" % e) ``` [[Back to top]](#top) diff --git a/samples/client/petstore/python/docs/paths/pet_pet_id/delete.md b/samples/client/petstore/python/docs/paths/pet_pet_id/delete.md index 6f1117bff1f..88e2d105438 100644 --- a/samples/client/petstore/python/docs/paths/pet_pet_id/delete.md +++ b/samples/client/petstore/python/docs/paths/pet_pet_id/delete.md @@ -215,23 +215,6 @@ with petstore_api.ApiClient(used_configuration) as api_client: pprint(api_response) except petstore_api.ApiException as e: print("Exception when calling PetApi->delete_pet: %s\n" % e) - - # example passing only optional values - path_params = { - 'petId': 1, - } - header_params: operation.HeaderParametersDictInput = { - 'api_key': "api_key_example", - } - try: - # Deletes a pet - api_response = api_instance.delete_pet( - path_params=path_params, - header_params=header_params, - ) - pprint(api_response) - except petstore_api.ApiException as e: - print("Exception when calling PetApi->delete_pet: %s\n" % e) ``` [[Back to top]](#top) diff --git a/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java b/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java index 12848bdcd90..73f95dfd451 100644 --- a/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java +++ b/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java @@ -865,10 +865,18 @@ public void processOpts() { "src/main/java/packagename/parameter/SchemaParameter.hbs", packagePath() + File.separatorChar + "parameter", "SchemaParameter.java")); + supportingFiles.add(new SupportingFile( + "src/test/java/packagename/parameter/CookieSerializerTest.hbs", + testPackagePath() + File.separatorChar + "parameter", + "CookieSerializerTest.java")); supportingFiles.add(new SupportingFile( "src/test/java/packagename/parameter/HeadersSerializerTest.hbs", testPackagePath() + File.separatorChar + "parameter", "HeadersSerializerTest.java")); + supportingFiles.add(new SupportingFile( + "src/test/java/packagename/parameter/PathSerializerTest.hbs", + testPackagePath() + File.separatorChar + "parameter", + "PathSerializerTest.java")); supportingFiles.add(new SupportingFile( "src/test/java/packagename/parameter/QuerySerializerTest.hbs", testPackagePath() + File.separatorChar + "parameter", diff --git a/src/main/java/org/openapijsonschematools/codegen/generators/openapimodels/CodegenOperation.java b/src/main/java/org/openapijsonschematools/codegen/generators/openapimodels/CodegenOperation.java index b863eb5ae1b..531543abfe0 100644 --- a/src/main/java/org/openapijsonschematools/codegen/generators/openapimodels/CodegenOperation.java +++ b/src/main/java/org/openapijsonschematools/codegen/generators/openapimodels/CodegenOperation.java @@ -142,31 +142,49 @@ public CodegenOperation( @Deprecated public ParameterCollection parameters() { + if (parametersInfo == null) { + return null; + } return parametersInfo.parameters; } @Deprecated public ParameterCollection pathItemParameters() { + if (parametersInfo == null) { + return null; + } return parametersInfo.pathItemParameters; } @Deprecated public CodegenSchema pathParametersSchema() { + if (parametersInfo == null) { + return null; + } return parametersInfo.pathParametersSchema; } @Deprecated public CodegenSchema queryParametersSchema() { + if (parametersInfo == null) { + return null; + } return parametersInfo.queryParametersSchema; } @Deprecated public CodegenSchema headerParametersSchema() { + if (parametersInfo == null) { + return null; + } return parametersInfo.headerParametersSchema; } @Deprecated public CodegenSchema cookieParametersSchema() { + if (parametersInfo == null) { + return null; + } return parametersInfo.cookieParametersSchema; } diff --git a/src/main/resources/java/src/main/java/packagename/parameter/CookieSerializer.hbs b/src/main/resources/java/src/main/java/packagename/parameter/CookieSerializer.hbs index 02c9b858bf4..74e8e2d6465 100644 --- a/src/main/resources/java/src/main/java/packagename/parameter/CookieSerializer.hbs +++ b/src/main/resources/java/src/main/java/packagename/parameter/CookieSerializer.hbs @@ -4,6 +4,7 @@ import org.checkerframework.checker.nullness.qual.Nullable; import java.util.AbstractMap; import java.util.Map; +import java.util.TreeMap; public abstract class CookieSerializer { private final Map parameters; @@ -14,7 +15,8 @@ public abstract class CookieSerializer { public String serialize(Map inData) { String result = ""; - for (Map.Entry entry: inData.entrySet()) { + Map sortedData = new TreeMap<>(inData); + for (Map.Entry entry: sortedData.entrySet()) { String mapKey = entry.getKey(); @Nullable Parameter parameter = parameters.get(mapKey); if (parameter == null) { diff --git a/src/main/resources/java/src/test/java/packagename/parameter/CookieSerializerTest.hbs b/src/main/resources/java/src/test/java/packagename/parameter/CookieSerializerTest.hbs new file mode 100644 index 00000000000..519c675002c --- /dev/null +++ b/src/main/resources/java/src/test/java/packagename/parameter/CookieSerializerTest.hbs @@ -0,0 +1,44 @@ +package {{{packageName}}}.parameter; + +import org.junit.Assert; +import org.junit.Test; +import {{{packageName}}}.schemas.AnyTypeJsonSchema; + +import java.util.AbstractMap; +import java.util.Map; + +public class CookieSerializerTest { + public static class Parameter1 extends SchemaParameter { + public Parameter1() { + super("param1", ParameterInType.COOKIE, true, null, null, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); + } + } + + public static class Parameter2 extends SchemaParameter { + public Parameter2() { + super("param2", ParameterInType.COOKIE, true, null, null, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); + } + } + + public static class CookieParametersSerializer extends CookieSerializer { + protected CookieParametersSerializer() { + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", new Parameter1()), + new AbstractMap.SimpleEntry<>("param2", new Parameter2()) + ) + ); + } + } + + @Test + public void testSerialization() { + Map inData = Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", "a"), + new AbstractMap.SimpleEntry<>("param2", 3.14d) + ); + String cookie = new CookieParametersSerializer().serialize(inData); + String expectedCookie = "param1=a; param2=3.14"; + Assert.assertEquals(expectedCookie, cookie); + } +} \ No newline at end of file diff --git a/src/main/resources/java/src/test/java/packagename/parameter/PathSerializerTest.hbs b/src/main/resources/java/src/test/java/packagename/parameter/PathSerializerTest.hbs new file mode 100644 index 00000000000..75182fcb905 --- /dev/null +++ b/src/main/resources/java/src/test/java/packagename/parameter/PathSerializerTest.hbs @@ -0,0 +1,45 @@ +package {{{packageName}}}.parameter; + +import org.junit.Assert; +import org.junit.Test; +import {{{packageName}}}.schemas.AnyTypeJsonSchema; + +import java.util.AbstractMap; +import java.util.Map; + +public class PathSerializerTest { + public static class Parameter1 extends SchemaParameter { + public Parameter1() { + super("param1", ParameterInType.PATH, true, null, null, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); + } + } + + public static class Parameter2 extends SchemaParameter { + public Parameter2() { + super("param2", ParameterInType.PATH, true, null, null, null, AnyTypeJsonSchema.AnyTypeJsonSchema1.getInstance()); + } + } + + public static class PathParametersSerializer extends PathSerializer { + protected PathParametersSerializer() { + super( + Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", new Parameter1()), + new AbstractMap.SimpleEntry<>("param2", new Parameter2()) + ) + ); + } + } + + @Test + public void testSerialization() { + Map inData = Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", "a"), + new AbstractMap.SimpleEntry<>("param2", 3.14d) + ); + String pathWithPlaceholders = "/{param1}/{param2}"; + String path = new PathParametersSerializer().serialize(inData, pathWithPlaceholders); + String expectedPath = "/a/3.14"; + Assert.assertEquals(expectedPath, path); + } +} \ No newline at end of file From 4ca9de9dffc405543a8ae2159b18fdf1afbdb44c Mon Sep 17 00:00:00 2001 From: Justin Black Date: Wed, 6 Mar 2024 13:29:56 -0800 Subject: [PATCH 19/29] Fixes optional parameter detection --- .../docs/paths/common_param_sub_dir/delete.md | 16 ++++++++++++++ .../docs/paths/common_param_sub_dir/get.md | 16 ++++++++++++++ .../docs/paths/common_param_sub_dir/post.md | 16 ++++++++++++++ .../petstore/python/docs/paths/fake/delete.md | 21 +++++++++++++++++++ .../python/docs/paths/pet_pet_id/delete.md | 17 +++++++++++++++ .../codegen/generators/DefaultGenerator.java | 3 ++- .../openapimodels/CodegenParametersInfo.java | 9 ++++++-- 7 files changed, 95 insertions(+), 3 deletions(-) diff --git a/samples/client/petstore/python/docs/paths/common_param_sub_dir/delete.md b/samples/client/petstore/python/docs/paths/common_param_sub_dir/delete.md index 68073a64e69..a1024c62215 100644 --- a/samples/client/petstore/python/docs/paths/common_param_sub_dir/delete.md +++ b/samples/client/petstore/python/docs/paths/common_param_sub_dir/delete.md @@ -158,6 +158,22 @@ with petstore_api.ApiClient(used_configuration) as api_client: pprint(api_response) except petstore_api.ApiException as e: print("Exception when calling FakeApi->delete_common_param: %s\n" % e) + + # example passing only optional values + path_params = { + 'subDir': "c", + } + header_params: operation.HeaderParametersDictInput = { + 'someHeader': "someHeader_example", + } + try: + api_response = api_instance.delete_common_param( + path_params=path_params, + header_params=header_params, + ) + pprint(api_response) + except petstore_api.ApiException as e: + print("Exception when calling FakeApi->delete_common_param: %s\n" % e) ``` [[Back to top]](#top) diff --git a/samples/client/petstore/python/docs/paths/common_param_sub_dir/get.md b/samples/client/petstore/python/docs/paths/common_param_sub_dir/get.md index 6ffb148e9c9..c7693de1576 100644 --- a/samples/client/petstore/python/docs/paths/common_param_sub_dir/get.md +++ b/samples/client/petstore/python/docs/paths/common_param_sub_dir/get.md @@ -157,6 +157,22 @@ with petstore_api.ApiClient(used_configuration) as api_client: pprint(api_response) except petstore_api.ApiException as e: print("Exception when calling FakeApi->get_common_param: %s\n" % e) + + # example passing only optional values + path_params = { + 'subDir': "a", + } + query_params: operation.QueryParametersDictInput = { + 'searchStr': "searchStr_example", + } + try: + api_response = api_instance.get_common_param( + path_params=path_params, + query_params=query_params, + ) + pprint(api_response) + except petstore_api.ApiException as e: + print("Exception when calling FakeApi->get_common_param: %s\n" % e) ``` [[Back to top]](#top) diff --git a/samples/client/petstore/python/docs/paths/common_param_sub_dir/post.md b/samples/client/petstore/python/docs/paths/common_param_sub_dir/post.md index 7d08620e206..0aca46efb67 100644 --- a/samples/client/petstore/python/docs/paths/common_param_sub_dir/post.md +++ b/samples/client/petstore/python/docs/paths/common_param_sub_dir/post.md @@ -157,6 +157,22 @@ with petstore_api.ApiClient(used_configuration) as api_client: pprint(api_response) except petstore_api.ApiException as e: print("Exception when calling FakeApi->post_common_param: %s\n" % e) + + # example passing only optional values + path_params = { + 'subDir': "a", + } + header_params: operation.HeaderParametersDictInput = { + 'someHeader': "someHeader_example", + } + try: + api_response = api_instance.post_common_param( + path_params=path_params, + header_params=header_params, + ) + pprint(api_response) + except petstore_api.ApiException as e: + print("Exception when calling FakeApi->post_common_param: %s\n" % e) ``` [[Back to top]](#top) diff --git a/samples/client/petstore/python/docs/paths/fake/delete.md b/samples/client/petstore/python/docs/paths/fake/delete.md index efdd45d1683..c0fbc575c0e 100644 --- a/samples/client/petstore/python/docs/paths/fake/delete.md +++ b/samples/client/petstore/python/docs/paths/fake/delete.md @@ -201,6 +201,27 @@ with petstore_api.ApiClient(used_configuration) as api_client: pprint(api_response) except petstore_api.ApiException as e: print("Exception when calling FakeApi->group_parameters: %s\n" % e) + + # example passing only optional values + query_params: operation.QueryParametersDictInput = { + 'required_string_group': "required_string_group_example", + 'required_int64_group': 1, + 'string_group': "string_group_example", + 'int64_group': 1, + } + header_params: operation.HeaderParametersDictInput = { + 'required_boolean_group': "true", + 'boolean_group': "true", + } + try: + # Fake endpoint to test group parameters (optional) + api_response = api_instance.group_parameters( + query_params=query_params, + header_params=header_params, + ) + pprint(api_response) + except petstore_api.ApiException as e: + print("Exception when calling FakeApi->group_parameters: %s\n" % e) ``` [[Back to top]](#top) diff --git a/samples/client/petstore/python/docs/paths/pet_pet_id/delete.md b/samples/client/petstore/python/docs/paths/pet_pet_id/delete.md index 88e2d105438..6f1117bff1f 100644 --- a/samples/client/petstore/python/docs/paths/pet_pet_id/delete.md +++ b/samples/client/petstore/python/docs/paths/pet_pet_id/delete.md @@ -215,6 +215,23 @@ with petstore_api.ApiClient(used_configuration) as api_client: pprint(api_response) except petstore_api.ApiException as e: print("Exception when calling PetApi->delete_pet: %s\n" % e) + + # example passing only optional values + path_params = { + 'petId': 1, + } + header_params: operation.HeaderParametersDictInput = { + 'api_key': "api_key_example", + } + try: + # Deletes a pet + api_response = api_instance.delete_pet( + path_params=path_params, + header_params=header_params, + ) + pprint(api_response) + except petstore_api.ApiException as e: + print("Exception when calling PetApi->delete_pet: %s\n" % e) ``` [[Back to top]](#top) diff --git a/src/main/java/org/openapijsonschematools/codegen/generators/DefaultGenerator.java b/src/main/java/org/openapijsonschematools/codegen/generators/DefaultGenerator.java index dd45d620af4..648fcbb3c33 100644 --- a/src/main/java/org/openapijsonschematools/codegen/generators/DefaultGenerator.java +++ b/src/main/java/org/openapijsonschematools/codegen/generators/DefaultGenerator.java @@ -2933,7 +2933,8 @@ public CodegenOperation fromOperation(Operation operation, String jsonPath, Link if (parametersInfo != null) { if (parametersInfo.hasRequired) { hasRequiredParamOrBody = true; - } else { + } + if (parametersInfo.hasOptional) { hasOptionalParamOrBody = true; } } diff --git a/src/main/java/org/openapijsonschematools/codegen/generators/openapimodels/CodegenParametersInfo.java b/src/main/java/org/openapijsonschematools/codegen/generators/openapimodels/CodegenParametersInfo.java index 353ea3eb08d..743b9cc2593 100644 --- a/src/main/java/org/openapijsonschematools/codegen/generators/openapimodels/CodegenParametersInfo.java +++ b/src/main/java/org/openapijsonschematools/codegen/generators/openapimodels/CodegenParametersInfo.java @@ -13,6 +13,7 @@ public class CodegenParametersInfo { public final CodegenSchema headerParametersSchema; public final CodegenSchema cookieParametersSchema; public final boolean hasRequired; + public final boolean hasOptional; public List pathParameters() { List params = new ArrayList<>(); @@ -96,11 +97,13 @@ public CodegenParametersInfo(CodegenKey jsonPathPiece, String subpackage, Parame this.cookieParametersSchema = cookieParametersSchema; this.pathItemParameters = pathItemParameters; boolean hasRequired = false; + boolean hasOptional = false; if (parameters != null) { for (CodegenParameter param: parameters.allParameters) { if (Boolean.TRUE.equals(param.getSelfOrDeepestRef().required)) { hasRequired = true; - break; + } else { + hasOptional = true; } } } @@ -108,10 +111,12 @@ public CodegenParametersInfo(CodegenKey jsonPathPiece, String subpackage, Parame for (CodegenParameter param : pathItemParameters.allParameters) { if (Boolean.TRUE.equals(param.getSelfOrDeepestRef().required)) { hasRequired = true; - break; + } else { + hasOptional = true; } } } this.hasRequired = hasRequired; + this.hasOptional = hasOptional; } } From f86809179d3e4019d8e37d3c3cefc7e8808b9ddc Mon Sep 17 00:00:00 2001 From: Justin Black Date: Wed, 6 Mar 2024 14:20:38 -0800 Subject: [PATCH 20/29] Regenerates samples --- .../client/parameter/HeadersSerializer.java | 7 ++++--- .../client/parameter/HeadersSerializerTest.java | 9 +++++---- .../client/parameter/HeadersSerializer.java | 7 ++++--- .../client/parameter/HeadersSerializerTest.java | 9 +++++---- .../client/parameter/HeadersSerializer.java | 7 ++++--- .../ApiKeyCookieSecurityScheme.java | 15 +++++++++++---- .../ApiKeyHeaderSecurityScheme.java | 2 +- .../ApiKeyQuerySecurityScheme.java | 4 ++-- .../securityschemes/HttpBasicSecurityScheme.java | 2 +- .../securityschemes/HttpBearerSecurityScheme.java | 2 +- .../securityschemes/HttpDigestSecurityScheme.java | 2 +- .../HttpSignatureSecurityScheme.java | 2 +- .../securityschemes/MutualTlsSecurityScheme.java | 2 +- .../securityschemes/OAuth2SecurityScheme.java | 2 +- .../OpenIdConnectSecurityScheme.java | 2 +- .../client/securityschemes/SecurityScheme.java | 2 +- .../client/parameter/HeadersSerializerTest.java | 9 +++++---- .../components/securityschemes/SecurityScheme.hbs | 2 +- .../packagename/parameter/HeadersSerializer.hbs | 7 ++++--- .../ApiKeyCookieSecurityScheme.hbs | 15 +++++++++++---- .../ApiKeyHeaderSecurityScheme.hbs | 2 +- .../securityschemes/ApiKeyQuerySecurityScheme.hbs | 4 ++-- .../securityschemes/HttpBasicSecurityScheme.hbs | 2 +- .../securityschemes/HttpBearerSecurityScheme.hbs | 2 +- .../securityschemes/HttpDigestSecurityScheme.hbs | 2 +- .../HttpSignatureSecurityScheme.hbs | 2 +- .../securityschemes/MutualTlsSecurityScheme.hbs | 2 +- .../securityschemes/OAuth2SecurityScheme.hbs | 2 +- .../OpenIdConnectSecurityScheme.hbs | 2 +- .../securityschemes/SecurityScheme.hbs | 2 +- .../parameter/HeadersSerializerTest.hbs | 9 +++++---- 31 files changed, 81 insertions(+), 59 deletions(-) diff --git a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java b/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java index 80067f28bde..b4a23229944 100644 --- a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java +++ b/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java @@ -5,6 +5,7 @@ import java.util.AbstractMap; import java.util.LinkedHashMap; import java.util.Map; +import java.util.List; public abstract class HeadersSerializer { private final Map parameters; @@ -13,8 +14,8 @@ protected HeadersSerializer(Map parameters) { this.parameters = parameters; } - public Map serialize(Map inData) { - Map results = new LinkedHashMap<>(); + public Map> serialize(Map inData) { + Map> results = new LinkedHashMap<>(); for (Map.Entry entry: inData.entrySet()) { String mapKey = entry.getKey(); @Nullable Parameter parameter = parameters.get(mapKey); @@ -23,7 +24,7 @@ public Map serialize(Map inData) { } @Nullable Object value = entry.getValue(); AbstractMap.SimpleEntry serialized = parameter.serialize(value); - results.put(serialized.getKey(), serialized.getValue()); + results.put(serialized.getKey(), List.of(serialized.getValue())); } return results; } diff --git a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java index 8547f555646..63f3159bf0a 100644 --- a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java +++ b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java @@ -6,6 +6,7 @@ import java.util.AbstractMap; import java.util.Map; +import java.util.List; public class HeadersSerializerTest { public static class Param1HeaderParameter extends SchemaParameter { @@ -37,11 +38,11 @@ public void testSerialization() { new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); - Map expectedHeaders = Map.ofEntries( - new AbstractMap.SimpleEntry<>("param1", "a"), - new AbstractMap.SimpleEntry<>("param2", "3.14") + Map> expectedHeaders = Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", List.of("a")), + new AbstractMap.SimpleEntry<>("param2", List.of("3.14")) ); - Map headers = new HeaderParametersSerializer().serialize(inData); + Map> headers = new HeaderParametersSerializer().serialize(inData); Assert.assertEquals(expectedHeaders, headers); } } \ No newline at end of file diff --git a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java b/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java index 80067f28bde..b4a23229944 100644 --- a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java +++ b/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java @@ -5,6 +5,7 @@ import java.util.AbstractMap; import java.util.LinkedHashMap; import java.util.Map; +import java.util.List; public abstract class HeadersSerializer { private final Map parameters; @@ -13,8 +14,8 @@ protected HeadersSerializer(Map parameters) { this.parameters = parameters; } - public Map serialize(Map inData) { - Map results = new LinkedHashMap<>(); + public Map> serialize(Map inData) { + Map> results = new LinkedHashMap<>(); for (Map.Entry entry: inData.entrySet()) { String mapKey = entry.getKey(); @Nullable Parameter parameter = parameters.get(mapKey); @@ -23,7 +24,7 @@ public Map serialize(Map inData) { } @Nullable Object value = entry.getValue(); AbstractMap.SimpleEntry serialized = parameter.serialize(value); - results.put(serialized.getKey(), serialized.getValue()); + results.put(serialized.getKey(), List.of(serialized.getValue())); } return results; } diff --git a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java index 8547f555646..63f3159bf0a 100644 --- a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java +++ b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java @@ -6,6 +6,7 @@ import java.util.AbstractMap; import java.util.Map; +import java.util.List; public class HeadersSerializerTest { public static class Param1HeaderParameter extends SchemaParameter { @@ -37,11 +38,11 @@ public void testSerialization() { new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); - Map expectedHeaders = Map.ofEntries( - new AbstractMap.SimpleEntry<>("param1", "a"), - new AbstractMap.SimpleEntry<>("param2", "3.14") + Map> expectedHeaders = Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", List.of("a")), + new AbstractMap.SimpleEntry<>("param2", List.of("3.14")) ); - Map headers = new HeaderParametersSerializer().serialize(inData); + Map> headers = new HeaderParametersSerializer().serialize(inData); Assert.assertEquals(expectedHeaders, headers); } } \ No newline at end of file diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java index 80067f28bde..b4a23229944 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java @@ -5,6 +5,7 @@ import java.util.AbstractMap; import java.util.LinkedHashMap; import java.util.Map; +import java.util.List; public abstract class HeadersSerializer { private final Map parameters; @@ -13,8 +14,8 @@ protected HeadersSerializer(Map parameters) { this.parameters = parameters; } - public Map serialize(Map inData) { - Map results = new LinkedHashMap<>(); + public Map> serialize(Map inData) { + Map> results = new LinkedHashMap<>(); for (Map.Entry entry: inData.entrySet()) { String mapKey = entry.getKey(); @Nullable Parameter parameter = parameters.get(mapKey); @@ -23,7 +24,7 @@ public Map serialize(Map inData) { } @Nullable Object value = entry.getValue(); AbstractMap.SimpleEntry serialized = parameter.serialize(value); - results.put(serialized.getKey(), serialized.getValue()); + results.put(serialized.getKey(), List.of(serialized.getValue())); } return results; } diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/ApiKeyCookieSecurityScheme.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/ApiKeyCookieSecurityScheme.java index 47924f48779..720b41714e1 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/ApiKeyCookieSecurityScheme.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/ApiKeyCookieSecurityScheme.java @@ -9,14 +9,21 @@ public class ApiKeyCookieSecurityScheme implements SecurityScheme { private final String apiKey; + private final String name; - protected ApiKeyCookieSecurityScheme(String apiKey) { + protected ApiKeyCookieSecurityScheme(String apiKey, String name) { this.apiKey = apiKey; + this.name = name; } @Override - public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, @Nullable String queryParamsSuffix, List scopeNames) { - List cookieValue = headers.getOrDefault("Cookie", new ArrayList<>()); - cookieValue.add(apiKey); + public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, Map queryMap, List scopeNames) { + List cookieHeaderValues = headers.getOrDefault("Cookie", new ArrayList<>()); + String cookieValue = name + "=" + apiKey; + if (cookieHeaderValues.isEmpty()) { + cookieHeaderValues.add(cookieValue); + } else { + cookieHeaderValues.set(0, cookieHeaderValues.get(0)+ "; " + cookieValue); + } } } \ No newline at end of file diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/ApiKeyHeaderSecurityScheme.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/ApiKeyHeaderSecurityScheme.java index b8108586788..a19e3051a5f 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/ApiKeyHeaderSecurityScheme.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/ApiKeyHeaderSecurityScheme.java @@ -17,7 +17,7 @@ protected ApiKeyHeaderSecurityScheme(String apiKey, String name) { } @Override - public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, @Nullable String queryParamsSuffix, List scopeNames) { + public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, Map queryMap, List scopeNames) { List headerValue = headers.getOrDefault(name, new ArrayList<>()); headerValue.add(apiKey); } diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/ApiKeyQuerySecurityScheme.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/ApiKeyQuerySecurityScheme.java index 638271f9eaf..7612f75fc2f 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/ApiKeyQuerySecurityScheme.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/ApiKeyQuerySecurityScheme.java @@ -17,7 +17,7 @@ protected ApiKeyQuerySecurityScheme(String apiKey, String name) { } @Override - public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, @Nullable String queryParamsSuffix, List scopeNames) { - throw new UnsupportedOperationException("If you need this, submit a PR adding this feature"); + public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, Map queryMap, List scopeNames) { + queryMap.put(name, apiKey); } } \ No newline at end of file diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/HttpBasicSecurityScheme.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/HttpBasicSecurityScheme.java index 58ca37133e0..7a22f86c495 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/HttpBasicSecurityScheme.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/HttpBasicSecurityScheme.java @@ -23,7 +23,7 @@ public HttpBasicSecurityScheme(String userId, String password) { } @Override - public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, @Nullable String queryParamsSuffix, List scopeNames) { + public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, Map queryMap, List scopeNames) { String userPass = userId + ":" + password; String b64UserPass = Base64.getEncoder().encodeToString(userPass.getBytes(StandardCharsets.UTF_8)); List headerValue = headers.getOrDefault("Authorization", new ArrayList<>()); diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/HttpBearerSecurityScheme.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/HttpBearerSecurityScheme.java index 17ff7f595a9..94618ff92a0 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/HttpBearerSecurityScheme.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/HttpBearerSecurityScheme.java @@ -27,7 +27,7 @@ protected HttpBearerSecurityScheme(String accessToken) { } @Override - public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, @Nullable String queryParamsSuffix, List scopeNames) { + public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, Map queryMap, List scopeNames) { List headerValue = headers.getOrDefault("Authorization", new ArrayList<>()); headerValue.add("Bearer " + accessToken); } diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/HttpDigestSecurityScheme.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/HttpDigestSecurityScheme.java index 8e96ab0a0c0..21aefd864e3 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/HttpDigestSecurityScheme.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/HttpDigestSecurityScheme.java @@ -8,7 +8,7 @@ public class HttpDigestSecurityScheme implements SecurityScheme { @Override - public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, @Nullable String queryParamsSuffix, List scopeNames) { + public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, Map queryMap, List scopeNames) { throw new UnsupportedOperationException("If you need this, submit a PR adding this feature"); } } \ No newline at end of file diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/HttpSignatureSecurityScheme.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/HttpSignatureSecurityScheme.java index 39374217373..647e0190f49 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/HttpSignatureSecurityScheme.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/HttpSignatureSecurityScheme.java @@ -8,7 +8,7 @@ public class HttpSignatureSecurityScheme implements SecurityScheme { @Override - public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, @Nullable String queryParamsSuffix, List scopeNames) { + public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, Map queryMap, List scopeNames) { throw new UnsupportedOperationException("If you need this, submit a PR adding this feature"); } } \ No newline at end of file diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/MutualTlsSecurityScheme.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/MutualTlsSecurityScheme.java index c5de4857e43..b7d77aa1c02 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/MutualTlsSecurityScheme.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/MutualTlsSecurityScheme.java @@ -8,7 +8,7 @@ public class MutualTlsSecurityScheme implements SecurityScheme { @Override - public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, @Nullable String queryParamsSuffix, List scopeNames) { + public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, Map queryMap, List scopeNames) { throw new UnsupportedOperationException("If you need this, submit a PR adding this feature"); } } \ No newline at end of file diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/OAuth2SecurityScheme.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/OAuth2SecurityScheme.java index 331a2de41d3..22bf13ba13c 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/OAuth2SecurityScheme.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/OAuth2SecurityScheme.java @@ -8,7 +8,7 @@ public class OAuth2SecurityScheme implements SecurityScheme { @Override - public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, @Nullable String queryParamsSuffix, List scopeNames) { + public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, Map queryMap, List scopeNames) { throw new UnsupportedOperationException("If you need this, submit a PR adding this feature"); } } \ No newline at end of file diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/OpenIdConnectSecurityScheme.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/OpenIdConnectSecurityScheme.java index 40d20af483b..3594dc116ab 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/OpenIdConnectSecurityScheme.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/OpenIdConnectSecurityScheme.java @@ -8,7 +8,7 @@ public class OpenIdConnectSecurityScheme implements SecurityScheme { @Override - public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, @Nullable String queryParamsSuffix, List scopeNames) { + public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, Map queryMap, List scopeNames) { throw new UnsupportedOperationException("If you need this, submit a PR adding this feature"); } } \ No newline at end of file diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/SecurityScheme.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/SecurityScheme.java index a10949dd0f6..1540c19cef3 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/SecurityScheme.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/securityschemes/SecurityScheme.java @@ -12,7 +12,7 @@ void applyAuth( String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, - @Nullable String queryParamsSuffix, + Map queryMap, List scopeNames ); } diff --git a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java index 8547f555646..63f3159bf0a 100644 --- a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java +++ b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java @@ -6,6 +6,7 @@ import java.util.AbstractMap; import java.util.Map; +import java.util.List; public class HeadersSerializerTest { public static class Param1HeaderParameter extends SchemaParameter { @@ -37,11 +38,11 @@ public void testSerialization() { new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); - Map expectedHeaders = Map.ofEntries( - new AbstractMap.SimpleEntry<>("param1", "a"), - new AbstractMap.SimpleEntry<>("param2", "3.14") + Map> expectedHeaders = Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", List.of("a")), + new AbstractMap.SimpleEntry<>("param2", List.of("3.14")) ); - Map headers = new HeaderParametersSerializer().serialize(inData); + Map> headers = new HeaderParametersSerializer().serialize(inData); Assert.assertEquals(expectedHeaders, headers); } } \ No newline at end of file diff --git a/src/main/resources/java/src/main/java/packagename/components/securityschemes/SecurityScheme.hbs b/src/main/resources/java/src/main/java/packagename/components/securityschemes/SecurityScheme.hbs index 39a8f075179..2e1175d980c 100644 --- a/src/main/resources/java/src/main/java/packagename/components/securityschemes/SecurityScheme.hbs +++ b/src/main/resources/java/src/main/java/packagename/components/securityschemes/SecurityScheme.hbs @@ -65,7 +65,7 @@ public class {{jsonPathPiece.pascalCase}} extends ApiKeyQuerySecurityScheme { {{/if}} {{#eq in "cookie"}} public {{jsonPathPiece.pascalCase}}(String apiKey) { - super(apiKey); + super(apiKey, "{{{name}}}"); } {{else}} {{#eq in "header"}} diff --git a/src/main/resources/java/src/main/java/packagename/parameter/HeadersSerializer.hbs b/src/main/resources/java/src/main/java/packagename/parameter/HeadersSerializer.hbs index 349c9b1fefe..78b184bef5e 100644 --- a/src/main/resources/java/src/main/java/packagename/parameter/HeadersSerializer.hbs +++ b/src/main/resources/java/src/main/java/packagename/parameter/HeadersSerializer.hbs @@ -5,6 +5,7 @@ import org.checkerframework.checker.nullness.qual.Nullable; import java.util.AbstractMap; import java.util.LinkedHashMap; import java.util.Map; +import java.util.List; public abstract class HeadersSerializer { private final Map parameters; @@ -13,8 +14,8 @@ public abstract class HeadersSerializer { this.parameters = parameters; } - public Map serialize(Map inData) { - Map results = new LinkedHashMap<>(); + public Map> serialize(Map inData) { + Map> results = new LinkedHashMap<>(); for (Map.Entry entry: inData.entrySet()) { String mapKey = entry.getKey(); @Nullable Parameter parameter = parameters.get(mapKey); @@ -23,7 +24,7 @@ public abstract class HeadersSerializer { } @Nullable Object value = entry.getValue(); AbstractMap.SimpleEntry serialized = parameter.serialize(value); - results.put(serialized.getKey(), serialized.getValue()); + results.put(serialized.getKey(), List.of(serialized.getValue())); } return results; } diff --git a/src/main/resources/java/src/main/java/packagename/securityschemes/ApiKeyCookieSecurityScheme.hbs b/src/main/resources/java/src/main/java/packagename/securityschemes/ApiKeyCookieSecurityScheme.hbs index 1e499184644..8865e124737 100644 --- a/src/main/resources/java/src/main/java/packagename/securityschemes/ApiKeyCookieSecurityScheme.hbs +++ b/src/main/resources/java/src/main/java/packagename/securityschemes/ApiKeyCookieSecurityScheme.hbs @@ -9,14 +9,21 @@ import java.util.Map; public class ApiKeyCookieSecurityScheme implements SecurityScheme { private final String apiKey; + private final String name; - protected ApiKeyCookieSecurityScheme(String apiKey) { + protected ApiKeyCookieSecurityScheme(String apiKey, String name) { this.apiKey = apiKey; + this.name = name; } @Override - public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, @Nullable String queryParamsSuffix, List scopeNames) { - List cookieValue = headers.getOrDefault("Cookie", new ArrayList<>()); - cookieValue.add(apiKey); + public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, Map queryMap, List scopeNames) { + List cookieHeaderValues = headers.getOrDefault("Cookie", new ArrayList<>()); + String cookieValue = name + "=" + apiKey; + if (cookieHeaderValues.isEmpty()) { + cookieHeaderValues.add(cookieValue); + } else { + cookieHeaderValues.set(0, cookieHeaderValues.get(0)+ "; " + cookieValue); + } } } \ No newline at end of file diff --git a/src/main/resources/java/src/main/java/packagename/securityschemes/ApiKeyHeaderSecurityScheme.hbs b/src/main/resources/java/src/main/java/packagename/securityschemes/ApiKeyHeaderSecurityScheme.hbs index 850955855d3..a08b1379316 100644 --- a/src/main/resources/java/src/main/java/packagename/securityschemes/ApiKeyHeaderSecurityScheme.hbs +++ b/src/main/resources/java/src/main/java/packagename/securityschemes/ApiKeyHeaderSecurityScheme.hbs @@ -17,7 +17,7 @@ public class ApiKeyHeaderSecurityScheme implements SecurityScheme { } @Override - public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, @Nullable String queryParamsSuffix, List scopeNames) { + public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, Map queryMap, List scopeNames) { List headerValue = headers.getOrDefault(name, new ArrayList<>()); headerValue.add(apiKey); } diff --git a/src/main/resources/java/src/main/java/packagename/securityschemes/ApiKeyQuerySecurityScheme.hbs b/src/main/resources/java/src/main/java/packagename/securityschemes/ApiKeyQuerySecurityScheme.hbs index fc056de76f9..5eec16a9f9e 100644 --- a/src/main/resources/java/src/main/java/packagename/securityschemes/ApiKeyQuerySecurityScheme.hbs +++ b/src/main/resources/java/src/main/java/packagename/securityschemes/ApiKeyQuerySecurityScheme.hbs @@ -17,7 +17,7 @@ public class ApiKeyQuerySecurityScheme implements SecurityScheme { } @Override - public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, @Nullable String queryParamsSuffix, List scopeNames) { - throw new UnsupportedOperationException("If you need this, submit a PR adding this feature"); + public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, Map queryMap, List scopeNames) { + queryMap.put(name, apiKey); } } \ No newline at end of file diff --git a/src/main/resources/java/src/main/java/packagename/securityschemes/HttpBasicSecurityScheme.hbs b/src/main/resources/java/src/main/java/packagename/securityschemes/HttpBasicSecurityScheme.hbs index d8c4ca8c5e5..6ecbe9ad4ae 100644 --- a/src/main/resources/java/src/main/java/packagename/securityschemes/HttpBasicSecurityScheme.hbs +++ b/src/main/resources/java/src/main/java/packagename/securityschemes/HttpBasicSecurityScheme.hbs @@ -23,7 +23,7 @@ public class HttpBasicSecurityScheme implements SecurityScheme { } @Override - public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, @Nullable String queryParamsSuffix, List scopeNames) { + public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, Map queryMap, List scopeNames) { String userPass = userId + ":" + password; String b64UserPass = Base64.getEncoder().encodeToString(userPass.getBytes(StandardCharsets.UTF_8)); List headerValue = headers.getOrDefault("Authorization", new ArrayList<>()); diff --git a/src/main/resources/java/src/main/java/packagename/securityschemes/HttpBearerSecurityScheme.hbs b/src/main/resources/java/src/main/java/packagename/securityschemes/HttpBearerSecurityScheme.hbs index 1144b5d2a91..c46865cf123 100644 --- a/src/main/resources/java/src/main/java/packagename/securityschemes/HttpBearerSecurityScheme.hbs +++ b/src/main/resources/java/src/main/java/packagename/securityschemes/HttpBearerSecurityScheme.hbs @@ -27,7 +27,7 @@ public class HttpBearerSecurityScheme implements SecurityScheme { } @Override - public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, @Nullable String queryParamsSuffix, List scopeNames) { + public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, Map queryMap, List scopeNames) { List headerValue = headers.getOrDefault("Authorization", new ArrayList<>()); headerValue.add("Bearer " + accessToken); } diff --git a/src/main/resources/java/src/main/java/packagename/securityschemes/HttpDigestSecurityScheme.hbs b/src/main/resources/java/src/main/java/packagename/securityschemes/HttpDigestSecurityScheme.hbs index 9eb3fa4738e..617e26150ff 100644 --- a/src/main/resources/java/src/main/java/packagename/securityschemes/HttpDigestSecurityScheme.hbs +++ b/src/main/resources/java/src/main/java/packagename/securityschemes/HttpDigestSecurityScheme.hbs @@ -8,7 +8,7 @@ import java.util.Map; public class HttpDigestSecurityScheme implements SecurityScheme { @Override - public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, @Nullable String queryParamsSuffix, List scopeNames) { + public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, Map queryMap, List scopeNames) { throw new UnsupportedOperationException("If you need this, submit a PR adding this feature"); } } \ No newline at end of file diff --git a/src/main/resources/java/src/main/java/packagename/securityschemes/HttpSignatureSecurityScheme.hbs b/src/main/resources/java/src/main/java/packagename/securityschemes/HttpSignatureSecurityScheme.hbs index 3df20315d38..e14f960a1a4 100644 --- a/src/main/resources/java/src/main/java/packagename/securityschemes/HttpSignatureSecurityScheme.hbs +++ b/src/main/resources/java/src/main/java/packagename/securityschemes/HttpSignatureSecurityScheme.hbs @@ -8,7 +8,7 @@ import java.util.Map; public class HttpSignatureSecurityScheme implements SecurityScheme { @Override - public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, @Nullable String queryParamsSuffix, List scopeNames) { + public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, Map queryMap, List scopeNames) { throw new UnsupportedOperationException("If you need this, submit a PR adding this feature"); } } \ No newline at end of file diff --git a/src/main/resources/java/src/main/java/packagename/securityschemes/MutualTlsSecurityScheme.hbs b/src/main/resources/java/src/main/java/packagename/securityschemes/MutualTlsSecurityScheme.hbs index 6d864807363..d06410fef80 100644 --- a/src/main/resources/java/src/main/java/packagename/securityschemes/MutualTlsSecurityScheme.hbs +++ b/src/main/resources/java/src/main/java/packagename/securityschemes/MutualTlsSecurityScheme.hbs @@ -8,7 +8,7 @@ import java.util.Map; public class MutualTlsSecurityScheme implements SecurityScheme { @Override - public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, @Nullable String queryParamsSuffix, List scopeNames) { + public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, Map queryMap, List scopeNames) { throw new UnsupportedOperationException("If you need this, submit a PR adding this feature"); } } \ No newline at end of file diff --git a/src/main/resources/java/src/main/java/packagename/securityschemes/OAuth2SecurityScheme.hbs b/src/main/resources/java/src/main/java/packagename/securityschemes/OAuth2SecurityScheme.hbs index 9b4c4501648..5d98f87021b 100644 --- a/src/main/resources/java/src/main/java/packagename/securityschemes/OAuth2SecurityScheme.hbs +++ b/src/main/resources/java/src/main/java/packagename/securityschemes/OAuth2SecurityScheme.hbs @@ -8,7 +8,7 @@ import java.util.Map; public class OAuth2SecurityScheme implements SecurityScheme { @Override - public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, @Nullable String queryParamsSuffix, List scopeNames) { + public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, Map queryMap, List scopeNames) { throw new UnsupportedOperationException("If you need this, submit a PR adding this feature"); } } \ No newline at end of file diff --git a/src/main/resources/java/src/main/java/packagename/securityschemes/OpenIdConnectSecurityScheme.hbs b/src/main/resources/java/src/main/java/packagename/securityschemes/OpenIdConnectSecurityScheme.hbs index 9eca2e03703..b4b9d5680d5 100644 --- a/src/main/resources/java/src/main/java/packagename/securityschemes/OpenIdConnectSecurityScheme.hbs +++ b/src/main/resources/java/src/main/java/packagename/securityschemes/OpenIdConnectSecurityScheme.hbs @@ -8,7 +8,7 @@ import java.util.Map; public class OpenIdConnectSecurityScheme implements SecurityScheme { @Override - public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, @Nullable String queryParamsSuffix, List scopeNames) { + public void applyAuth(Map> headers, String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, Map queryMap, List scopeNames) { throw new UnsupportedOperationException("If you need this, submit a PR adding this feature"); } } \ No newline at end of file diff --git a/src/main/resources/java/src/main/java/packagename/securityschemes/SecurityScheme.hbs b/src/main/resources/java/src/main/java/packagename/securityschemes/SecurityScheme.hbs index 78d57c6ce85..10d8b73bf6c 100644 --- a/src/main/resources/java/src/main/java/packagename/securityschemes/SecurityScheme.hbs +++ b/src/main/resources/java/src/main/java/packagename/securityschemes/SecurityScheme.hbs @@ -12,7 +12,7 @@ public interface SecurityScheme { String resourcePath, String method, HttpRequest.BodyPublisher bodyPublisher, - @Nullable String queryParamsSuffix, + Map queryMap, List scopeNames ); } diff --git a/src/main/resources/java/src/test/java/packagename/parameter/HeadersSerializerTest.hbs b/src/main/resources/java/src/test/java/packagename/parameter/HeadersSerializerTest.hbs index ff4dcec2b86..c1ee270e699 100644 --- a/src/main/resources/java/src/test/java/packagename/parameter/HeadersSerializerTest.hbs +++ b/src/main/resources/java/src/test/java/packagename/parameter/HeadersSerializerTest.hbs @@ -6,6 +6,7 @@ import {{{packageName}}}.schemas.AnyTypeJsonSchema; import java.util.AbstractMap; import java.util.Map; +import java.util.List; public class HeadersSerializerTest { public static class Param1HeaderParameter extends SchemaParameter { @@ -37,11 +38,11 @@ public class HeadersSerializerTest { new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); - Map expectedHeaders = Map.ofEntries( - new AbstractMap.SimpleEntry<>("param1", "a"), - new AbstractMap.SimpleEntry<>("param2", "3.14") + Map> expectedHeaders = Map.ofEntries( + new AbstractMap.SimpleEntry<>("param1", List.of("a")), + new AbstractMap.SimpleEntry<>("param2", List.of("3.14")) ); - Map headers = new HeaderParametersSerializer().serialize(inData); + Map> headers = new HeaderParametersSerializer().serialize(inData); Assert.assertEquals(expectedHeaders, headers); } } \ No newline at end of file From 464d3f173278bb1b401abd8d14e8e8b01fa14981 Mon Sep 17 00:00:00 2001 From: Justin Black Date: Wed, 6 Mar 2024 14:41:08 -0800 Subject: [PATCH 21/29] Fixes java tests --- .../codegen/generators/DefaultGenerator.java | 2 +- .../codegen/generatorrunner/DefaultGeneratorRunnerTest.java | 4 ++-- .../codegen/generators/DefaultGeneratorTest.java | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/openapijsonschematools/codegen/generators/DefaultGenerator.java b/src/main/java/org/openapijsonschematools/codegen/generators/DefaultGenerator.java index 648fcbb3c33..ef44359a3ee 100644 --- a/src/main/java/org/openapijsonschematools/codegen/generators/DefaultGenerator.java +++ b/src/main/java/org/openapijsonschematools/codegen/generators/DefaultGenerator.java @@ -2642,7 +2642,7 @@ private void updateXParameters( } private CodegenParametersInfo getParametersInfo(LinkedHashMap, CodegenParameter> pathItemParameters, List parameters, String operationJsonPath) { - if (pathItemParameters.isEmpty() && (parameters == null || parameters.isEmpty())) { + if ((pathItemParameters == null || pathItemParameters.isEmpty()) && (parameters == null || parameters.isEmpty())) { return null; } List allParams = new ArrayList<>(); diff --git a/src/test/java/org/openapijsonschematools/codegen/generatorrunner/DefaultGeneratorRunnerTest.java b/src/test/java/org/openapijsonschematools/codegen/generatorrunner/DefaultGeneratorRunnerTest.java index 8719d5d1fa5..7a82aaf827b 100644 --- a/src/test/java/org/openapijsonschematools/codegen/generatorrunner/DefaultGeneratorRunnerTest.java +++ b/src/test/java/org/openapijsonschematools/codegen/generatorrunner/DefaultGeneratorRunnerTest.java @@ -294,10 +294,10 @@ public void testNonStrictFromPaths() throws Exception { CodegenKey firstPathKey = config.getKey("path1/", "paths"); CodegenKey getKey = config.getKey("get", "verb"); Assert.assertEquals(firstPathKey.original, "path1/"); - Assert.assertNull(paths.get(firstPathKey).operations.get(getKey).parameters); + Assert.assertNull(paths.get(firstPathKey).operations.get(getKey).parametersInfo); CodegenKey secondPathKey = config.getKey("path2/", "paths"); Assert.assertEquals(secondPathKey.original, "path2/"); - Assert.assertEquals(paths.get(secondPathKey).operations.get(getKey).parameters.allParameters.size(), 1); + Assert.assertEquals(paths.get(secondPathKey).operations.get(getKey).parametersInfo.parameters.allParameters.size(), 1); } @Test diff --git a/src/test/java/org/openapijsonschematools/codegen/generators/DefaultGeneratorTest.java b/src/test/java/org/openapijsonschematools/codegen/generators/DefaultGeneratorTest.java index f847fb0a42b..87ed7533a19 100644 --- a/src/test/java/org/openapijsonschematools/codegen/generators/DefaultGeneratorTest.java +++ b/src/test/java/org/openapijsonschematools/codegen/generators/DefaultGeneratorTest.java @@ -1787,7 +1787,7 @@ public void testFormComposedSchema() { final CodegenOperation operation = cg.fromOperation( path.getPost(), getOperationPath("/users/me", "post"), null); - assertNull(operation.parametersInfo.parameters); + assertNull(operation.parametersInfo); assertNotNull(operation.requestBody); } From cc733372585ecfe818c2a8ff64e74830700d8b9b Mon Sep 17 00:00:00 2001 From: Justin Black Date: Wed, 6 Mar 2024 14:58:53 -0800 Subject: [PATCH 22/29] Sample regen with unused java files deleted --- .../client/header/StyleSimpleSerializer.java | 21 ------------------- .../parameter/ContentNonQueryParameter.java | 19 ----------------- .../parameter/ContentQueryParameter.java | 20 ------------------ .../client/parameter/NonQueryParameter.java | 10 --------- .../client/parameter/QueryParameter.java | 12 ----------- .../parameter/SchemaNonQueryParameter.java | 20 ------------------ .../parameter/SchemaQueryParameter.java | 20 ------------------ .../client/header/StyleSimpleSerializer.java | 21 ------------------- .../parameter/ContentNonQueryParameter.java | 19 ----------------- .../parameter/ContentQueryParameter.java | 20 ------------------ .../client/parameter/NonQueryParameter.java | 10 --------- .../client/parameter/QueryParameter.java | 12 ----------- .../parameter/SchemaNonQueryParameter.java | 20 ------------------ .../parameter/SchemaQueryParameter.java | 20 ------------------ 14 files changed, 244 deletions(-) delete mode 100644 samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/header/StyleSimpleSerializer.java delete mode 100644 samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/ContentNonQueryParameter.java delete mode 100644 samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/ContentQueryParameter.java delete mode 100644 samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/NonQueryParameter.java delete mode 100644 samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/QueryParameter.java delete mode 100644 samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameter.java delete mode 100644 samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaQueryParameter.java delete mode 100644 samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/header/StyleSimpleSerializer.java delete mode 100644 samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/ContentNonQueryParameter.java delete mode 100644 samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/ContentQueryParameter.java delete mode 100644 samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/NonQueryParameter.java delete mode 100644 samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/QueryParameter.java delete mode 100644 samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameter.java delete mode 100644 samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaQueryParameter.java diff --git a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/header/StyleSimpleSerializer.java b/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/header/StyleSimpleSerializer.java deleted file mode 100644 index 1c8d5d7a27d..00000000000 --- a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/header/StyleSimpleSerializer.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.openapijsonschematools.client.header; - -import org.checkerframework.checker.nullness.qual.Nullable; - -public class StyleSimpleSerializer extends Rfc6570Serializer { - public static String serializeSimple( - @Nullable Object inData, - String name, - boolean explode, - boolean percentEncode - ) { - var prefixSeparatorIterator = new PrefixSeparatorIterator("", ","); - return rfc6570Expansion( - name, - inData, - explode, - percentEncode, - prefixSeparatorIterator - ); - } -} diff --git a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/ContentNonQueryParameter.java b/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/ContentNonQueryParameter.java deleted file mode 100644 index e3cecc7753f..00000000000 --- a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/ContentNonQueryParameter.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.openapijsonschematools.client.parameter; - -import org.checkerframework.checker.nullness.qual.Nullable; -import org.openapijsonschematools.client.configurations.SchemaConfiguration; -import org.openapijsonschematools.client.mediatype.MediaType; - -import java.util.Map; - -public class ContentNonQueryParameter extends ContentParameter implements NonQueryParameter { - - public ContentNonQueryParameter(String name, ParameterInType inType, boolean required, @Nullable ParameterStyle style, @Nullable Boolean explode, @Nullable Boolean allowReserved, Map> content) { - super(name, inType, required, style, explode, allowReserved, content); - } - - @Override - public Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration) { - return super.serialize(inData, validate, configuration); - } -} \ No newline at end of file diff --git a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/ContentQueryParameter.java b/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/ContentQueryParameter.java deleted file mode 100644 index 5d8239dc356..00000000000 --- a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/ContentQueryParameter.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.openapijsonschematools.client.parameter; - -import org.checkerframework.checker.nullness.qual.Nullable; -import org.openapijsonschematools.client.configurations.SchemaConfiguration; -import org.openapijsonschematools.client.header.PrefixSeparatorIterator; -import org.openapijsonschematools.client.mediatype.MediaType; - -import java.util.Map; - -public class ContentQueryParameter extends ContentParameter implements QueryParameter { - - public ContentQueryParameter(String name, ParameterInType inType, boolean required, @Nullable ParameterStyle style, @Nullable Boolean explode, @Nullable Boolean allowReserved, Map> content) { - super(name, inType, required, style, explode, allowReserved, content); - } - - @Override - public Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration, PrefixSeparatorIterator iterator) { - return super.serialize(inData, validate, configuration); - } -} \ No newline at end of file diff --git a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/NonQueryParameter.java b/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/NonQueryParameter.java deleted file mode 100644 index de5d7451c57..00000000000 --- a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/NonQueryParameter.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.openapijsonschematools.client.parameter; - -import org.checkerframework.checker.nullness.qual.Nullable; -import org.openapijsonschematools.client.configurations.SchemaConfiguration; - -import java.util.Map; - -public interface NonQueryParameter { - Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration); -} \ No newline at end of file diff --git a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/QueryParameter.java b/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/QueryParameter.java deleted file mode 100644 index 0dbced20599..00000000000 --- a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/QueryParameter.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.openapijsonschematools.client.parameter; - -import org.checkerframework.checker.nullness.qual.Nullable; -import org.openapijsonschematools.client.configurations.SchemaConfiguration; -import org.openapijsonschematools.client.header.PrefixSeparatorIterator; - -import java.util.Map; - -public interface QueryParameter { - Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration, PrefixSeparatorIterator iterator); - PrefixSeparatorIterator getPrefixSeparatorIterator(); -} \ No newline at end of file diff --git a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameter.java b/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameter.java deleted file mode 100644 index 80976ec5d85..00000000000 --- a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameter.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.openapijsonschematools.client.parameter; - -import org.checkerframework.checker.nullness.qual.Nullable; -import org.openapijsonschematools.client.configurations.SchemaConfiguration; -import org.openapijsonschematools.client.header.PrefixSeparatorIterator; -import org.openapijsonschematools.client.schemas.validation.JsonSchema; - -import java.util.Map; - -public class SchemaNonQueryParameter extends SchemaParameter implements NonQueryParameter { - - public SchemaNonQueryParameter(String name, ParameterInType inType, boolean required, @Nullable ParameterStyle style, @Nullable Boolean explode, @Nullable Boolean allowReserved, JsonSchema schema) { - super(name, inType, required, style, explode, allowReserved, schema); - } - - @Override - public Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration) { - return super.serialize(inData, validate, configuration, null); - } -} \ No newline at end of file diff --git a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaQueryParameter.java b/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaQueryParameter.java deleted file mode 100644 index e85794b4a6d..00000000000 --- a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaQueryParameter.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.openapijsonschematools.client.parameter; - -import org.checkerframework.checker.nullness.qual.Nullable; -import org.openapijsonschematools.client.configurations.SchemaConfiguration; -import org.openapijsonschematools.client.header.PrefixSeparatorIterator; -import org.openapijsonschematools.client.schemas.validation.JsonSchema; - -import java.util.Map; - -public class SchemaQueryParameter extends SchemaParameter implements QueryParameter { - - public SchemaQueryParameter(String name, ParameterInType inType, boolean required, @Nullable ParameterStyle style, @Nullable Boolean explode, @Nullable Boolean allowReserved, JsonSchema schema) { - super(name, inType, required, style, explode, allowReserved, schema); - } - - @Override - public Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration, PrefixSeparatorIterator iterator) { - return super.serialize(inData, validate, configuration, iterator); - } -} \ No newline at end of file diff --git a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/header/StyleSimpleSerializer.java b/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/header/StyleSimpleSerializer.java deleted file mode 100644 index 1c8d5d7a27d..00000000000 --- a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/header/StyleSimpleSerializer.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.openapijsonschematools.client.header; - -import org.checkerframework.checker.nullness.qual.Nullable; - -public class StyleSimpleSerializer extends Rfc6570Serializer { - public static String serializeSimple( - @Nullable Object inData, - String name, - boolean explode, - boolean percentEncode - ) { - var prefixSeparatorIterator = new PrefixSeparatorIterator("", ","); - return rfc6570Expansion( - name, - inData, - explode, - percentEncode, - prefixSeparatorIterator - ); - } -} diff --git a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/ContentNonQueryParameter.java b/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/ContentNonQueryParameter.java deleted file mode 100644 index e3cecc7753f..00000000000 --- a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/ContentNonQueryParameter.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.openapijsonschematools.client.parameter; - -import org.checkerframework.checker.nullness.qual.Nullable; -import org.openapijsonschematools.client.configurations.SchemaConfiguration; -import org.openapijsonschematools.client.mediatype.MediaType; - -import java.util.Map; - -public class ContentNonQueryParameter extends ContentParameter implements NonQueryParameter { - - public ContentNonQueryParameter(String name, ParameterInType inType, boolean required, @Nullable ParameterStyle style, @Nullable Boolean explode, @Nullable Boolean allowReserved, Map> content) { - super(name, inType, required, style, explode, allowReserved, content); - } - - @Override - public Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration) { - return super.serialize(inData, validate, configuration); - } -} \ No newline at end of file diff --git a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/ContentQueryParameter.java b/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/ContentQueryParameter.java deleted file mode 100644 index 5d8239dc356..00000000000 --- a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/ContentQueryParameter.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.openapijsonschematools.client.parameter; - -import org.checkerframework.checker.nullness.qual.Nullable; -import org.openapijsonschematools.client.configurations.SchemaConfiguration; -import org.openapijsonschematools.client.header.PrefixSeparatorIterator; -import org.openapijsonschematools.client.mediatype.MediaType; - -import java.util.Map; - -public class ContentQueryParameter extends ContentParameter implements QueryParameter { - - public ContentQueryParameter(String name, ParameterInType inType, boolean required, @Nullable ParameterStyle style, @Nullable Boolean explode, @Nullable Boolean allowReserved, Map> content) { - super(name, inType, required, style, explode, allowReserved, content); - } - - @Override - public Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration, PrefixSeparatorIterator iterator) { - return super.serialize(inData, validate, configuration); - } -} \ No newline at end of file diff --git a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/NonQueryParameter.java b/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/NonQueryParameter.java deleted file mode 100644 index de5d7451c57..00000000000 --- a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/NonQueryParameter.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.openapijsonschematools.client.parameter; - -import org.checkerframework.checker.nullness.qual.Nullable; -import org.openapijsonschematools.client.configurations.SchemaConfiguration; - -import java.util.Map; - -public interface NonQueryParameter { - Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration); -} \ No newline at end of file diff --git a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/QueryParameter.java b/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/QueryParameter.java deleted file mode 100644 index 0dbced20599..00000000000 --- a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/QueryParameter.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.openapijsonschematools.client.parameter; - -import org.checkerframework.checker.nullness.qual.Nullable; -import org.openapijsonschematools.client.configurations.SchemaConfiguration; -import org.openapijsonschematools.client.header.PrefixSeparatorIterator; - -import java.util.Map; - -public interface QueryParameter { - Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration, PrefixSeparatorIterator iterator); - PrefixSeparatorIterator getPrefixSeparatorIterator(); -} \ No newline at end of file diff --git a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameter.java b/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameter.java deleted file mode 100644 index 80976ec5d85..00000000000 --- a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameter.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.openapijsonschematools.client.parameter; - -import org.checkerframework.checker.nullness.qual.Nullable; -import org.openapijsonschematools.client.configurations.SchemaConfiguration; -import org.openapijsonschematools.client.header.PrefixSeparatorIterator; -import org.openapijsonschematools.client.schemas.validation.JsonSchema; - -import java.util.Map; - -public class SchemaNonQueryParameter extends SchemaParameter implements NonQueryParameter { - - public SchemaNonQueryParameter(String name, ParameterInType inType, boolean required, @Nullable ParameterStyle style, @Nullable Boolean explode, @Nullable Boolean allowReserved, JsonSchema schema) { - super(name, inType, required, style, explode, allowReserved, schema); - } - - @Override - public Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration) { - return super.serialize(inData, validate, configuration, null); - } -} \ No newline at end of file diff --git a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaQueryParameter.java b/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaQueryParameter.java deleted file mode 100644 index e85794b4a6d..00000000000 --- a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/SchemaQueryParameter.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.openapijsonschematools.client.parameter; - -import org.checkerframework.checker.nullness.qual.Nullable; -import org.openapijsonschematools.client.configurations.SchemaConfiguration; -import org.openapijsonschematools.client.header.PrefixSeparatorIterator; -import org.openapijsonschematools.client.schemas.validation.JsonSchema; - -import java.util.Map; - -public class SchemaQueryParameter extends SchemaParameter implements QueryParameter { - - public SchemaQueryParameter(String name, ParameterInType inType, boolean required, @Nullable ParameterStyle style, @Nullable Boolean explode, @Nullable Boolean allowReserved, JsonSchema schema) { - super(name, inType, required, style, explode, allowReserved, schema); - } - - @Override - public Map serialize(@Nullable Object inData, boolean validate, SchemaConfiguration configuration, PrefixSeparatorIterator iterator) { - return super.serialize(inData, validate, configuration, iterator); - } -} \ No newline at end of file From 99c02df2fd6776ea54d52c4cc986a40909991cd0 Mon Sep 17 00:00:00 2001 From: Justin Black Date: Wed, 6 Mar 2024 15:26:08 -0800 Subject: [PATCH 23/29] Sample regen to fix type error --- .../client/parameter/CookieSerializer.java | 4 ++-- .../src/main/java/packagename/parameter/CookieSerializer.hbs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/CookieSerializer.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/CookieSerializer.java index 59afc0ca713..ad2c429ab4f 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/CookieSerializer.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/CookieSerializer.java @@ -14,9 +14,9 @@ protected CookieSerializer(Map parameters) { this.parameters = parameters; } - public String serialize(Map inData) { + public String serialize(Map inData) { String result = ""; - Map sortedData = new TreeMap<>(inData); + Map sortedData = new TreeMap<>(inData); for (Map.Entry entry: sortedData.entrySet()) { String mapKey = entry.getKey(); @Nullable Parameter parameter = parameters.get(mapKey); diff --git a/src/main/resources/java/src/main/java/packagename/parameter/CookieSerializer.hbs b/src/main/resources/java/src/main/java/packagename/parameter/CookieSerializer.hbs index 74e8e2d6465..05ed7b911ea 100644 --- a/src/main/resources/java/src/main/java/packagename/parameter/CookieSerializer.hbs +++ b/src/main/resources/java/src/main/java/packagename/parameter/CookieSerializer.hbs @@ -13,9 +13,9 @@ public abstract class CookieSerializer { this.parameters = parameters; } - public String serialize(Map inData) { + public String serialize(Map inData) { String result = ""; - Map sortedData = new TreeMap<>(inData); + Map sortedData = new TreeMap<>(inData); for (Map.Entry entry: sortedData.entrySet()) { String mapKey = entry.getKey(); @Nullable Parameter parameter = parameters.get(mapKey); From 9ab260497e205a689b3d5c83d422743b8a5b18f0 Mon Sep 17 00:00:00 2001 From: Justin Black Date: Wed, 6 Mar 2024 22:10:53 -0800 Subject: [PATCH 24/29] Adjsut type signature in cookie serializer to fix error --- .../client/parameter/CookieSerializerTest.java | 3 ++- .../test/java/packagename/parameter/CookieSerializerTest.hbs | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java index a19ea8c1007..878bdf66dff 100644 --- a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java +++ b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java @@ -1,5 +1,6 @@ package org.openapijsonschematools.client.parameter; +import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; @@ -33,7 +34,7 @@ protected CookieParametersSerializer() { @Test public void testSerialization() { - Map inData = Map.ofEntries( + Map inData = Map.ofEntries( new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); diff --git a/src/main/resources/java/src/test/java/packagename/parameter/CookieSerializerTest.hbs b/src/main/resources/java/src/test/java/packagename/parameter/CookieSerializerTest.hbs index 519c675002c..b5c6caa3c34 100644 --- a/src/main/resources/java/src/test/java/packagename/parameter/CookieSerializerTest.hbs +++ b/src/main/resources/java/src/test/java/packagename/parameter/CookieSerializerTest.hbs @@ -33,7 +33,7 @@ public class CookieSerializerTest { @Test public void testSerialization() { - Map inData = Map.ofEntries( + Map inData = Map.ofEntries( new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); From 1c0b09869404d035e71ec7d778b036a246130839 Mon Sep 17 00:00:00 2001 From: Justin Black Date: Wed, 6 Mar 2024 22:31:52 -0800 Subject: [PATCH 25/29] Sample regen with type fixes --- .../client/parameter/HeadersSerializer.java | 4 ++-- .../client/parameter/PathSerializer.java | 4 ++-- .../client/parameter/QuerySerializer.java | 4 ++-- .../client/parameter/CookieSerializerTest.java | 2 +- .../client/parameter/HeadersSerializerTest.java | 2 +- .../client/parameter/PathSerializerTest.java | 2 +- .../client/parameter/QuerySerializerTest.java | 2 +- .../client/parameter/HeadersSerializer.java | 4 ++-- .../client/parameter/PathSerializer.java | 4 ++-- .../client/parameter/QuerySerializer.java | 4 ++-- .../client/parameter/CookieSerializerTest.java | 2 +- .../client/parameter/HeadersSerializerTest.java | 2 +- .../client/parameter/PathSerializerTest.java | 2 +- .../client/parameter/QuerySerializerTest.java | 2 +- .../client/parameter/HeadersSerializer.java | 4 ++-- .../client/parameter/PathSerializer.java | 4 ++-- .../client/parameter/QuerySerializer.java | 4 ++-- .../client/parameter/CookieSerializerTest.java | 1 - .../client/parameter/HeadersSerializerTest.java | 2 +- .../client/parameter/PathSerializerTest.java | 2 +- .../client/parameter/QuerySerializerTest.java | 2 +- .../src/main/java/packagename/parameter/HeadersSerializer.hbs | 4 ++-- .../src/main/java/packagename/parameter/PathSerializer.hbs | 4 ++-- .../src/main/java/packagename/parameter/QuerySerializer.hbs | 4 ++-- .../test/java/packagename/parameter/HeadersSerializerTest.hbs | 2 +- .../test/java/packagename/parameter/PathSerializerTest.hbs | 2 +- .../test/java/packagename/parameter/QuerySerializerTest.hbs | 2 +- 27 files changed, 38 insertions(+), 39 deletions(-) diff --git a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java b/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java index b4a23229944..4808e6aa4c8 100644 --- a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java +++ b/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java @@ -14,9 +14,9 @@ protected HeadersSerializer(Map parameters) { this.parameters = parameters; } - public Map> serialize(Map inData) { + public Map> serialize(Map inData) { Map> results = new LinkedHashMap<>(); - for (Map.Entry entry: inData.entrySet()) { + for (Map.Entry entry: inData.entrySet()) { String mapKey = entry.getKey(); @Nullable Parameter parameter = parameters.get(mapKey); if (parameter == null) { diff --git a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/PathSerializer.java b/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/PathSerializer.java index 5864f89c901..0fa4731e425 100644 --- a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/PathSerializer.java +++ b/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/PathSerializer.java @@ -12,9 +12,9 @@ protected PathSerializer(Map parameters) { this.parameters = parameters; } - public String serialize(Map inData, String pathWithPlaceholders) { + public String serialize(Map inData, String pathWithPlaceholders) { String result = pathWithPlaceholders; - for (Map.Entry entry: inData.entrySet()) { + for (Map.Entry entry: inData.entrySet()) { String mapKey = entry.getKey(); @Nullable Parameter parameter = parameters.get(mapKey); if (parameter == null) { diff --git a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java b/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java index 91ea0b041bb..ab29ff43de4 100644 --- a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java +++ b/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java @@ -14,9 +14,9 @@ protected QuerySerializer(Map parameters) { this.parameters = parameters; } - public Map getQueryMap(Map inData) { + public Map getQueryMap(Map inData) { Map results = new HashMap<>(); - for (Map.Entry entry: inData.entrySet()) { + for (Map.Entry entry: inData.entrySet()) { String mapKey = entry.getKey(); @Nullable Parameter parameter = parameters.get(mapKey); if (parameter == null) { diff --git a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java index a19ea8c1007..5fa9eafc618 100644 --- a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java +++ b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java @@ -33,7 +33,7 @@ protected CookieParametersSerializer() { @Test public void testSerialization() { - Map inData = Map.ofEntries( + Map inData = Map.ofEntries( new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); diff --git a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java index 63f3159bf0a..a123e4cdd14 100644 --- a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java +++ b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java @@ -34,7 +34,7 @@ protected HeaderParametersSerializer() { @Test public void testSerialization() { - Map inData = Map.ofEntries( + Map> inData = Map.ofEntries( new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); diff --git a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java index bef110af08d..a2ac1f75cd3 100644 --- a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java +++ b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java @@ -33,7 +33,7 @@ protected PathParametersSerializer() { @Test public void testSerialization() { - Map inData = Map.ofEntries( + Map inData = Map.ofEntries( new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); diff --git a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java index ed5aae7e580..7a0bce062f6 100644 --- a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java +++ b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java @@ -33,7 +33,7 @@ protected QueryParametersSerializer() { @Test public void testSerialization() { - Map inData = Map.ofEntries( + Map inData = Map.ofEntries( new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); diff --git a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java b/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java index b4a23229944..4808e6aa4c8 100644 --- a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java +++ b/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java @@ -14,9 +14,9 @@ protected HeadersSerializer(Map parameters) { this.parameters = parameters; } - public Map> serialize(Map inData) { + public Map> serialize(Map inData) { Map> results = new LinkedHashMap<>(); - for (Map.Entry entry: inData.entrySet()) { + for (Map.Entry entry: inData.entrySet()) { String mapKey = entry.getKey(); @Nullable Parameter parameter = parameters.get(mapKey); if (parameter == null) { diff --git a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/PathSerializer.java b/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/PathSerializer.java index 5864f89c901..0fa4731e425 100644 --- a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/PathSerializer.java +++ b/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/PathSerializer.java @@ -12,9 +12,9 @@ protected PathSerializer(Map parameters) { this.parameters = parameters; } - public String serialize(Map inData, String pathWithPlaceholders) { + public String serialize(Map inData, String pathWithPlaceholders) { String result = pathWithPlaceholders; - for (Map.Entry entry: inData.entrySet()) { + for (Map.Entry entry: inData.entrySet()) { String mapKey = entry.getKey(); @Nullable Parameter parameter = parameters.get(mapKey); if (parameter == null) { diff --git a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java b/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java index 91ea0b041bb..ab29ff43de4 100644 --- a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java +++ b/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java @@ -14,9 +14,9 @@ protected QuerySerializer(Map parameters) { this.parameters = parameters; } - public Map getQueryMap(Map inData) { + public Map getQueryMap(Map inData) { Map results = new HashMap<>(); - for (Map.Entry entry: inData.entrySet()) { + for (Map.Entry entry: inData.entrySet()) { String mapKey = entry.getKey(); @Nullable Parameter parameter = parameters.get(mapKey); if (parameter == null) { diff --git a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java index a19ea8c1007..5fa9eafc618 100644 --- a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java +++ b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java @@ -33,7 +33,7 @@ protected CookieParametersSerializer() { @Test public void testSerialization() { - Map inData = Map.ofEntries( + Map inData = Map.ofEntries( new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); diff --git a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java index 63f3159bf0a..a123e4cdd14 100644 --- a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java +++ b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java @@ -34,7 +34,7 @@ protected HeaderParametersSerializer() { @Test public void testSerialization() { - Map inData = Map.ofEntries( + Map> inData = Map.ofEntries( new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); diff --git a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java index bef110af08d..a2ac1f75cd3 100644 --- a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java +++ b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java @@ -33,7 +33,7 @@ protected PathParametersSerializer() { @Test public void testSerialization() { - Map inData = Map.ofEntries( + Map inData = Map.ofEntries( new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); diff --git a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java index ed5aae7e580..7a0bce062f6 100644 --- a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java +++ b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java @@ -33,7 +33,7 @@ protected QueryParametersSerializer() { @Test public void testSerialization() { - Map inData = Map.ofEntries( + Map inData = Map.ofEntries( new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java index b4a23229944..4808e6aa4c8 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java @@ -14,9 +14,9 @@ protected HeadersSerializer(Map parameters) { this.parameters = parameters; } - public Map> serialize(Map inData) { + public Map> serialize(Map inData) { Map> results = new LinkedHashMap<>(); - for (Map.Entry entry: inData.entrySet()) { + for (Map.Entry entry: inData.entrySet()) { String mapKey = entry.getKey(); @Nullable Parameter parameter = parameters.get(mapKey); if (parameter == null) { diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/PathSerializer.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/PathSerializer.java index 5864f89c901..0fa4731e425 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/PathSerializer.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/PathSerializer.java @@ -12,9 +12,9 @@ protected PathSerializer(Map parameters) { this.parameters = parameters; } - public String serialize(Map inData, String pathWithPlaceholders) { + public String serialize(Map inData, String pathWithPlaceholders) { String result = pathWithPlaceholders; - for (Map.Entry entry: inData.entrySet()) { + for (Map.Entry entry: inData.entrySet()) { String mapKey = entry.getKey(); @Nullable Parameter parameter = parameters.get(mapKey); if (parameter == null) { diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java index 91ea0b041bb..ab29ff43de4 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java @@ -14,9 +14,9 @@ protected QuerySerializer(Map parameters) { this.parameters = parameters; } - public Map getQueryMap(Map inData) { + public Map getQueryMap(Map inData) { Map results = new HashMap<>(); - for (Map.Entry entry: inData.entrySet()) { + for (Map.Entry entry: inData.entrySet()) { String mapKey = entry.getKey(); @Nullable Parameter parameter = parameters.get(mapKey); if (parameter == null) { diff --git a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java index 878bdf66dff..5fa9eafc618 100644 --- a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java +++ b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java @@ -1,6 +1,5 @@ package org.openapijsonschematools.client.parameter; -import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; diff --git a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java index 63f3159bf0a..a123e4cdd14 100644 --- a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java +++ b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java @@ -34,7 +34,7 @@ protected HeaderParametersSerializer() { @Test public void testSerialization() { - Map inData = Map.ofEntries( + Map> inData = Map.ofEntries( new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); diff --git a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java index bef110af08d..a2ac1f75cd3 100644 --- a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java +++ b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java @@ -33,7 +33,7 @@ protected PathParametersSerializer() { @Test public void testSerialization() { - Map inData = Map.ofEntries( + Map inData = Map.ofEntries( new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); diff --git a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java index ed5aae7e580..7a0bce062f6 100644 --- a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java +++ b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java @@ -33,7 +33,7 @@ protected QueryParametersSerializer() { @Test public void testSerialization() { - Map inData = Map.ofEntries( + Map inData = Map.ofEntries( new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); diff --git a/src/main/resources/java/src/main/java/packagename/parameter/HeadersSerializer.hbs b/src/main/resources/java/src/main/java/packagename/parameter/HeadersSerializer.hbs index 78b184bef5e..d6333ed5dfe 100644 --- a/src/main/resources/java/src/main/java/packagename/parameter/HeadersSerializer.hbs +++ b/src/main/resources/java/src/main/java/packagename/parameter/HeadersSerializer.hbs @@ -14,9 +14,9 @@ public abstract class HeadersSerializer { this.parameters = parameters; } - public Map> serialize(Map inData) { + public Map> serialize(Map inData) { Map> results = new LinkedHashMap<>(); - for (Map.Entry entry: inData.entrySet()) { + for (Map.Entry entry: inData.entrySet()) { String mapKey = entry.getKey(); @Nullable Parameter parameter = parameters.get(mapKey); if (parameter == null) { diff --git a/src/main/resources/java/src/main/java/packagename/parameter/PathSerializer.hbs b/src/main/resources/java/src/main/java/packagename/parameter/PathSerializer.hbs index 690665a90bf..53bf06c97c0 100644 --- a/src/main/resources/java/src/main/java/packagename/parameter/PathSerializer.hbs +++ b/src/main/resources/java/src/main/java/packagename/parameter/PathSerializer.hbs @@ -12,9 +12,9 @@ public abstract class PathSerializer { this.parameters = parameters; } - public String serialize(Map inData, String pathWithPlaceholders) { + public String serialize(Map inData, String pathWithPlaceholders) { String result = pathWithPlaceholders; - for (Map.Entry entry: inData.entrySet()) { + for (Map.Entry entry: inData.entrySet()) { String mapKey = entry.getKey(); @Nullable Parameter parameter = parameters.get(mapKey); if (parameter == null) { diff --git a/src/main/resources/java/src/main/java/packagename/parameter/QuerySerializer.hbs b/src/main/resources/java/src/main/java/packagename/parameter/QuerySerializer.hbs index 870a79804b6..7912482eceb 100644 --- a/src/main/resources/java/src/main/java/packagename/parameter/QuerySerializer.hbs +++ b/src/main/resources/java/src/main/java/packagename/parameter/QuerySerializer.hbs @@ -14,9 +14,9 @@ public abstract class QuerySerializer { this.parameters = parameters; } - public Map getQueryMap(Map inData) { + public Map getQueryMap(Map inData) { Map results = new HashMap<>(); - for (Map.Entry entry: inData.entrySet()) { + for (Map.Entry entry: inData.entrySet()) { String mapKey = entry.getKey(); @Nullable Parameter parameter = parameters.get(mapKey); if (parameter == null) { diff --git a/src/main/resources/java/src/test/java/packagename/parameter/HeadersSerializerTest.hbs b/src/main/resources/java/src/test/java/packagename/parameter/HeadersSerializerTest.hbs index c1ee270e699..04c6bf6d035 100644 --- a/src/main/resources/java/src/test/java/packagename/parameter/HeadersSerializerTest.hbs +++ b/src/main/resources/java/src/test/java/packagename/parameter/HeadersSerializerTest.hbs @@ -34,7 +34,7 @@ public class HeadersSerializerTest { @Test public void testSerialization() { - Map inData = Map.ofEntries( + Map> inData = Map.ofEntries( new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); diff --git a/src/main/resources/java/src/test/java/packagename/parameter/PathSerializerTest.hbs b/src/main/resources/java/src/test/java/packagename/parameter/PathSerializerTest.hbs index 75182fcb905..e4d2ef59b77 100644 --- a/src/main/resources/java/src/test/java/packagename/parameter/PathSerializerTest.hbs +++ b/src/main/resources/java/src/test/java/packagename/parameter/PathSerializerTest.hbs @@ -33,7 +33,7 @@ public class PathSerializerTest { @Test public void testSerialization() { - Map inData = Map.ofEntries( + Map inData = Map.ofEntries( new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); diff --git a/src/main/resources/java/src/test/java/packagename/parameter/QuerySerializerTest.hbs b/src/main/resources/java/src/test/java/packagename/parameter/QuerySerializerTest.hbs index 6fe0d72fa94..2479b7a9613 100644 --- a/src/main/resources/java/src/test/java/packagename/parameter/QuerySerializerTest.hbs +++ b/src/main/resources/java/src/test/java/packagename/parameter/QuerySerializerTest.hbs @@ -33,7 +33,7 @@ public class QuerySerializerTest { @Test public void testSerialization() { - Map inData = Map.ofEntries( + Map inData = Map.ofEntries( new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); From 4ceab940c4da5be81cf53e098d8ee3970b375ae3 Mon Sep 17 00:00:00 2001 From: Justin Black Date: Thu, 7 Mar 2024 08:23:41 -0800 Subject: [PATCH 26/29] Fixes java typo --- .../client/parameter/HeadersSerializerTest.java | 2 +- .../client/parameter/HeadersSerializerTest.java | 2 +- .../client/parameter/HeadersSerializerTest.java | 2 +- .../test/java/packagename/parameter/HeadersSerializerTest.hbs | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java index a123e4cdd14..66e270a23bf 100644 --- a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java +++ b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java @@ -34,7 +34,7 @@ protected HeaderParametersSerializer() { @Test public void testSerialization() { - Map> inData = Map.ofEntries( + Map inData = Map.ofEntries( new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); diff --git a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java index a123e4cdd14..66e270a23bf 100644 --- a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java +++ b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java @@ -34,7 +34,7 @@ protected HeaderParametersSerializer() { @Test public void testSerialization() { - Map> inData = Map.ofEntries( + Map inData = Map.ofEntries( new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); diff --git a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java index a123e4cdd14..66e270a23bf 100644 --- a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java +++ b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java @@ -34,7 +34,7 @@ protected HeaderParametersSerializer() { @Test public void testSerialization() { - Map> inData = Map.ofEntries( + Map inData = Map.ofEntries( new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); diff --git a/src/main/resources/java/src/test/java/packagename/parameter/HeadersSerializerTest.hbs b/src/main/resources/java/src/test/java/packagename/parameter/HeadersSerializerTest.hbs index 04c6bf6d035..b49f737313e 100644 --- a/src/main/resources/java/src/test/java/packagename/parameter/HeadersSerializerTest.hbs +++ b/src/main/resources/java/src/test/java/packagename/parameter/HeadersSerializerTest.hbs @@ -34,7 +34,7 @@ public class HeadersSerializerTest { @Test public void testSerialization() { - Map> inData = Map.ofEntries( + Map inData = Map.ofEntries( new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); From b698f408972d3022d8a02a6ed682bd1085ced3b0 Mon Sep 17 00:00:00 2001 From: Justin Black Date: Thu, 7 Mar 2024 08:34:42 -0800 Subject: [PATCH 27/29] Samples regen, adds mising import --- .../client/parameter/CookieSerializerTest.java | 1 + .../client/parameter/HeadersSerializerTest.java | 1 + .../client/parameter/PathSerializerTest.java | 1 + .../client/parameter/QuerySerializerTest.java | 1 + .../client/parameter/CookieSerializerTest.java | 1 + .../client/parameter/HeadersSerializerTest.java | 1 + .../client/parameter/PathSerializerTest.java | 1 + .../client/parameter/QuerySerializerTest.java | 1 + .../client/parameter/CookieSerializerTest.java | 1 + .../client/parameter/HeadersSerializerTest.java | 1 + .../client/parameter/PathSerializerTest.java | 1 + .../client/parameter/QuerySerializerTest.java | 1 + .../src/test/java/packagename/parameter/CookieSerializerTest.hbs | 1 + .../test/java/packagename/parameter/HeadersSerializerTest.hbs | 1 + .../src/test/java/packagename/parameter/PathSerializerTest.hbs | 1 + .../src/test/java/packagename/parameter/QuerySerializerTest.hbs | 1 + 16 files changed, 16 insertions(+) diff --git a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java index 5fa9eafc618..878bdf66dff 100644 --- a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java +++ b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java @@ -1,5 +1,6 @@ package org.openapijsonschematools.client.parameter; +import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; diff --git a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java index 66e270a23bf..d6093c71484 100644 --- a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java +++ b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java @@ -1,5 +1,6 @@ package org.openapijsonschematools.client.parameter; +import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; diff --git a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java index a2ac1f75cd3..23bde9e953e 100644 --- a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java +++ b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java @@ -1,5 +1,6 @@ package org.openapijsonschematools.client.parameter; +import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; diff --git a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java index 7a0bce062f6..c17dc932deb 100644 --- a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java +++ b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java @@ -1,5 +1,6 @@ package org.openapijsonschematools.client.parameter; +import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; diff --git a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java index 5fa9eafc618..878bdf66dff 100644 --- a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java +++ b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java @@ -1,5 +1,6 @@ package org.openapijsonschematools.client.parameter; +import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; diff --git a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java index 66e270a23bf..d6093c71484 100644 --- a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java +++ b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java @@ -1,5 +1,6 @@ package org.openapijsonschematools.client.parameter; +import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; diff --git a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java index a2ac1f75cd3..23bde9e953e 100644 --- a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java +++ b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java @@ -1,5 +1,6 @@ package org.openapijsonschematools.client.parameter; +import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; diff --git a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java index 7a0bce062f6..c17dc932deb 100644 --- a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java +++ b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java @@ -1,5 +1,6 @@ package org.openapijsonschematools.client.parameter; +import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; diff --git a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java index 5fa9eafc618..878bdf66dff 100644 --- a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java +++ b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java @@ -1,5 +1,6 @@ package org.openapijsonschematools.client.parameter; +import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; diff --git a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java index 66e270a23bf..d6093c71484 100644 --- a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java +++ b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java @@ -1,5 +1,6 @@ package org.openapijsonschematools.client.parameter; +import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; diff --git a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java index a2ac1f75cd3..23bde9e953e 100644 --- a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java +++ b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java @@ -1,5 +1,6 @@ package org.openapijsonschematools.client.parameter; +import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; diff --git a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java index 7a0bce062f6..c17dc932deb 100644 --- a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java +++ b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java @@ -1,5 +1,6 @@ package org.openapijsonschematools.client.parameter; +import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; diff --git a/src/main/resources/java/src/test/java/packagename/parameter/CookieSerializerTest.hbs b/src/main/resources/java/src/test/java/packagename/parameter/CookieSerializerTest.hbs index b5c6caa3c34..db5f541301d 100644 --- a/src/main/resources/java/src/test/java/packagename/parameter/CookieSerializerTest.hbs +++ b/src/main/resources/java/src/test/java/packagename/parameter/CookieSerializerTest.hbs @@ -1,5 +1,6 @@ package {{{packageName}}}.parameter; +import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; import {{{packageName}}}.schemas.AnyTypeJsonSchema; diff --git a/src/main/resources/java/src/test/java/packagename/parameter/HeadersSerializerTest.hbs b/src/main/resources/java/src/test/java/packagename/parameter/HeadersSerializerTest.hbs index b49f737313e..d5c4d78213d 100644 --- a/src/main/resources/java/src/test/java/packagename/parameter/HeadersSerializerTest.hbs +++ b/src/main/resources/java/src/test/java/packagename/parameter/HeadersSerializerTest.hbs @@ -1,5 +1,6 @@ package {{{packageName}}}.parameter; +import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; import {{{packageName}}}.schemas.AnyTypeJsonSchema; diff --git a/src/main/resources/java/src/test/java/packagename/parameter/PathSerializerTest.hbs b/src/main/resources/java/src/test/java/packagename/parameter/PathSerializerTest.hbs index e4d2ef59b77..05d5423ad2c 100644 --- a/src/main/resources/java/src/test/java/packagename/parameter/PathSerializerTest.hbs +++ b/src/main/resources/java/src/test/java/packagename/parameter/PathSerializerTest.hbs @@ -1,5 +1,6 @@ package {{{packageName}}}.parameter; +import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; import {{{packageName}}}.schemas.AnyTypeJsonSchema; diff --git a/src/main/resources/java/src/test/java/packagename/parameter/QuerySerializerTest.hbs b/src/main/resources/java/src/test/java/packagename/parameter/QuerySerializerTest.hbs index 2479b7a9613..0c07cb76eef 100644 --- a/src/main/resources/java/src/test/java/packagename/parameter/QuerySerializerTest.hbs +++ b/src/main/resources/java/src/test/java/packagename/parameter/QuerySerializerTest.hbs @@ -1,5 +1,6 @@ package {{{packageName}}}.parameter; +import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; import {{{packageName}}}.schemas.AnyTypeJsonSchema; From f95f9470827913087e36dacad635db3fbdaae728 Mon Sep 17 00:00:00 2001 From: Justin Black Date: Thu, 7 Mar 2024 12:02:03 -0800 Subject: [PATCH 28/29] Does not use var in testing, fixes type issues --- .../client/parameter/HeadersSerializer.java | 4 ++-- .../client/parameter/PathSerializer.java | 4 ++-- .../client/parameter/QuerySerializer.java | 4 ++-- .../client/header/ContentHeaderTest.java | 2 +- .../client/parameter/CookieSerializerTest.java | 3 +-- .../client/parameter/HeadersSerializerTest.java | 3 +-- .../client/parameter/PathSerializerTest.java | 3 +-- .../client/parameter/QuerySerializerTest.java | 3 +-- .../client/parameter/SchemaNonQueryParameterTest.java | 10 +++++----- .../client/parameter/SchemaQueryParameterTest.java | 6 +++--- .../client/parameter/HeadersSerializer.java | 4 ++-- .../client/parameter/PathSerializer.java | 4 ++-- .../client/parameter/QuerySerializer.java | 4 ++-- .../client/header/ContentHeaderTest.java | 2 +- .../client/parameter/CookieSerializerTest.java | 3 +-- .../client/parameter/HeadersSerializerTest.java | 3 +-- .../client/parameter/PathSerializerTest.java | 3 +-- .../client/parameter/QuerySerializerTest.java | 3 +-- .../client/parameter/SchemaNonQueryParameterTest.java | 10 +++++----- .../client/parameter/SchemaQueryParameterTest.java | 6 +++--- .../client/parameter/CookieSerializer.java | 4 ++-- .../client/parameter/HeadersSerializer.java | 4 ++-- .../client/parameter/PathSerializer.java | 4 ++-- .../client/parameter/QuerySerializer.java | 4 ++-- .../client/header/ContentHeaderTest.java | 2 +- .../client/parameter/CookieSerializerTest.java | 3 +-- .../client/parameter/HeadersSerializerTest.java | 3 +-- .../client/parameter/PathSerializerTest.java | 3 +-- .../client/parameter/QuerySerializerTest.java | 3 +-- .../client/parameter/SchemaNonQueryParameterTest.java | 10 +++++----- .../client/parameter/SchemaQueryParameterTest.java | 6 +++--- .../java/packagename/parameter/CookieSerializer.hbs | 4 ++-- .../java/packagename/parameter/HeadersSerializer.hbs | 4 ++-- .../main/java/packagename/parameter/PathSerializer.hbs | 4 ++-- .../java/packagename/parameter/QuerySerializer.hbs | 4 ++-- .../test/java/packagename/header/ContentHeaderTest.hbs | 2 +- .../packagename/parameter/CookieSerializerTest.hbs | 3 +-- .../packagename/parameter/HeadersSerializerTest.hbs | 3 +-- .../java/packagename/parameter/PathSerializerTest.hbs | 3 +-- .../java/packagename/parameter/QuerySerializerTest.hbs | 3 +-- .../parameter/SchemaNonQueryParameterTest.hbs | 10 +++++----- .../packagename/parameter/SchemaQueryParameterTest.hbs | 6 +++--- 42 files changed, 80 insertions(+), 96 deletions(-) diff --git a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java b/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java index 4808e6aa4c8..b4a23229944 100644 --- a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java +++ b/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java @@ -14,9 +14,9 @@ protected HeadersSerializer(Map parameters) { this.parameters = parameters; } - public Map> serialize(Map inData) { + public Map> serialize(Map inData) { Map> results = new LinkedHashMap<>(); - for (Map.Entry entry: inData.entrySet()) { + for (Map.Entry entry: inData.entrySet()) { String mapKey = entry.getKey(); @Nullable Parameter parameter = parameters.get(mapKey); if (parameter == null) { diff --git a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/PathSerializer.java b/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/PathSerializer.java index 0fa4731e425..5864f89c901 100644 --- a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/PathSerializer.java +++ b/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/PathSerializer.java @@ -12,9 +12,9 @@ protected PathSerializer(Map parameters) { this.parameters = parameters; } - public String serialize(Map inData, String pathWithPlaceholders) { + public String serialize(Map inData, String pathWithPlaceholders) { String result = pathWithPlaceholders; - for (Map.Entry entry: inData.entrySet()) { + for (Map.Entry entry: inData.entrySet()) { String mapKey = entry.getKey(); @Nullable Parameter parameter = parameters.get(mapKey); if (parameter == null) { diff --git a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java b/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java index ab29ff43de4..91ea0b041bb 100644 --- a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java +++ b/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java @@ -14,9 +14,9 @@ protected QuerySerializer(Map parameters) { this.parameters = parameters; } - public Map getQueryMap(Map inData) { + public Map getQueryMap(Map inData) { Map results = new HashMap<>(); - for (Map.Entry entry: inData.entrySet()) { + for (Map.Entry entry: inData.entrySet()) { String mapKey = entry.getKey(); @Nullable Parameter parameter = parameters.get(mapKey); if (parameter == null) { diff --git a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/header/ContentHeaderTest.java b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/header/ContentHeaderTest.java index 30347681cbf..990f21a1148 100644 --- a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/header/ContentHeaderTest.java +++ b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/header/ContentHeaderTest.java @@ -27,7 +27,7 @@ public void testSerialization() { mapPayload.put("R", 100); mapPayload.put("G", 200); mapPayload.put("B", 150); - var testCases = List.of( + List testCases = List.of( new ParamTestCase( null, Map.of("color", List.of("null")) diff --git a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java index 878bdf66dff..a19ea8c1007 100644 --- a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java +++ b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java @@ -1,6 +1,5 @@ package org.openapijsonschematools.client.parameter; -import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; @@ -34,7 +33,7 @@ protected CookieParametersSerializer() { @Test public void testSerialization() { - Map inData = Map.ofEntries( + Map inData = Map.ofEntries( new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); diff --git a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java index d6093c71484..63f3159bf0a 100644 --- a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java +++ b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java @@ -1,6 +1,5 @@ package org.openapijsonschematools.client.parameter; -import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; @@ -35,7 +34,7 @@ protected HeaderParametersSerializer() { @Test public void testSerialization() { - Map inData = Map.ofEntries( + Map inData = Map.ofEntries( new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); diff --git a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java index 23bde9e953e..bef110af08d 100644 --- a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java +++ b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java @@ -1,6 +1,5 @@ package org.openapijsonschematools.client.parameter; -import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; @@ -34,7 +33,7 @@ protected PathParametersSerializer() { @Test public void testSerialization() { - Map inData = Map.ofEntries( + Map inData = Map.ofEntries( new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); diff --git a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java index c17dc932deb..ed5aae7e580 100644 --- a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java +++ b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java @@ -1,6 +1,5 @@ package org.openapijsonschematools.client.parameter; -import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; @@ -34,7 +33,7 @@ protected QueryParametersSerializer() { @Test public void testSerialization() { - Map inData = Map.ofEntries( + Map inData = Map.ofEntries( new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); diff --git a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java index abca0493c0d..871d4f073f3 100644 --- a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java +++ b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java @@ -31,7 +31,7 @@ public void testHeaderSerialization() { mapPayload.put("R", 100); mapPayload.put("G", 200); mapPayload.put("B", 150); - var testCases = List.of( + List testCases = List.of( new ParamTestCase( null, new AbstractMap.SimpleEntry<>("color", "") @@ -109,7 +109,7 @@ public void testPathSerialization() { mapPayload.put("R", 100); mapPayload.put("G", 200); mapPayload.put("B", 150); - var testCases = List.of( + List testCases = List.of( new ParamTestCase( null, new AbstractMap.SimpleEntry<>("color", "") @@ -187,7 +187,7 @@ public void testCookieSerialization() { mapPayload.put("R", 100); mapPayload.put("G", 200); mapPayload.put("B", 150); - var testCases = List.of( + List testCases = List.of( new ParamTestCase( null, new AbstractMap.SimpleEntry<>("color", "") @@ -265,7 +265,7 @@ public void testPathMatrixSerialization() { mapPayload.put("R", 100); mapPayload.put("G", 200); mapPayload.put("B", 150); - var testCases = List.of( + List testCases = List.of( new ParamTestCase( null, new AbstractMap.SimpleEntry<>("color", "") @@ -336,7 +336,7 @@ public void testPathLabelSerialization() { mapPayload.put("R", 100); mapPayload.put("G", 200); mapPayload.put("B", 150); - var testCases = List.of( + List testCases = List.of( new ParamTestCase( null, new AbstractMap.SimpleEntry<>("color", "") diff --git a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java index c1a720b094f..f4ea29fccb3 100644 --- a/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java +++ b/samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java @@ -31,7 +31,7 @@ public void testQueryParameterNoStyleSerialization() { mapPayload.put("R", 100); mapPayload.put("G", 200); mapPayload.put("B", 150); - var testCases = List.of( + List testCases = List.of( new ParamTestCase( null, new AbstractMap.SimpleEntry<>("color", "") @@ -109,7 +109,7 @@ public void testQueryParameterSpaceDelimitedSerialization() { mapPayload.put("R", 100); mapPayload.put("G", 200); mapPayload.put("B", 150); - var testCases = List.of( + List testCases = List.of( new ParamTestCase( List.of(), new AbstractMap.SimpleEntry<>("color", "") @@ -156,7 +156,7 @@ public void testQueryParameterPipeDelimitedSerialization() { mapPayload.put("R", 100); mapPayload.put("G", 200); mapPayload.put("B", 150); - var testCases = List.of( + List testCases = List.of( new ParamTestCase( List.of(), new AbstractMap.SimpleEntry<>("color", "") diff --git a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java b/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java index 4808e6aa4c8..b4a23229944 100644 --- a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java +++ b/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java @@ -14,9 +14,9 @@ protected HeadersSerializer(Map parameters) { this.parameters = parameters; } - public Map> serialize(Map inData) { + public Map> serialize(Map inData) { Map> results = new LinkedHashMap<>(); - for (Map.Entry entry: inData.entrySet()) { + for (Map.Entry entry: inData.entrySet()) { String mapKey = entry.getKey(); @Nullable Parameter parameter = parameters.get(mapKey); if (parameter == null) { diff --git a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/PathSerializer.java b/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/PathSerializer.java index 0fa4731e425..5864f89c901 100644 --- a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/PathSerializer.java +++ b/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/PathSerializer.java @@ -12,9 +12,9 @@ protected PathSerializer(Map parameters) { this.parameters = parameters; } - public String serialize(Map inData, String pathWithPlaceholders) { + public String serialize(Map inData, String pathWithPlaceholders) { String result = pathWithPlaceholders; - for (Map.Entry entry: inData.entrySet()) { + for (Map.Entry entry: inData.entrySet()) { String mapKey = entry.getKey(); @Nullable Parameter parameter = parameters.get(mapKey); if (parameter == null) { diff --git a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java b/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java index ab29ff43de4..91ea0b041bb 100644 --- a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java +++ b/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java @@ -14,9 +14,9 @@ protected QuerySerializer(Map parameters) { this.parameters = parameters; } - public Map getQueryMap(Map inData) { + public Map getQueryMap(Map inData) { Map results = new HashMap<>(); - for (Map.Entry entry: inData.entrySet()) { + for (Map.Entry entry: inData.entrySet()) { String mapKey = entry.getKey(); @Nullable Parameter parameter = parameters.get(mapKey); if (parameter == null) { diff --git a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/header/ContentHeaderTest.java b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/header/ContentHeaderTest.java index 30347681cbf..990f21a1148 100644 --- a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/header/ContentHeaderTest.java +++ b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/header/ContentHeaderTest.java @@ -27,7 +27,7 @@ public void testSerialization() { mapPayload.put("R", 100); mapPayload.put("G", 200); mapPayload.put("B", 150); - var testCases = List.of( + List testCases = List.of( new ParamTestCase( null, Map.of("color", List.of("null")) diff --git a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java index 878bdf66dff..a19ea8c1007 100644 --- a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java +++ b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java @@ -1,6 +1,5 @@ package org.openapijsonschematools.client.parameter; -import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; @@ -34,7 +33,7 @@ protected CookieParametersSerializer() { @Test public void testSerialization() { - Map inData = Map.ofEntries( + Map inData = Map.ofEntries( new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); diff --git a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java index d6093c71484..63f3159bf0a 100644 --- a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java +++ b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java @@ -1,6 +1,5 @@ package org.openapijsonschematools.client.parameter; -import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; @@ -35,7 +34,7 @@ protected HeaderParametersSerializer() { @Test public void testSerialization() { - Map inData = Map.ofEntries( + Map inData = Map.ofEntries( new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); diff --git a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java index 23bde9e953e..bef110af08d 100644 --- a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java +++ b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java @@ -1,6 +1,5 @@ package org.openapijsonschematools.client.parameter; -import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; @@ -34,7 +33,7 @@ protected PathParametersSerializer() { @Test public void testSerialization() { - Map inData = Map.ofEntries( + Map inData = Map.ofEntries( new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); diff --git a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java index c17dc932deb..ed5aae7e580 100644 --- a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java +++ b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java @@ -1,6 +1,5 @@ package org.openapijsonschematools.client.parameter; -import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; @@ -34,7 +33,7 @@ protected QueryParametersSerializer() { @Test public void testSerialization() { - Map inData = Map.ofEntries( + Map inData = Map.ofEntries( new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); diff --git a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java index abca0493c0d..871d4f073f3 100644 --- a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java +++ b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java @@ -31,7 +31,7 @@ public void testHeaderSerialization() { mapPayload.put("R", 100); mapPayload.put("G", 200); mapPayload.put("B", 150); - var testCases = List.of( + List testCases = List.of( new ParamTestCase( null, new AbstractMap.SimpleEntry<>("color", "") @@ -109,7 +109,7 @@ public void testPathSerialization() { mapPayload.put("R", 100); mapPayload.put("G", 200); mapPayload.put("B", 150); - var testCases = List.of( + List testCases = List.of( new ParamTestCase( null, new AbstractMap.SimpleEntry<>("color", "") @@ -187,7 +187,7 @@ public void testCookieSerialization() { mapPayload.put("R", 100); mapPayload.put("G", 200); mapPayload.put("B", 150); - var testCases = List.of( + List testCases = List.of( new ParamTestCase( null, new AbstractMap.SimpleEntry<>("color", "") @@ -265,7 +265,7 @@ public void testPathMatrixSerialization() { mapPayload.put("R", 100); mapPayload.put("G", 200); mapPayload.put("B", 150); - var testCases = List.of( + List testCases = List.of( new ParamTestCase( null, new AbstractMap.SimpleEntry<>("color", "") @@ -336,7 +336,7 @@ public void testPathLabelSerialization() { mapPayload.put("R", 100); mapPayload.put("G", 200); mapPayload.put("B", 150); - var testCases = List.of( + List testCases = List.of( new ParamTestCase( null, new AbstractMap.SimpleEntry<>("color", "") diff --git a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java index c1a720b094f..f4ea29fccb3 100644 --- a/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java +++ b/samples/client/3_1_0_unit_test/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java @@ -31,7 +31,7 @@ public void testQueryParameterNoStyleSerialization() { mapPayload.put("R", 100); mapPayload.put("G", 200); mapPayload.put("B", 150); - var testCases = List.of( + List testCases = List.of( new ParamTestCase( null, new AbstractMap.SimpleEntry<>("color", "") @@ -109,7 +109,7 @@ public void testQueryParameterSpaceDelimitedSerialization() { mapPayload.put("R", 100); mapPayload.put("G", 200); mapPayload.put("B", 150); - var testCases = List.of( + List testCases = List.of( new ParamTestCase( List.of(), new AbstractMap.SimpleEntry<>("color", "") @@ -156,7 +156,7 @@ public void testQueryParameterPipeDelimitedSerialization() { mapPayload.put("R", 100); mapPayload.put("G", 200); mapPayload.put("B", 150); - var testCases = List.of( + List testCases = List.of( new ParamTestCase( List.of(), new AbstractMap.SimpleEntry<>("color", "") diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/CookieSerializer.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/CookieSerializer.java index ad2c429ab4f..59afc0ca713 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/CookieSerializer.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/CookieSerializer.java @@ -14,9 +14,9 @@ protected CookieSerializer(Map parameters) { this.parameters = parameters; } - public String serialize(Map inData) { + public String serialize(Map inData) { String result = ""; - Map sortedData = new TreeMap<>(inData); + Map sortedData = new TreeMap<>(inData); for (Map.Entry entry: sortedData.entrySet()) { String mapKey = entry.getKey(); @Nullable Parameter parameter = parameters.get(mapKey); diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java index 4808e6aa4c8..b4a23229944 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java @@ -14,9 +14,9 @@ protected HeadersSerializer(Map parameters) { this.parameters = parameters; } - public Map> serialize(Map inData) { + public Map> serialize(Map inData) { Map> results = new LinkedHashMap<>(); - for (Map.Entry entry: inData.entrySet()) { + for (Map.Entry entry: inData.entrySet()) { String mapKey = entry.getKey(); @Nullable Parameter parameter = parameters.get(mapKey); if (parameter == null) { diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/PathSerializer.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/PathSerializer.java index 0fa4731e425..5864f89c901 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/PathSerializer.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/PathSerializer.java @@ -12,9 +12,9 @@ protected PathSerializer(Map parameters) { this.parameters = parameters; } - public String serialize(Map inData, String pathWithPlaceholders) { + public String serialize(Map inData, String pathWithPlaceholders) { String result = pathWithPlaceholders; - for (Map.Entry entry: inData.entrySet()) { + for (Map.Entry entry: inData.entrySet()) { String mapKey = entry.getKey(); @Nullable Parameter parameter = parameters.get(mapKey); if (parameter == null) { diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java index ab29ff43de4..91ea0b041bb 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/QuerySerializer.java @@ -14,9 +14,9 @@ protected QuerySerializer(Map parameters) { this.parameters = parameters; } - public Map getQueryMap(Map inData) { + public Map getQueryMap(Map inData) { Map results = new HashMap<>(); - for (Map.Entry entry: inData.entrySet()) { + for (Map.Entry entry: inData.entrySet()) { String mapKey = entry.getKey(); @Nullable Parameter parameter = parameters.get(mapKey); if (parameter == null) { diff --git a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/header/ContentHeaderTest.java b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/header/ContentHeaderTest.java index 30347681cbf..990f21a1148 100644 --- a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/header/ContentHeaderTest.java +++ b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/header/ContentHeaderTest.java @@ -27,7 +27,7 @@ public void testSerialization() { mapPayload.put("R", 100); mapPayload.put("G", 200); mapPayload.put("B", 150); - var testCases = List.of( + List testCases = List.of( new ParamTestCase( null, Map.of("color", List.of("null")) diff --git a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java index 878bdf66dff..a19ea8c1007 100644 --- a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java +++ b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/CookieSerializerTest.java @@ -1,6 +1,5 @@ package org.openapijsonschematools.client.parameter; -import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; @@ -34,7 +33,7 @@ protected CookieParametersSerializer() { @Test public void testSerialization() { - Map inData = Map.ofEntries( + Map inData = Map.ofEntries( new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); diff --git a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java index d6093c71484..63f3159bf0a 100644 --- a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java +++ b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/HeadersSerializerTest.java @@ -1,6 +1,5 @@ package org.openapijsonschematools.client.parameter; -import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; @@ -35,7 +34,7 @@ protected HeaderParametersSerializer() { @Test public void testSerialization() { - Map inData = Map.ofEntries( + Map inData = Map.ofEntries( new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); diff --git a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java index 23bde9e953e..bef110af08d 100644 --- a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java +++ b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/PathSerializerTest.java @@ -1,6 +1,5 @@ package org.openapijsonschematools.client.parameter; -import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; @@ -34,7 +33,7 @@ protected PathParametersSerializer() { @Test public void testSerialization() { - Map inData = Map.ofEntries( + Map inData = Map.ofEntries( new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); diff --git a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java index c17dc932deb..ed5aae7e580 100644 --- a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java +++ b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/QuerySerializerTest.java @@ -1,6 +1,5 @@ package org.openapijsonschematools.client.parameter; -import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema; @@ -34,7 +33,7 @@ protected QueryParametersSerializer() { @Test public void testSerialization() { - Map inData = Map.ofEntries( + Map inData = Map.ofEntries( new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); diff --git a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java index abca0493c0d..871d4f073f3 100644 --- a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java +++ b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaNonQueryParameterTest.java @@ -31,7 +31,7 @@ public void testHeaderSerialization() { mapPayload.put("R", 100); mapPayload.put("G", 200); mapPayload.put("B", 150); - var testCases = List.of( + List testCases = List.of( new ParamTestCase( null, new AbstractMap.SimpleEntry<>("color", "") @@ -109,7 +109,7 @@ public void testPathSerialization() { mapPayload.put("R", 100); mapPayload.put("G", 200); mapPayload.put("B", 150); - var testCases = List.of( + List testCases = List.of( new ParamTestCase( null, new AbstractMap.SimpleEntry<>("color", "") @@ -187,7 +187,7 @@ public void testCookieSerialization() { mapPayload.put("R", 100); mapPayload.put("G", 200); mapPayload.put("B", 150); - var testCases = List.of( + List testCases = List.of( new ParamTestCase( null, new AbstractMap.SimpleEntry<>("color", "") @@ -265,7 +265,7 @@ public void testPathMatrixSerialization() { mapPayload.put("R", 100); mapPayload.put("G", 200); mapPayload.put("B", 150); - var testCases = List.of( + List testCases = List.of( new ParamTestCase( null, new AbstractMap.SimpleEntry<>("color", "") @@ -336,7 +336,7 @@ public void testPathLabelSerialization() { mapPayload.put("R", 100); mapPayload.put("G", 200); mapPayload.put("B", 150); - var testCases = List.of( + List testCases = List.of( new ParamTestCase( null, new AbstractMap.SimpleEntry<>("color", "") diff --git a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java index c1a720b094f..f4ea29fccb3 100644 --- a/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java +++ b/samples/client/petstore/java/src/test/java/org/openapijsonschematools/client/parameter/SchemaQueryParameterTest.java @@ -31,7 +31,7 @@ public void testQueryParameterNoStyleSerialization() { mapPayload.put("R", 100); mapPayload.put("G", 200); mapPayload.put("B", 150); - var testCases = List.of( + List testCases = List.of( new ParamTestCase( null, new AbstractMap.SimpleEntry<>("color", "") @@ -109,7 +109,7 @@ public void testQueryParameterSpaceDelimitedSerialization() { mapPayload.put("R", 100); mapPayload.put("G", 200); mapPayload.put("B", 150); - var testCases = List.of( + List testCases = List.of( new ParamTestCase( List.of(), new AbstractMap.SimpleEntry<>("color", "") @@ -156,7 +156,7 @@ public void testQueryParameterPipeDelimitedSerialization() { mapPayload.put("R", 100); mapPayload.put("G", 200); mapPayload.put("B", 150); - var testCases = List.of( + List testCases = List.of( new ParamTestCase( List.of(), new AbstractMap.SimpleEntry<>("color", "") diff --git a/src/main/resources/java/src/main/java/packagename/parameter/CookieSerializer.hbs b/src/main/resources/java/src/main/java/packagename/parameter/CookieSerializer.hbs index 05ed7b911ea..74e8e2d6465 100644 --- a/src/main/resources/java/src/main/java/packagename/parameter/CookieSerializer.hbs +++ b/src/main/resources/java/src/main/java/packagename/parameter/CookieSerializer.hbs @@ -13,9 +13,9 @@ public abstract class CookieSerializer { this.parameters = parameters; } - public String serialize(Map inData) { + public String serialize(Map inData) { String result = ""; - Map sortedData = new TreeMap<>(inData); + Map sortedData = new TreeMap<>(inData); for (Map.Entry entry: sortedData.entrySet()) { String mapKey = entry.getKey(); @Nullable Parameter parameter = parameters.get(mapKey); diff --git a/src/main/resources/java/src/main/java/packagename/parameter/HeadersSerializer.hbs b/src/main/resources/java/src/main/java/packagename/parameter/HeadersSerializer.hbs index d6333ed5dfe..78b184bef5e 100644 --- a/src/main/resources/java/src/main/java/packagename/parameter/HeadersSerializer.hbs +++ b/src/main/resources/java/src/main/java/packagename/parameter/HeadersSerializer.hbs @@ -14,9 +14,9 @@ public abstract class HeadersSerializer { this.parameters = parameters; } - public Map> serialize(Map inData) { + public Map> serialize(Map inData) { Map> results = new LinkedHashMap<>(); - for (Map.Entry entry: inData.entrySet()) { + for (Map.Entry entry: inData.entrySet()) { String mapKey = entry.getKey(); @Nullable Parameter parameter = parameters.get(mapKey); if (parameter == null) { diff --git a/src/main/resources/java/src/main/java/packagename/parameter/PathSerializer.hbs b/src/main/resources/java/src/main/java/packagename/parameter/PathSerializer.hbs index 53bf06c97c0..690665a90bf 100644 --- a/src/main/resources/java/src/main/java/packagename/parameter/PathSerializer.hbs +++ b/src/main/resources/java/src/main/java/packagename/parameter/PathSerializer.hbs @@ -12,9 +12,9 @@ public abstract class PathSerializer { this.parameters = parameters; } - public String serialize(Map inData, String pathWithPlaceholders) { + public String serialize(Map inData, String pathWithPlaceholders) { String result = pathWithPlaceholders; - for (Map.Entry entry: inData.entrySet()) { + for (Map.Entry entry: inData.entrySet()) { String mapKey = entry.getKey(); @Nullable Parameter parameter = parameters.get(mapKey); if (parameter == null) { diff --git a/src/main/resources/java/src/main/java/packagename/parameter/QuerySerializer.hbs b/src/main/resources/java/src/main/java/packagename/parameter/QuerySerializer.hbs index 7912482eceb..870a79804b6 100644 --- a/src/main/resources/java/src/main/java/packagename/parameter/QuerySerializer.hbs +++ b/src/main/resources/java/src/main/java/packagename/parameter/QuerySerializer.hbs @@ -14,9 +14,9 @@ public abstract class QuerySerializer { this.parameters = parameters; } - public Map getQueryMap(Map inData) { + public Map getQueryMap(Map inData) { Map results = new HashMap<>(); - for (Map.Entry entry: inData.entrySet()) { + for (Map.Entry entry: inData.entrySet()) { String mapKey = entry.getKey(); @Nullable Parameter parameter = parameters.get(mapKey); if (parameter == null) { diff --git a/src/main/resources/java/src/test/java/packagename/header/ContentHeaderTest.hbs b/src/main/resources/java/src/test/java/packagename/header/ContentHeaderTest.hbs index 7bf8424a65a..465de3766b8 100644 --- a/src/main/resources/java/src/test/java/packagename/header/ContentHeaderTest.hbs +++ b/src/main/resources/java/src/test/java/packagename/header/ContentHeaderTest.hbs @@ -27,7 +27,7 @@ public class ContentHeaderTest { mapPayload.put("R", 100); mapPayload.put("G", 200); mapPayload.put("B", 150); - var testCases = List.of( + List testCases = List.of( new ParamTestCase( null, Map.of("color", List.of("null")) diff --git a/src/main/resources/java/src/test/java/packagename/parameter/CookieSerializerTest.hbs b/src/main/resources/java/src/test/java/packagename/parameter/CookieSerializerTest.hbs index db5f541301d..519c675002c 100644 --- a/src/main/resources/java/src/test/java/packagename/parameter/CookieSerializerTest.hbs +++ b/src/main/resources/java/src/test/java/packagename/parameter/CookieSerializerTest.hbs @@ -1,6 +1,5 @@ package {{{packageName}}}.parameter; -import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; import {{{packageName}}}.schemas.AnyTypeJsonSchema; @@ -34,7 +33,7 @@ public class CookieSerializerTest { @Test public void testSerialization() { - Map inData = Map.ofEntries( + Map inData = Map.ofEntries( new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); diff --git a/src/main/resources/java/src/test/java/packagename/parameter/HeadersSerializerTest.hbs b/src/main/resources/java/src/test/java/packagename/parameter/HeadersSerializerTest.hbs index d5c4d78213d..c1ee270e699 100644 --- a/src/main/resources/java/src/test/java/packagename/parameter/HeadersSerializerTest.hbs +++ b/src/main/resources/java/src/test/java/packagename/parameter/HeadersSerializerTest.hbs @@ -1,6 +1,5 @@ package {{{packageName}}}.parameter; -import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; import {{{packageName}}}.schemas.AnyTypeJsonSchema; @@ -35,7 +34,7 @@ public class HeadersSerializerTest { @Test public void testSerialization() { - Map inData = Map.ofEntries( + Map inData = Map.ofEntries( new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); diff --git a/src/main/resources/java/src/test/java/packagename/parameter/PathSerializerTest.hbs b/src/main/resources/java/src/test/java/packagename/parameter/PathSerializerTest.hbs index 05d5423ad2c..75182fcb905 100644 --- a/src/main/resources/java/src/test/java/packagename/parameter/PathSerializerTest.hbs +++ b/src/main/resources/java/src/test/java/packagename/parameter/PathSerializerTest.hbs @@ -1,6 +1,5 @@ package {{{packageName}}}.parameter; -import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; import {{{packageName}}}.schemas.AnyTypeJsonSchema; @@ -34,7 +33,7 @@ public class PathSerializerTest { @Test public void testSerialization() { - Map inData = Map.ofEntries( + Map inData = Map.ofEntries( new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); diff --git a/src/main/resources/java/src/test/java/packagename/parameter/QuerySerializerTest.hbs b/src/main/resources/java/src/test/java/packagename/parameter/QuerySerializerTest.hbs index 0c07cb76eef..6fe0d72fa94 100644 --- a/src/main/resources/java/src/test/java/packagename/parameter/QuerySerializerTest.hbs +++ b/src/main/resources/java/src/test/java/packagename/parameter/QuerySerializerTest.hbs @@ -1,6 +1,5 @@ package {{{packageName}}}.parameter; -import org.checkerframework.checker.nullness.qual.Nullable; import org.junit.Assert; import org.junit.Test; import {{{packageName}}}.schemas.AnyTypeJsonSchema; @@ -34,7 +33,7 @@ public class QuerySerializerTest { @Test public void testSerialization() { - Map inData = Map.ofEntries( + Map inData = Map.ofEntries( new AbstractMap.SimpleEntry<>("param1", "a"), new AbstractMap.SimpleEntry<>("param2", 3.14d) ); diff --git a/src/main/resources/java/src/test/java/packagename/parameter/SchemaNonQueryParameterTest.hbs b/src/main/resources/java/src/test/java/packagename/parameter/SchemaNonQueryParameterTest.hbs index cd2eda30687..d12b67bd2e3 100644 --- a/src/main/resources/java/src/test/java/packagename/parameter/SchemaNonQueryParameterTest.hbs +++ b/src/main/resources/java/src/test/java/packagename/parameter/SchemaNonQueryParameterTest.hbs @@ -31,7 +31,7 @@ public class SchemaNonQueryParameterTest { mapPayload.put("R", 100); mapPayload.put("G", 200); mapPayload.put("B", 150); - var testCases = List.of( + List testCases = List.of( new ParamTestCase( null, new AbstractMap.SimpleEntry<>("color", "") @@ -109,7 +109,7 @@ public class SchemaNonQueryParameterTest { mapPayload.put("R", 100); mapPayload.put("G", 200); mapPayload.put("B", 150); - var testCases = List.of( + List testCases = List.of( new ParamTestCase( null, new AbstractMap.SimpleEntry<>("color", "") @@ -187,7 +187,7 @@ public class SchemaNonQueryParameterTest { mapPayload.put("R", 100); mapPayload.put("G", 200); mapPayload.put("B", 150); - var testCases = List.of( + List testCases = List.of( new ParamTestCase( null, new AbstractMap.SimpleEntry<>("color", "") @@ -265,7 +265,7 @@ public class SchemaNonQueryParameterTest { mapPayload.put("R", 100); mapPayload.put("G", 200); mapPayload.put("B", 150); - var testCases = List.of( + List testCases = List.of( new ParamTestCase( null, new AbstractMap.SimpleEntry<>("color", "") @@ -336,7 +336,7 @@ public class SchemaNonQueryParameterTest { mapPayload.put("R", 100); mapPayload.put("G", 200); mapPayload.put("B", 150); - var testCases = List.of( + List testCases = List.of( new ParamTestCase( null, new AbstractMap.SimpleEntry<>("color", "") diff --git a/src/main/resources/java/src/test/java/packagename/parameter/SchemaQueryParameterTest.hbs b/src/main/resources/java/src/test/java/packagename/parameter/SchemaQueryParameterTest.hbs index fda16ffdc96..46532281884 100644 --- a/src/main/resources/java/src/test/java/packagename/parameter/SchemaQueryParameterTest.hbs +++ b/src/main/resources/java/src/test/java/packagename/parameter/SchemaQueryParameterTest.hbs @@ -31,7 +31,7 @@ public class SchemaQueryParameterTest { mapPayload.put("R", 100); mapPayload.put("G", 200); mapPayload.put("B", 150); - var testCases = List.of( + List testCases = List.of( new ParamTestCase( null, new AbstractMap.SimpleEntry<>("color", "") @@ -109,7 +109,7 @@ public class SchemaQueryParameterTest { mapPayload.put("R", 100); mapPayload.put("G", 200); mapPayload.put("B", 150); - var testCases = List.of( + List testCases = List.of( new ParamTestCase( List.of(), new AbstractMap.SimpleEntry<>("color", "") @@ -156,7 +156,7 @@ public class SchemaQueryParameterTest { mapPayload.put("R", 100); mapPayload.put("G", 200); mapPayload.put("B", 150); - var testCases = List.of( + List testCases = List.of( new ParamTestCase( List.of(), new AbstractMap.SimpleEntry<>("color", "") From c2067abb7b78144c986e0d5ea1964eafc3e254e2 Mon Sep 17 00:00:00 2001 From: Justin Black Date: Thu, 7 Mar 2024 13:27:01 -0800 Subject: [PATCH 29/29] Adds missing CookieSerializer --- .../java/.openapi-generator/FILES | 1 + .../client/parameter/CookieSerializer.java | 35 +++++++++++++++++++ .../java/.openapi-generator/FILES | 1 + .../client/parameter/CookieSerializer.java | 35 +++++++++++++++++++ .../petstore/java/.openapi-generator/FILES | 1 + .../client/parameter/CookieSerializer.java | 1 - .../generators/JavaClientGenerator.java | 4 +++ 7 files changed, 77 insertions(+), 1 deletion(-) create mode 100644 samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/CookieSerializer.java create mode 100644 samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/CookieSerializer.java diff --git a/samples/client/3_0_3_unit_test/java/.openapi-generator/FILES b/samples/client/3_0_3_unit_test/java/.openapi-generator/FILES index f3e730c6b46..c2a45666698 100644 --- a/samples/client/3_0_3_unit_test/java/.openapi-generator/FILES +++ b/samples/client/3_0_3_unit_test/java/.openapi-generator/FILES @@ -198,6 +198,7 @@ src/main/java/org/openapijsonschematools/client/header/StyleSerializer.java src/main/java/org/openapijsonschematools/client/mediatype/Encoding.java src/main/java/org/openapijsonschematools/client/mediatype/MediaType.java src/main/java/org/openapijsonschematools/client/parameter/ContentParameter.java +src/main/java/org/openapijsonschematools/client/parameter/CookieSerializer.java src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java src/main/java/org/openapijsonschematools/client/parameter/Parameter.java src/main/java/org/openapijsonschematools/client/parameter/ParameterBase.java diff --git a/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/CookieSerializer.java b/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/CookieSerializer.java new file mode 100644 index 00000000000..b04b2ca1754 --- /dev/null +++ b/samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/CookieSerializer.java @@ -0,0 +1,35 @@ +package org.openapijsonschematools.client.parameter; + +import org.checkerframework.checker.nullness.qual.Nullable; + +import java.util.AbstractMap; +import java.util.Map; +import java.util.TreeMap; + +public abstract class CookieSerializer { + private final Map parameters; + + protected CookieSerializer(Map parameters) { + this.parameters = parameters; + } + + public String serialize(Map inData) { + String result = ""; + Map sortedData = new TreeMap<>(inData); + for (Map.Entry entry: sortedData.entrySet()) { + String mapKey = entry.getKey(); + @Nullable Parameter parameter = parameters.get(mapKey); + if (parameter == null) { + throw new RuntimeException("Invalid state, a parameter must exist for every key"); + } + @Nullable Object value = entry.getValue(); + AbstractMap.SimpleEntry serialized = parameter.serialize(value); + if (result.isEmpty()) { + result = serialized.getValue(); + } else { + result = result + "; " + serialized.getValue(); + } + } + return result; + } +} diff --git a/samples/client/3_1_0_unit_test/java/.openapi-generator/FILES b/samples/client/3_1_0_unit_test/java/.openapi-generator/FILES index 5ca05d80f44..7f1a38b0586 100644 --- a/samples/client/3_1_0_unit_test/java/.openapi-generator/FILES +++ b/samples/client/3_1_0_unit_test/java/.openapi-generator/FILES @@ -310,6 +310,7 @@ src/main/java/org/openapijsonschematools/client/header/StyleSerializer.java src/main/java/org/openapijsonschematools/client/mediatype/Encoding.java src/main/java/org/openapijsonschematools/client/mediatype/MediaType.java src/main/java/org/openapijsonschematools/client/parameter/ContentParameter.java +src/main/java/org/openapijsonschematools/client/parameter/CookieSerializer.java src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java src/main/java/org/openapijsonschematools/client/parameter/Parameter.java src/main/java/org/openapijsonschematools/client/parameter/ParameterBase.java diff --git a/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/CookieSerializer.java b/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/CookieSerializer.java new file mode 100644 index 00000000000..b04b2ca1754 --- /dev/null +++ b/samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/parameter/CookieSerializer.java @@ -0,0 +1,35 @@ +package org.openapijsonschematools.client.parameter; + +import org.checkerframework.checker.nullness.qual.Nullable; + +import java.util.AbstractMap; +import java.util.Map; +import java.util.TreeMap; + +public abstract class CookieSerializer { + private final Map parameters; + + protected CookieSerializer(Map parameters) { + this.parameters = parameters; + } + + public String serialize(Map inData) { + String result = ""; + Map sortedData = new TreeMap<>(inData); + for (Map.Entry entry: sortedData.entrySet()) { + String mapKey = entry.getKey(); + @Nullable Parameter parameter = parameters.get(mapKey); + if (parameter == null) { + throw new RuntimeException("Invalid state, a parameter must exist for every key"); + } + @Nullable Object value = entry.getValue(); + AbstractMap.SimpleEntry serialized = parameter.serialize(value); + if (result.isEmpty()) { + result = serialized.getValue(); + } else { + result = result + "; " + serialized.getValue(); + } + } + return result; + } +} diff --git a/samples/client/petstore/java/.openapi-generator/FILES b/samples/client/petstore/java/.openapi-generator/FILES index deff1847b09..7db84ab644e 100644 --- a/samples/client/petstore/java/.openapi-generator/FILES +++ b/samples/client/petstore/java/.openapi-generator/FILES @@ -558,6 +558,7 @@ src/main/java/org/openapijsonschematools/client/header/StyleSerializer.java src/main/java/org/openapijsonschematools/client/mediatype/Encoding.java src/main/java/org/openapijsonschematools/client/mediatype/MediaType.java src/main/java/org/openapijsonschematools/client/parameter/ContentParameter.java +src/main/java/org/openapijsonschematools/client/parameter/CookieSerializer.java src/main/java/org/openapijsonschematools/client/parameter/HeadersSerializer.java src/main/java/org/openapijsonschematools/client/parameter/Parameter.java src/main/java/org/openapijsonschematools/client/parameter/ParameterBase.java diff --git a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/CookieSerializer.java b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/CookieSerializer.java index 59afc0ca713..b04b2ca1754 100644 --- a/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/CookieSerializer.java +++ b/samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/parameter/CookieSerializer.java @@ -3,7 +3,6 @@ import org.checkerframework.checker.nullness.qual.Nullable; import java.util.AbstractMap; -import java.util.LinkedHashMap; import java.util.Map; import java.util.TreeMap; diff --git a/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java b/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java index 73f95dfd451..cc7489cc3f3 100644 --- a/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java +++ b/src/main/java/org/openapijsonschematools/codegen/generators/JavaClientGenerator.java @@ -833,6 +833,10 @@ public void processOpts() { "src/main/java/packagename/parameter/ContentParameter.hbs", packagePath() + File.separatorChar + "parameter", "ContentParameter.java")); + supportingFiles.add(new SupportingFile( + "src/main/java/packagename/parameter/CookieSerializer.hbs", + packagePath() + File.separatorChar + "parameter", + "CookieSerializer.java")); supportingFiles.add(new SupportingFile( "src/main/java/packagename/parameter/HeadersSerializer.hbs", packagePath() + File.separatorChar + "parameter",