Skip to content

Commit 2bf8d81

Browse files
committed
Refactor Update expression converter to use stringjoiner instead str formatter
1 parent 1e70ec5 commit 2bf8d81

File tree

1 file changed

+13
-12
lines changed

1 file changed

+13
-12
lines changed

services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/update/UpdateExpressionConverter.java

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import java.util.HashMap;
2121
import java.util.List;
2222
import java.util.Map;
23+
import java.util.StringJoiner;
2324
import java.util.stream.Collectors;
2425
import java.util.stream.Stream;
2526
import software.amazon.awssdk.annotations.SdkInternalApi;
@@ -114,24 +115,24 @@ public static List<String> findAttributeNames(UpdateExpression updateExpression)
114115
private static List<String> groupExpressions(UpdateExpression expression) {
115116
List<String> groupExpressions = new ArrayList<>();
116117
if (!expression.setActions().isEmpty()) {
117-
groupExpressions.add(SET + expression.setActions().stream()
118-
.map(a -> a.path() + " = " + a.value())
119-
.collect(Collectors.joining(ACTION_SEPARATOR)));
118+
StringJoiner joiner = new StringJoiner(ACTION_SEPARATOR, SET, "");
119+
expression.setActions().forEach(a -> joiner.add(a.path() + " = " + a.value()));
120+
groupExpressions.add(joiner.toString());
120121
}
121122
if (!expression.removeActions().isEmpty()) {
122-
groupExpressions.add(REMOVE + expression.removeActions().stream()
123-
.map(RemoveAction::path)
124-
.collect(Collectors.joining(ACTION_SEPARATOR)));
123+
StringJoiner joiner = new StringJoiner(ACTION_SEPARATOR, REMOVE, "");
124+
expression.removeActions().forEach(a -> joiner.add(a.path()));
125+
groupExpressions.add(joiner.toString());
125126
}
126127
if (!expression.deleteActions().isEmpty()) {
127-
groupExpressions.add(DELETE + expression.deleteActions().stream()
128-
.map(a -> a.path() + " " + a.value())
129-
.collect(Collectors.joining(ACTION_SEPARATOR)));
128+
StringJoiner joiner = new StringJoiner(ACTION_SEPARATOR, DELETE, "");
129+
expression.deleteActions().forEach(a -> joiner.add(a.path() + " " + a.value()));
130+
groupExpressions.add(joiner.toString());
130131
}
131132
if (!expression.addActions().isEmpty()) {
132-
groupExpressions.add(ADD + expression.addActions().stream()
133-
.map(a -> a.path() + " " + a.value())
134-
.collect(Collectors.joining(ACTION_SEPARATOR)));
133+
StringJoiner joiner = new StringJoiner(ACTION_SEPARATOR, ADD, "");
134+
expression.addActions().forEach(a -> joiner.add(a.path() + " " + a.value()));
135+
groupExpressions.add(joiner.toString());
135136
}
136137
return groupExpressions;
137138
}

0 commit comments

Comments
 (0)