Skip to content

Commit b538ca2

Browse files
committed
Remove useless custom collector
1 parent b641516 commit b538ca2

File tree

3 files changed

+34
-135
lines changed

3 files changed

+34
-135
lines changed

src/main/java/org/mybatis/dynamic/sql/update/render/OptionalFragmentCollector.java

Lines changed: 0 additions & 64 deletions
This file was deleted.

src/main/java/org/mybatis/dynamic/sql/update/render/UpdateRenderer.java

Lines changed: 34 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@
1717

1818
import static org.mybatis.dynamic.sql.util.StringUtilities.spaceBefore;
1919

20+
import java.util.HashMap;
21+
import java.util.List;
22+
import java.util.Map;
2023
import java.util.Objects;
2124
import java.util.Optional;
2225
import java.util.concurrent.atomic.AtomicInteger;
@@ -43,50 +46,59 @@ private UpdateRenderer(Builder builder) {
4346
}
4447

4548
public UpdateStatementProvider render() {
46-
OptionalFragmentCollector fc = calculateColumnMappings();
49+
SetPhraseVisitor visitor = new SetPhraseVisitor(sequence, renderingStrategy);
50+
51+
List<Optional<FragmentAndParameters>> fragmentsAndParameters =
52+
updateModel.mapColumnMappings(toFragmentAndParameters(visitor))
53+
.collect(Collectors.toList());
4754

4855
return updateModel.whereModel()
4956
.flatMap(this::renderWhereClause)
50-
.map(wc -> renderWithWhereClause(fc, wc))
51-
.orElseGet(() -> renderWithoutWhereClause(fc));
57+
.map(wc -> renderWithWhereClause(fragmentsAndParameters, wc))
58+
.orElseGet(() -> renderWithoutWhereClause(fragmentsAndParameters));
5259
}
5360

54-
private OptionalFragmentCollector calculateColumnMappings() {
55-
SetPhraseVisitor visitor = new SetPhraseVisitor(sequence, renderingStrategy);
56-
57-
return updateModel.mapColumnMappings(toFragmentAndParameters(visitor))
58-
.collect(OptionalFragmentCollector.collect());
59-
}
60-
61-
private UpdateStatementProvider renderWithWhereClause(OptionalFragmentCollector columnMappings,
61+
private UpdateStatementProvider renderWithWhereClause(List<Optional<FragmentAndParameters>> fragmentsAndParameters,
6262
WhereClauseProvider whereClause) {
63-
return DefaultUpdateStatementProvider.withUpdateStatement(calculateUpdateStatement(columnMappings, whereClause))
64-
.withParameters(columnMappings.parameters())
63+
return DefaultUpdateStatementProvider.withUpdateStatement(calculateUpdateStatement(fragmentsAndParameters, whereClause))
64+
.withParameters(calculateParameters(fragmentsAndParameters))
6565
.withParameters(whereClause.getParameters())
6666
.build();
6767
}
6868

69-
private String calculateUpdateStatement(OptionalFragmentCollector fc, WhereClauseProvider whereClause) {
70-
return calculateUpdateStatement(fc)
69+
private String calculateUpdateStatement(List<Optional<FragmentAndParameters>> fragmentsAndParameters,
70+
WhereClauseProvider whereClause) {
71+
return calculateUpdateStatement(fragmentsAndParameters)
7172
+ spaceBefore(whereClause.getWhereClause());
7273
}
7374

74-
private String calculateUpdateStatement(OptionalFragmentCollector fc) {
75+
private String calculateUpdateStatement(List<Optional<FragmentAndParameters>> fragmentsAndParameters) {
7576
return "update" //$NON-NLS-1$
7677
+ spaceBefore(updateModel.table().tableNameAtRuntime())
77-
+ spaceBefore(calculateSetPhrase(fc));
78+
+ spaceBefore(calculateSetPhrase(fragmentsAndParameters));
7879
}
7980

80-
private UpdateStatementProvider renderWithoutWhereClause(OptionalFragmentCollector columnMappings) {
81-
return DefaultUpdateStatementProvider.withUpdateStatement(calculateUpdateStatement(columnMappings))
82-
.withParameters(columnMappings.parameters())
81+
private UpdateStatementProvider renderWithoutWhereClause(List<Optional<FragmentAndParameters>> fragmentsAndParameters) {
82+
return DefaultUpdateStatementProvider.withUpdateStatement(calculateUpdateStatement(fragmentsAndParameters))
83+
.withParameters(calculateParameters(fragmentsAndParameters))
8384
.build();
8485
}
8586

86-
private String calculateSetPhrase(OptionalFragmentCollector collector) {
87-
return collector.fragments()
87+
private String calculateSetPhrase(List<Optional<FragmentAndParameters>> fragmentsAndParameters) {
88+
return fragmentsAndParameters.stream()
89+
.filter(Optional::isPresent)
90+
.map(Optional::get)
91+
.map(FragmentAndParameters::fragment)
8892
.collect(Collectors.joining(", ", "set ", "")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
8993
}
94+
95+
private Map<String, Object> calculateParameters(List<Optional<FragmentAndParameters>> fragmentsAndParameters) {
96+
return fragmentsAndParameters.stream()
97+
.filter(Optional::isPresent)
98+
.map(Optional::get)
99+
.map(FragmentAndParameters::parameters)
100+
.collect(HashMap::new, HashMap::putAll, HashMap::putAll);
101+
}
90102

91103
private Optional<WhereClauseProvider> renderWhereClause(WhereModel whereModel) {
92104
return WhereRenderer.withWhereModel(whereModel)

src/test/java/org/mybatis/dynamic/sql/update/render/OptionalFragmentCollectorTest.java

Lines changed: 0 additions & 49 deletions
This file was deleted.

0 commit comments

Comments
 (0)