Skip to content

Commit 176fe27

Browse files
committed
fix(java/restclient): add updated samples (#23153)
1 parent cb43499 commit 176fe27

13 files changed

Lines changed: 134 additions & 79 deletions

File tree

  • modules/openapi-generator/src
  • samples/client
    • echo_api/java/restclient/src/main/java/org/openapitools/client
    • others/java
      • restclient-enum-in-multipart/src/main/java/org/openapitools/client
      • restclient-sealedInterface/src/main/java/org/openapitools/client
      • restclient-useAbstractionForFiles/src/main/java/org/openapitools/client
    • petstore/java
      • restclient-nullable-arrays/src/main/java/org/openapitools/client
      • restclient-springBoot4-jackson2/src/main/java/org/openapitools/client
      • restclient-springBoot4-jackson3/src/main/java/org/openapitools/client
      • restclient-swagger2/src/main/java/org/openapitools/client
      • restclient-useSingleRequestParameter-static/src/main/java/org/openapitools/client
      • restclient-useSingleRequestParameter/src/main/java/org/openapitools/client
      • restclient/src/main/java/org/openapitools/client

modules/openapi-generator/src/main/resources/Java/libraries/restclient/ApiClient.mustache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -853,7 +853,7 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
853853
for (int i = 0; i < list.size(); i++) {
854854
Object item = list.get(i);
855855
if (item != null) {
856-
((List) list).set(i, item.toString());
856+
list.set(i, item.toString());
857857
}
858858
}
859859
}

modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4234,7 +4234,7 @@ public void testRestClientMultipartFormParamsGuardAgainstEmptyLists() {
42344234
"for (int i = 0; i < list.size(); i++) {",
42354235
"Object item = list.get(i);",
42364236
"if (item != null) {",
4237-
"((List) list).set(i, item.toString());"
4237+
"list.set(i, item.toString());"
42384238
);
42394239

