Skip to content

Commit b279ff0

Browse files
mp911dechristophstrobl
authored andcommitted
Polishing.
Fix typos, move QueryTransformers.filterCountSelection to CountSelectionTokenStream.create. Original Pull Request: #3553
1 parent 9d4bde3 commit b279ff0

File tree

5 files changed

+34
-36
lines changed

5 files changed

+34
-36
lines changed

spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/query/EqlCountQueryTransformer.java

+2-4
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,7 @@
1515
*/
1616
package org.springframework.data.jpa.repository.query;
1717

18-
import static org.springframework.data.jpa.repository.query.QueryTokens.TOKEN_CLOSE_PAREN;
19-
import static org.springframework.data.jpa.repository.query.QueryTokens.TOKEN_COMMA;
20-
import static org.springframework.data.jpa.repository.query.QueryTokens.TOKEN_COUNT_FUNC;
18+
import static org.springframework.data.jpa.repository.query.QueryTokens.*;
2119

2220
import org.springframework.data.jpa.repository.query.QueryRenderer.QueryRendererBuilder;
2321
import org.springframework.data.jpa.repository.query.QueryTransformers.CountSelectionTokenStream;
@@ -98,7 +96,7 @@ public QueryTokenStream visitSelect_clause(EqlParser.Select_clauseContext ctx) {
9896
private QueryRendererBuilder getDistinctCountSelection(QueryTokenStream selectionListbuilder) {
9997

10098
QueryRendererBuilder nested = new QueryRendererBuilder();
101-
CountSelectionTokenStream countSelection = QueryTransformers.filterCountSelection(selectionListbuilder);
99+
CountSelectionTokenStream countSelection = CountSelectionTokenStream.create(selectionListbuilder);
102100

103101
if (countSelection.requiresPrimaryAlias()) {
104102
// constructor

spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/query/HqlCountQueryTransformer.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ private QueryRendererBuilder visitSubQuerySelectClause(SelectClauseContext ctx,
251251
private QueryRendererBuilder getDistinctCountSelection(QueryTokenStream selectionListbuilder) {
252252

253253
QueryRendererBuilder nested = new QueryRendererBuilder();
254-
CountSelectionTokenStream countSelection = QueryTransformers.filterCountSelection(selectionListbuilder);
254+
CountSelectionTokenStream countSelection = CountSelectionTokenStream.create(selectionListbuilder);
255255

256256
if (countSelection.requiresPrimaryAlias()) {
257257
// constructor

spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/query/JpqlCountQueryTransformer.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ public QueryRendererBuilder visitSelect_clause(JpqlParser.Select_clauseContext c
9696
private QueryRendererBuilder getDistinctCountSelection(QueryTokenStream selectionListbuilder) {
9797

9898
QueryRendererBuilder nested = new QueryRendererBuilder();
99-
CountSelectionTokenStream countSelection = QueryTransformers.filterCountSelection(selectionListbuilder);
99+
CountSelectionTokenStream countSelection = CountSelectionTokenStream.create(selectionListbuilder);
100100

101101
if (countSelection.requiresPrimaryAlias()) {
102102
// constructor

spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/query/QueryTransformers.java

+29-29
Original file line numberDiff line numberDiff line change
@@ -29,46 +29,46 @@
2929
*/
3030
class QueryTransformers {
3131

32-
static CountSelectionTokenStream filterCountSelection(QueryTokenStream selection) {
32+
static class CountSelectionTokenStream implements QueryTokenStream {
3333

34-
List<QueryToken> target = new ArrayList<>(selection.size());
35-
boolean skipNext = false;
36-
boolean containsNew = false;
34+
private final List<QueryToken> tokens;
35+
private final boolean requiresPrimaryAlias;
3736

38-
for (QueryToken token : selection) {
37+
CountSelectionTokenStream(List<QueryToken> tokens, boolean requiresPrimaryAlias) {
38+
this.tokens = tokens;
39+
this.requiresPrimaryAlias = requiresPrimaryAlias;
40+
}
3941

40-
if (skipNext) {
41-
skipNext = false;
42-
continue;
43-
}
42+
static CountSelectionTokenStream create(QueryTokenStream selection) {
4443

45-
if (token.equals(TOKEN_AS)) {
46-
skipNext = true;
47-
continue;
48-
}
44+
List<QueryToken> target = new ArrayList<>(selection.size());
45+
boolean skipNext = false;
46+
boolean containsNew = false;
4947

50-
if (!token.equals(TOKEN_COMMA) && token.isExpression()) {
51-
token = QueryTokens.token(token.value());
52-
}
48+
for (QueryToken token : selection) {
5349

54-
if (!containsNew && token.value().contains("new")) {
55-
containsNew = true;
56-
}
50+
if (skipNext) {
51+
skipNext = false;
52+
continue;
53+
}
5754

58-
target.add(token);
59-
}
55+
if (token.equals(TOKEN_AS)) {
56+
skipNext = true;
57+
continue;
58+
}
6059

61-
return new CountSelectionTokenStream(target, containsNew);
62-
}
60+
if (!token.equals(TOKEN_COMMA) && token.isExpression()) {
61+
token = QueryTokens.token(token.value());
62+
}
6363

64-
static class CountSelectionTokenStream implements QueryTokenStream {
64+
if (!containsNew && token.value().contains("new")) {
65+
containsNew = true;
66+
}
6567

66-
private final List<QueryToken> tokens;
67-
private final boolean requiresPrimaryAlias;
68+
target.add(token);
69+
}
6870

69-
public CountSelectionTokenStream(List<QueryToken> tokens, boolean requiresPrimaryAlias) {
70-
this.tokens = tokens;
71-
this.requiresPrimaryAlias = requiresPrimaryAlias;
71+
return new CountSelectionTokenStream(target, containsNew);
7272
}
7373

7474
@Override

spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/query/JpqlQueryTransformerTests.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ void applyCountToMoreComplexQuery() {
9999
}
100100

101101
@Test
102-
void applyCountToAlreadySorteQuery() {
102+
void applyCountToAlreadySortedQuery() {
103103

104104
// given
105105
var original = "SELECT e FROM Employee e where e.name = :name ORDER BY e.modified_date";

0 commit comments

Comments
 (0)