Skip to content

Commit 8848f3b

Browse files
DefaultMessagePropertiesConverter: improve conditions
We can reduce `else if` condition in method `DefaultMessagePropertiesConverter.convertLongStringIfNecessary()`
1 parent 1c429b8 commit 8848f3b

File tree

1 file changed

+15
-17
lines changed

1 file changed

+15
-17
lines changed

spring-rabbit/src/main/java/org/springframework/amqp/rabbit/support/DefaultMessagePropertiesConverter.java

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
* @author Soeren Unruh
4343
* @author Raylax Grey
4444
* @author Artem Bilan
45+
* @author Ngoc Nhan
4546
*
4647
* @since 1.0
4748
*/
@@ -275,27 +276,24 @@ private Object convertLongString(LongString longString, String charset) {
275276
* @return the converted string.
276277
*/
277278
private Object convertLongStringIfNecessary(Object valueArg, String charset) {
278-
Object value = valueArg;
279-
if (value instanceof LongString longStr) {
280-
value = convertLongString(longStr, charset);
279+
if (valueArg instanceof LongString longStr) {
280+
return convertLongString(longStr, charset);
281281
}
282-
else if (value instanceof List<?>) {
283-
List<Object> convertedList = new ArrayList<>(((List<?>) value).size());
284-
for (Object listValue : (List<?>) value) {
285-
convertedList.add(this.convertLongStringIfNecessary(listValue, charset));
286-
}
287-
value = convertedList;
282+
283+
if (valueArg instanceof List<?> values) {
284+
List<Object> convertedList = new ArrayList<>(values.size());
285+
values.forEach(value -> convertedList.add(this.convertLongStringIfNecessary(value, charset)));
286+
return convertedList;
288287
}
289-
else if (value instanceof Map<?, ?>) {
290-
@SuppressWarnings("unchecked")
291-
Map<String, Object> originalMap = (Map<String, Object>) value;
288+
289+
if (valueArg instanceof Map<?, ?> originalMap) {
292290
Map<String, Object> convertedMap = new HashMap<>();
293-
for (Map.Entry<String, Object> entry : originalMap.entrySet()) {
294-
convertedMap.put(entry.getKey(), this.convertLongStringIfNecessary(entry.getValue(), charset));
295-
}
296-
value = convertedMap;
291+
originalMap.forEach(
292+
(key, value) -> convertedMap.put((String) key, this.convertLongStringIfNecessary(value, charset)));
293+
return convertedMap;
297294
}
298-
return value;
295+
296+
return valueArg;
299297
}
300298

301299
}

0 commit comments

Comments
 (0)