42404240
TestUtils.assertFileNotContains(

samples/client/echo_api/java/restclient/src/main/java/org/openapitools/client/ApiClient.java

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -723,15 +723,20 @@ protected RestClient.RequestBodySpec prepareRequest(String path, HttpMethod meth
723723
addCookiesToRequest(defaultCookies, requestBuilder);
724724

725725
if (MediaType.MULTIPART_FORM_DATA.isCompatibleWith(contentType)) {
726-
formParams.forEach(
727-
(k, v) -> {
728-
if (v instanceof java.util.ArrayList) {
729-
Object o = v.get(0);
730-
if (o != null && o.getClass().getEnumConstants() != null) {
731-
v.set(0, o.toString());
726+
formParams.forEach((k, v) -> {
727+
if (v instanceof List<?> && !((List<?>) v).isEmpty()) {
728+
List<Object> list = (List<Object>) v;
729+
Object first = list.get(0);
730+
if (first != null && first.getClass().isEnum()) {
731+
for (int i = 0; i < list.size(); i++) {
732+
Object item = list.get(i);
733+
if (item != null) {
734+
list.set(i, item.toString());
732735
}
733736
}
734-
});
737+
}
738+
}
739+
});
735740
}
736741

737742
var selectedBody = selectBody(body, formParams, contentType);

samples/client/others/java/restclient-enum-in-multipart/src/main/java/org/openapitools/client/ApiClient.java

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -722,15 +722,20 @@ protected RestClient.RequestBodySpec prepareRequest(String path, HttpMethod meth
722722
addCookiesToRequest(defaultCookies, requestBuilder);
723723

724724
if (MediaType.MULTIPART_FORM_DATA.isCompatibleWith(contentType)) {
725-
formParams.forEach(
726-
(k, v) -> {
727-
if (v instanceof java.util.ArrayList) {
728-
Object o = v.get(0);
729-
if (o != null && o.getClass().getEnumConstants() != null) {
730-
v.set(0, o.toString());
725+
formParams.forEach((k, v) -> {
726+
if (v instanceof List<?> && !((List<?>) v).isEmpty()) {
727+
List<Object> list = (List<Object>) v;
728+
Object first = list.get(0);
729+
if (first != null && first.getClass().isEnum()) {
730+
for (int i = 0; i < list.size(); i++) {
731+
Object item = list.get(i);
732+
if (item != null) {
733+
list.set(i, item.toString());
731734
}
732735
}
733-
});
736+
}
737+
}
738+
});
734739
}
735740

736741
var selectedBody = selectBody(body, formParams, contentType);

samples/client/others/java/restclient-sealedInterface/src/main/java/org/openapitools/client/ApiClient.java

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -721,15 +721,20 @@ protected RestClient.RequestBodySpec prepareRequest(String path, HttpMethod meth
721721
addCookiesToRequest(defaultCookies, requestBuilder);
722722

723723
if (MediaType.MULTIPART_FORM_DATA.isCompatibleWith(contentType)) {
724-
formParams.forEach(
725-
(k, v) -> {
726-
if (v instanceof java.util.ArrayList) {
727-
Object o = v.get(0);
728-
if (o != null && o.getClass().getEnumConstants() != null) {
729-
v.set(0, o.toString());
724+
formParams.forEach((k, v) -> {
725+
if (v instanceof List<?> && !((List<?>) v).isEmpty()) {
726+
List<Object> list = (List<Object>) v;
727+
Object first = list.get(0);
728+
if (first != null && first.getClass().isEnum()) {
729+
for (int i = 0; i < list.size(); i++) {
730+
Object item = list.get(i);
731+
if (item != null) {
732+
list.set(i, item.toString());
730733
}
731734
}
732-
});
735+
}
736+
}
737+
});
733738
}
734739

735740
var selectedBody = selectBody(body, formParams, contentType);

samples/client/others/java/restclient-useAbstractionForFiles/src/main/java/org/openapitools/client/ApiClient.java

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -721,15 +721,20 @@ protected RestClient.RequestBodySpec prepareRequest(String path, HttpMethod meth
721721
addCookiesToRequest(defaultCookies, requestBuilder);
722722

723723
if (MediaType.MULTIPART_FORM_DATA.isCompatibleWith(contentType)) {
724-
formParams.forEach(
725-
(k, v) -> {
726-
if (v instanceof java.util.ArrayList) {
727-
Object o = v.get(0);
728-
if (o != null && o.getClass().getEnumConstants() != null) {
729-
v.set(0, o.toString());
724+
formParams.forEach((k, v) -> {
725+
if (v instanceof List<?> && !((List<?>) v).isEmpty()) {
726+
List<Object> list = (List<Object>) v;
727+
Object first = list.get(0);
728+
if (first != null && first.getClass().isEnum()) {
729+
for (int i = 0; i < list.size(); i++) {
730+
Object item = list.get(i);
731+
if (item != null) {
732+
list.set(i, item.toString());
730733
}
731734
}
732-
});
735+
}
736+
}
737+
});
733738
}
734739

735740
var selectedBody = selectBody(body, formParams, contentType);

samples/client/petstore/java/restclient-nullable-arrays/src/main/java/org/openapitools/client/ApiClient.java

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -721,15 +721,20 @@ protected RestClient.RequestBodySpec prepareRequest(String path, HttpMethod meth
721721
addCookiesToRequest(defaultCookies, requestBuilder);
722722

723723
if (MediaType.MULTIPART_FORM_DATA.isCompatibleWith(contentType)) {
724-
formParams.forEach(
725-
(k, v) -> {
726-
if (v instanceof java.util.ArrayList) {
727-
Object o = v.get(0);
728-
if (o != null && o.getClass().getEnumConstants() != null) {
729-
v.set(0, o.toString());
724+
formParams.forEach((k, v) -> {
725+
if (v instanceof List<?> && !((List<?>) v).isEmpty()) {
726+
List<Object> list = (List<Object>) v;
727+
Object first = list.get(0);
728+
if (first != null && first.getClass().isEnum()) {
729+
for (int i = 0; i < list.size(); i++) {
730+
Object item = list.get(i);
731+
if (item != null) {
732+
list.set(i, item.toString());
730733
}
731734
}
732-
});
735+
}
736+
}
737+
});
733738
}
734739

735740
var selectedBody = selectBody(body, formParams, contentType);

samples/client/petstore/java/restclient-springBoot4-jackson2/src/main/java/org/openapitools/client/ApiClient.java

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -747,15 +747,20 @@ protected RestClient.RequestBodySpec prepareRequest(String path, HttpMethod meth
747747
addCookiesToRequest(defaultCookies, requestBuilder);
748748

749749
if (MediaType.MULTIPART_FORM_DATA.isCompatibleWith(contentType)) {
750-
formParams.forEach(
751-
(k, v) -> {
752-
if (v instanceof java.util.ArrayList) {
753-
Object o = v.get(0);
754-
if (o != null && o.getClass().getEnumConstants() != null) {
755-
v.set(0, o.toString());
750+
formParams.forEach((k, v) -> {
751+
if (v instanceof List<?> && !((List<?>) v).isEmpty()) {
752+
List<Object> list = (List<Object>) v;
753+
Object first = list.get(0);
754+
if (first != null && first.getClass().isEnum()) {
755+
for (int i = 0; i < list.size(); i++) {
756+
Object item = list.get(i);
757+
if (item != null) {
758+
list.set(i, item.toString());
756759
}
757760
}
758-
});
761+
}
762+
}
763+
});
759764
}
760765

761766
var selectedBody = selectBody(body, formParams, contentType);

samples/client/petstore/java/restclient-springBoot4-jackson3/src/main/java/org/openapitools/client/ApiClient.java

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -740,15 +740,20 @@ protected RestClient.RequestBodySpec prepareRequest(String path, HttpMethod meth
740740
addCookiesToRequest(defaultCookies, requestBuilder);
741741

742742
if (MediaType.MULTIPART_FORM_DATA.isCompatibleWith(contentType)) {
743-
formParams.forEach(
744-
(k, v) -> {
745-
if (v instanceof java.util.ArrayList) {
746-
Object o = v.get(0);
747-
if (o != null && o.getClass().getEnumConstants() != null) {
748-
v.set(0, o.toString());
743+
formParams.forEach((k, v) -> {
744+
if (v instanceof List<?> && !((List<?>) v).isEmpty()) {
745+
List<Object> list = (List<Object>) v;
746+
Object first = list.get(0);
747+
if (first != null && first.getClass().isEnum()) {
748+
for (int i = 0; i < list.size(); i++) {
749+
Object item = list.get(i);
750+
if (item != null) {
751+
list.set(i, item.toString());
749752
}
750753
}
751-
});
754+
}
755+
}
756+
});
752757
}
753758

754759
var selectedBody = selectBody(body, formParams, contentType);

samples/client/petstore/java/restclient-swagger2/src/main/java/org/openapitools/client/ApiClient.java

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -794,15 +794,20 @@ protected RestClient.RequestBodySpec prepareRequest(String path, HttpMethod meth
794794
addCookiesToRequest(defaultCookies, requestBuilder);
795795

796796
if (MediaType.MULTIPART_FORM_DATA.isCompatibleWith(contentType)) {
797-
formParams.forEach(
798-
(k, v) -> {
799-
if (v instanceof java.util.ArrayList) {
800-
Object o = v.get(0);
801-
if (o != null && o.getClass().getEnumConstants() != null) {
802-
v.set(0, o.toString());
797+
formParams.forEach((k, v) -> {
798+
if (v instanceof List<?> && !((List<?>) v).isEmpty()) {
799+
List<Object> list = (List<Object>) v;
800+
Object first = list.get(0);
801+
if (first != null && first.getClass().isEnum()) {
802+
for (int i = 0; i < list.size(); i++) {
803+
Object item = list.get(i);
804+
if (item != null) {
805+
list.set(i, item.toString());
803806
}
804807
}
805-
});
808+
}
809+
}
810+
});
806811
}
807812

808813
var selectedBody = selectBody(body, formParams, contentType);

0 commit comments

Comments
 (0)