Skip to content

Commit 71b091d

Browse files
committed
Cleanup vars, switches, pattern matching and text blocks
1 parent a89a122 commit 71b091d

File tree

44 files changed

+387
-454
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+387
-454
lines changed

querydsl-libraries/querydsl-core/src/main/java/com/querydsl/core/types/TemplateFactory.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,13 @@ public class TemplateFactory {
5050

5151
private static final Pattern elementPattern =
5252
Pattern.compile(
53-
"\\{"
54-
+ "(%?%?)"
55-
+ "(\\d+)"
56-
+ "(?:([+-/*])(?:(\\d+)|'(-?\\d+(?:\\.\\d+)?)'))?"
57-
+ "([slu%]?%?)"
58-
+ "\\}");
53+
"""
54+
\\{\
55+
(%?%?)\
56+
(\\d+)\
57+
(?:([+-/*])(?:(\\d+)|'(-?\\d+(?:\\.\\d+)?)'))?\
58+
([slu%]?%?)\
59+
\\}""");
5960

6061
private final Map<String, Template> cache = Collections.synchronizedMap(new WeakHashMap<>());
6162

querydsl-libraries/querydsl-core/src/main/java/com/querydsl/core/types/ToStringVisitor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public String visit(FactoryExpression<?> e, Templates templates) {
5151

5252
@Override
5353
public String visit(Operation<?> o, Templates templates) {
54-
final Template template = templates.getTemplate(o.getOperator());
54+
final var template = templates.getTemplate(o.getOperator());
5555
if (template != null) {
5656
final var precedence = templates.getPrecedence(o.getOperator());
5757
final var builder = new StringBuilder();
@@ -90,7 +90,7 @@ public String visit(Path<?> p, Templates templates) {
9090
final Path<?> parent = p.getMetadata().getParent();
9191
final var elem = p.getMetadata().getElement();
9292
if (parent != null) {
93-
Template pattern = templates.getTemplate(p.getMetadata().getPathType());
93+
var pattern = templates.getTemplate(p.getMetadata().getPathType());
9494
if (pattern != null) {
9595
final List<?> args = Arrays.asList(parent, elem);
9696
final var builder = new StringBuilder();

querydsl-libraries/querydsl-core/src/main/java/com/querydsl/core/util/CollectionUtils.java

Lines changed: 19 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -105,14 +105,11 @@ public static <T> List<T> unmodifiableList(List<T> list) {
105105
if (isUnmodifiableType(list.getClass())) {
106106
return list;
107107
}
108-
switch (list.size()) {
109-
case 0:
110-
return Collections.emptyList();
111-
case 1:
112-
return Collections.singletonList(list.get(0));
113-
default:
114-
return Collections.unmodifiableList(new ArrayList<>(list));
115-
}
108+
return switch (list.size()) {
109+
case 0 -> Collections.emptyList();
110+
case 1 -> Collections.singletonList(list.get(0));
111+
default -> Collections.unmodifiableList(new ArrayList<>(list));
112+
};
116113
}
117114

118115
/**
@@ -127,22 +124,20 @@ public static <T> Set<T> unmodifiableSet(Set<T> set) {
127124
if (isUnmodifiableType(set.getClass())) {
128125
return set;
129126
}
130-
switch (set.size()) {
131-
case 0:
132-
return Collections.emptySet();
133-
case 1:
134-
return Collections.singleton(set.iterator().next());
135-
default:
136-
return Collections.unmodifiableSet(
137-
(Set<T>)
138-
(set instanceof LinkedHashSet
139-
? ((LinkedHashSet<T>) set).clone()
140-
: set instanceof TreeSet
141-
? ((TreeSet<T>) set).clone()
142-
: set instanceof HashSet
143-
? ((HashSet<T>) set).clone()
144-
: new LinkedHashSet<>(set)));
145-
}
127+
return switch (set.size()) {
128+
case 0 -> Collections.emptySet();
129+
case 1 -> Collections.singleton(set.iterator().next());
130+
default ->
131+
Collections.unmodifiableSet(
132+
(Set<T>)
133+
(set instanceof LinkedHashSet
134+
? ((LinkedHashSet<T>) set).clone()
135+
: set instanceof TreeSet
136+
? ((TreeSet<T>) set).clone()
137+
: set instanceof HashSet
138+
? ((HashSet<T>) set).clone()
139+
: new LinkedHashSet<>(set)));
140+
};
146141
}
147142

148143
public static <T> List<List<T>> partition(List<T> list, int batchSize) {

querydsl-libraries/querydsl-jpa/src/main/java/com/querydsl/jpa/JPQLSerializer.java

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -517,17 +517,18 @@ protected void visitOperation(
517517
if (operator.getClass().getName().endsWith("SQLOps")) {
518518
throw new IllegalArgumentException(
519519
String.format(
520-
"SQL Expressions like %s are not supported in JPQL - the query language for JPA."
521-
+ " SQLExpressions.* can only be used in JPQL queries when these functions"
522-
+ " are registered as custom function in your ORM.%n\tTo fix this issue, you"
523-
+ " have three options:%n\t1) If you do want to use advanced, dialect"
524-
+ " specific, SQL functions within JPQL, make sure to make these functions"
525-
+ " available to your ORM through custom functions and register these with"
526-
+ " your JPATemplates instance.%n\t2) Use JPASQLQuery instead. This allows"
527-
+ " you to generate a pure SQL query based on your JPA metamodel.%n\t3)"
528-
+ " Consider using the Blaze-Persistence QueryDSL integration."
529-
+ " Blaze-Persistence is an extension on top of JPA that makes various SQL"
530-
+ " specific functions like window functions available to JPQL.",
520+
"""
521+
SQL Expressions like %s are not supported in JPQL - the query language for JPA.\
522+
SQLExpressions.* can only be used in JPQL queries when these functions\
523+
are registered as custom function in your ORM.%n To fix this issue, you\
524+
have three options:%n 1) If you do want to use advanced, dialect\
525+
specific, SQL functions within JPQL, make sure to make these functions\
526+
available to your ORM through custom functions and register these with\
527+
your JPATemplates instance.%n 2) Use JPASQLQuery instead. This allows\
528+
you to generate a pure SQL query based on your JPA metamodel.%n 3)\
529+
Consider using the Blaze-Persistence QueryDSL integration.\
530+
Blaze-Persistence is an extension on top of JPA that makes various SQL\
531+
specific functions like window functions available to JPQL.""",
531532
operator.name()),
532533
e);
533534
} else {

querydsl-libraries/querydsl-jpa/src/test/java/com/querydsl/jpa/JPQLSerializerTest.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,10 @@ public void nullsFirst() {
250250
md.addOrderBy(cat.name.asc().nullsFirst());
251251
serializer.serialize(md, false, null);
252252
assertThat(serializer.toString())
253-
.isEqualTo("select cat\n" + "from Cat cat\n" + "order by cat.name asc nulls first");
253+
.isEqualTo("""
254+
select cat
255+
from Cat cat
256+
order by cat.name asc nulls first""");
254257
}
255258

256259
@Test
@@ -262,7 +265,10 @@ public void nullsLast() {
262265
md.addOrderBy(cat.name.asc().nullsLast());
263266
serializer.serialize(md, false, null);
264267
assertThat(serializer.toString())
265-
.isEqualTo("select cat\n" + "from Cat cat\n" + "order by cat.name asc nulls last");
268+
.isEqualTo("""
269+
select cat
270+
from Cat cat
271+
order by cat.name asc nulls last""");
266272
}
267273

268274
@SuppressWarnings("unchecked")

querydsl-libraries/querydsl-r2dbc/src/main/java/com/querydsl/r2dbc/MySQLTemplates.java

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -176,21 +176,11 @@ public String escapeLiteral(String str) {
176176

177177
@Override
178178
public String getCastTypeNameForCode(int code) {
179-
switch (code) {
180-
case Types.TINYINT:
181-
case Types.SMALLINT:
182-
case Types.INTEGER:
183-
case Types.BIGINT:
184-
return "signed";
185-
case Types.FLOAT:
186-
case Types.DOUBLE:
187-
case Types.REAL:
188-
case Types.DECIMAL:
189-
return "decimal";
190-
case Types.VARCHAR:
191-
return "char";
192-
default:
193-
return super.getCastTypeNameForCode(code);
194-
}
179+
return switch (code) {
180+
case Types.TINYINT, Types.SMALLINT, Types.INTEGER, Types.BIGINT -> "signed";
181+
case Types.FLOAT, Types.DOUBLE, Types.REAL, Types.DECIMAL -> "decimal";
182+
case Types.VARCHAR -> "char";
183+
default -> super.getCastTypeNameForCode(code);
184+
};
195185
}
196186
}

querydsl-libraries/querydsl-r2dbc/src/main/java/com/querydsl/r2dbc/SQLServerTemplates.java

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -191,18 +191,12 @@ protected SQLServerTemplates(Set<String> keywords, char escape, boolean quote) {
191191

192192
@Override
193193
public String serialize(String literal, int jdbcType) {
194-
switch (jdbcType) {
195-
case Types.TIMESTAMP:
196-
case TIMESTAMP_WITH_TIMEZONE:
197-
return "{ts '" + literal + "'}";
198-
case Types.DATE:
199-
return "{d '" + literal + "'}";
200-
case Types.TIME:
201-
case TIME_WITH_TIMEZONE:
202-
return "{t '" + literal + "'}";
203-
default:
204-
return super.serialize(literal, jdbcType);
205-
}
194+
return switch (jdbcType) {
195+
case Types.TIMESTAMP, TIMESTAMP_WITH_TIMEZONE -> "{ts '" + literal + "'}";
196+
case Types.DATE -> "{d '" + literal + "'}";
197+
case Types.TIME, TIME_WITH_TIMEZONE -> "{t '" + literal + "'}";
198+
default -> super.serialize(literal, jdbcType);
199+
};
206200
}
207201

208202
@Override

querydsl-libraries/querydsl-r2dbc/src/main/java/com/querydsl/r2dbc/SQLTemplates.java

Lines changed: 36 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -447,41 +447,34 @@ protected SQLTemplates(
447447
}
448448

449449
public String serialize(String literal, int jdbcType) {
450-
switch (jdbcType) {
451-
case Types.TIMESTAMP:
452-
case TIMESTAMP_WITH_TIMEZONE:
453-
return "(timestamp '" + literal + "')";
454-
case Types.DATE:
455-
return "(date '" + literal + "')";
456-
case Types.TIME:
457-
case TIME_WITH_TIMEZONE:
458-
return "(time '" + literal + "')";
459-
case Types.CHAR:
460-
case Types.CLOB:
461-
case Types.LONGNVARCHAR:
462-
case Types.LONGVARCHAR:
463-
case Types.NCHAR:
464-
case Types.NCLOB:
465-
case Types.NVARCHAR:
466-
case Types.VARCHAR:
467-
return "'" + escapeLiteral(literal) + "'";
468-
case Types.BIGINT:
469-
case Types.BIT:
470-
case Types.BOOLEAN:
471-
case Types.DECIMAL:
472-
case Types.DOUBLE:
473-
case Types.FLOAT:
474-
case Types.INTEGER:
475-
case Types.NULL:
476-
case Types.NUMERIC:
477-
case Types.SMALLINT:
478-
case Types.TINYINT:
479-
return literal;
480-
default:
481-
// for other JDBC types the Type instance is expected to provide
482-
// the necessary quoting
483-
return literal;
484-
}
450+
return switch (jdbcType) {
451+
case Types.TIMESTAMP, TIMESTAMP_WITH_TIMEZONE -> "(timestamp '" + literal + "')";
452+
case Types.DATE -> "(date '" + literal + "')";
453+
case Types.TIME, TIME_WITH_TIMEZONE -> "(time '" + literal + "')";
454+
case Types.CHAR,
455+
Types.CLOB,
456+
Types.LONGNVARCHAR,
457+
Types.LONGVARCHAR,
458+
Types.NCHAR,
459+
Types.NCLOB,
460+
Types.NVARCHAR,
461+
Types.VARCHAR ->
462+
"'" + escapeLiteral(literal) + "'";
463+
case Types.BIGINT,
464+
Types.BIT,
465+
Types.BOOLEAN,
466+
Types.DECIMAL,
467+
Types.DOUBLE,
468+
Types.FLOAT,
469+
Types.INTEGER,
470+
Types.NULL,
471+
Types.NUMERIC,
472+
Types.SMALLINT,
473+
Types.TINYINT ->
474+
literal;
475+
default -> /* for other JDBC types the Type instance is expected to provide */ /* the necessary quoting */
476+
literal;
477+
};
485478
}
486479

487480
public String escapeLiteral(String str) {
@@ -590,20 +583,14 @@ public final String getJoin() {
590583
}
591584

592585
public final String getJoinSymbol(JoinType joinType) {
593-
switch (joinType) {
594-
case JOIN:
595-
return join;
596-
case INNERJOIN:
597-
return innerJoin;
598-
case FULLJOIN:
599-
return fullJoin;
600-
case LEFTJOIN:
601-
return leftJoin;
602-
case RIGHTJOIN:
603-
return rightJoin;
604-
default:
605-
return crossJoin;
606-
}
586+
return switch (joinType) {
587+
case JOIN -> join;
588+
case INNERJOIN -> innerJoin;
589+
case FULLJOIN -> fullJoin;
590+
case LEFTJOIN -> leftJoin;
591+
case RIGHTJOIN -> rightJoin;
592+
default -> crossJoin;
593+
};
607594
}
608595

609596
public final String getKey() {

querydsl-libraries/querydsl-r2dbc/src/main/java/com/querydsl/r2dbc/SQLTemplatesRegistry.java

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -48,18 +48,12 @@ public SQLTemplates.Builder getBuilder(DatabaseMetaData md) throws SQLException
4848
} else if (name.equals("postgresql")) {
4949
return PostgreSQLTemplates.builder();
5050
} else if (name.equals("microsoft sql server")) {
51-
switch (md.getDatabaseMajorVersion()) {
52-
case 13:
53-
case 12:
54-
case 11:
55-
return SQLServer2012Templates.builder();
56-
case 10:
57-
return SQLServer2008Templates.builder();
58-
case 9:
59-
return SQLServer2005Templates.builder();
60-
default:
61-
return SQLServerTemplates.builder();
62-
}
51+
return switch (md.getDatabaseMajorVersion()) {
52+
case 13, 12, 11 -> SQLServer2012Templates.builder();
53+
case 10 -> SQLServer2008Templates.builder();
54+
case 9 -> SQLServer2005Templates.builder();
55+
default -> SQLServerTemplates.builder();
56+
};
6357
} else {
6458
return new SQLTemplates.Builder() {
6559
@Override

querydsl-libraries/querydsl-r2dbc/src/main/java/com/querydsl/r2dbc/dml/AbstractR2DBCDeleteClause.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,10 @@ public abstract class AbstractR2DBCDeleteClause<C extends AbstractR2DBCDeleteCla
5252

5353
protected static final ValidatingVisitor validatingVisitor =
5454
new ValidatingVisitor(
55-
"Undeclared path '%s'. "
56-
+ "A delete operation can only reference a single table. "
57-
+ "Consider this alternative: DELETE ... WHERE EXISTS (subquery)");
55+
"""
56+
Undeclared path '%s'. \
57+
A delete operation can only reference a single table. \
58+
Consider this alternative: DELETE ... WHERE EXISTS (subquery)""");
5859

5960
protected final RelationalPath<?> entity;
6061

0 commit comments

Comments
 (0)