Skip to content

Commit 0352627

Browse files
BYC-1642 Add support for list of ApiClientBodyPart
1 parent f0948e2 commit 0352627

2 files changed

Lines changed: 19 additions & 2 deletions

File tree

  • symphony-bdk-http

symphony-bdk-http/symphony-bdk-http-api/src/main/java/com/symphony/bdk/http/api/util/ApiUtils.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.symphony.bdk.http.api.util;
22

3+
import com.symphony.bdk.http.api.ApiClientBodyPart;
4+
35
import org.apiguardian.api.API;
46
import org.slf4j.Logger;
57
import org.slf4j.LoggerFactory;
@@ -55,12 +57,22 @@ public static void addDefaultRootCaCertificates(KeyStore trustStore) throws Gene
5557
}
5658

5759
public static boolean isCollectionOfFiles(Object paramValue) {
60+
return isCollectionOf(paramValue, File.class);
61+
}
62+
63+
public static boolean isCollectionOfApiClientBodyPart(Object paramValue) {
64+
return isCollectionOf(paramValue, ApiClientBodyPart.class);
65+
}
66+
67+
68+
private static boolean isCollectionOf(Object paramValue, Class clazz) {
69+
5870
if (!(paramValue instanceof Collection<?>)) {
5971
return false;
6072
}
6173

6274
final Collection<?> collection = (Collection<?>) paramValue;
63-
return !collection.isEmpty() && collection.stream().allMatch(p -> p instanceof File);
75+
return !collection.isEmpty() && collection.stream().allMatch(clazz::isInstance);
6476
}
6577

6678
private static String getBdkVersion() {

symphony-bdk-http/symphony-bdk-http-webclient/src/main/java/com/symphony/bdk/http/webclient/ApiClientWebClient.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import java.util.stream.Collectors;
3838
import java.util.stream.Stream;
3939

40+
import static com.symphony.bdk.http.api.util.ApiUtils.isCollectionOfApiClientBodyPart;
4041
import static com.symphony.bdk.http.api.util.ApiUtils.isCollectionOfFiles;
4142

4243
/**
@@ -241,8 +242,12 @@ private void serializeMultiPartDataEntry(String paramKey, Object paramValue,
241242
}
242243
} else if (paramValue instanceof ApiClientBodyPart) {
243244
serializeApiClientBodyPart(paramKey, (ApiClientBodyPart) paramValue, formValueMap);
245+
} else if (isCollectionOfApiClientBodyPart(paramValue)) {
246+
for (Object o : (Collection<?>) paramValue) {
247+
serializeApiClientBodyPart(paramKey, (ApiClientBodyPart) o, formValueMap);
248+
}
244249
} else {
245-
formValueMap.add(paramKey, parameterToString(paramValue));
250+
formValueMap.add(paramKey, parameterToString(paramValue));
246251
}
247252
}
248253

0 commit comments

Comments
 (0)