Skip to content

Commit 86d0ace

Browse files
fix: assign Enum case insensitive
Remove redundant `DateTime` enum Fixes #1779
1 parent fc577ca commit 86d0ace

Some content is hidden

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

57 files changed

+240
-137
lines changed

src/main/java/net/sf/jsqlparser/expression/DateTimeLiteralExpression.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ public String getDateTime() {
6868
this.dateTime = dateTime;
6969
}
7070

71-
private final DateTime from(String dateTimeStr) {
71+
public static DateTime from(String dateTimeStr) {
7272
return Enum.valueOf(DateTime.class, dateTimeStr.toUpperCase());
7373
}
7474
}

src/main/java/net/sf/jsqlparser/statement/select/KSQLJoinWindow.java

Lines changed: 39 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -12,37 +12,41 @@
1212
import net.sf.jsqlparser.parser.ASTNodeAccessImpl;
1313

1414
public class KSQLJoinWindow extends ASTNodeAccessImpl {
15-
16-
public enum TimeUnit {
17-
DAY ("DAY"),
18-
HOUR ("HOUR"),
19-
MINUTE ("MINUTE"),
20-
SECOND ("SECOND"),
21-
MILLISECOND ("MILLISECOND"),
22-
DAYS ("DAYS"),
23-
HOURS ("HOURS"),
24-
MINUTES ("MINUTES"),
25-
SECONDS ("SECONDS"),
26-
MILLISECONDS ("MILLISECONDS");
27-
28-
private String timeUnit;
29-
30-
TimeUnit(String timeUnit) {
31-
this.timeUnit = timeUnit;
32-
}
33-
34-
public String getTimeUnit() {
35-
return timeUnit;
36-
}
37-
}
15+
//
16+
// public enum TimeUnit {
17+
// DAY ("DAY"),
18+
// HOUR ("HOUR"),
19+
// MINUTE ("MINUTE"),
20+
// SECOND ("SECOND"),
21+
// MILLISECOND ("MILLISECOND"),
22+
// DAYS ("DAYS"),
23+
// HOURS ("HOURS"),
24+
// MINUTES ("MINUTES"),
25+
// SECONDS ("SECONDS"),
26+
// MILLISECONDS ("MILLISECONDS");
27+
//
28+
// private String timeUnit;
29+
//
30+
// TimeUnit(String timeUnit) {
31+
// this.timeUnit = timeUnit;
32+
// }
33+
//
34+
// public String getTimeUnit() {
35+
// return timeUnit;
36+
// }
37+
//
38+
// public final static TimeUnit from(String timeUnitStr) {
39+
// return Enum.valueOf(TimeUnit.class, timeUnitStr.toUpperCase());
40+
// }
41+
// }
3842

3943
private boolean beforeAfter;
4044
private long duration;
41-
private TimeUnit timeUnit;
45+
private KSQLWindow.TimeUnit timeUnit;
4246
private long beforeDuration;
43-
private TimeUnit beforeTimeUnit;
47+
private KSQLWindow.TimeUnit beforeTimeUnit;
4448
private long afterDuration;
45-
private TimeUnit afterTimeUnit;
49+
private KSQLWindow.TimeUnit afterTimeUnit;
4650

4751
public KSQLJoinWindow() {
4852
}
@@ -63,11 +67,11 @@ public void setDuration(long duration) {
6367
this.duration = duration;
6468
}
6569

66-
public TimeUnit getTimeUnit() {
70+
public KSQLWindow.TimeUnit getTimeUnit() {
6771
return timeUnit;
6872
}
6973

70-
public void setTimeUnit(TimeUnit timeUnit) {
74+
public void setTimeUnit(KSQLWindow.TimeUnit timeUnit) {
7175
this.timeUnit = timeUnit;
7276
}
7377

@@ -79,11 +83,11 @@ public void setBeforeDuration(long beforeDuration) {
7983
this.beforeDuration = beforeDuration;
8084
}
8185

82-
public TimeUnit getBeforeTimeUnit() {
86+
public KSQLWindow.TimeUnit getBeforeTimeUnit() {
8387
return beforeTimeUnit;
8488
}
8589

86-
public void setBeforeTimeUnit(TimeUnit beforeTimeUnit) {
90+
public void setBeforeTimeUnit(KSQLWindow.TimeUnit beforeTimeUnit) {
8791
this.beforeTimeUnit = beforeTimeUnit;
8892
}
8993

@@ -95,11 +99,11 @@ public void setAfterDuration(long afterDuration) {
9599
this.afterDuration = afterDuration;
96100
}
97101

98-
public TimeUnit getAfterTimeUnit() {
102+
public KSQLWindow.TimeUnit getAfterTimeUnit() {
99103
return afterTimeUnit;
100104
}
101105

102-
public void setAfterTimeUnit(TimeUnit afterTimeUnit) {
106+
public void setAfterTimeUnit(KSQLWindow.TimeUnit afterTimeUnit) {
103107
this.afterTimeUnit = afterTimeUnit;
104108
}
105109

@@ -116,7 +120,7 @@ public KSQLJoinWindow withDuration(long duration) {
116120
return this;
117121
}
118122

119-
public KSQLJoinWindow withTimeUnit(TimeUnit timeUnit) {
123+
public KSQLJoinWindow withTimeUnit(KSQLWindow.TimeUnit timeUnit) {
120124
this.setTimeUnit(timeUnit);
121125
return this;
122126
}
@@ -126,7 +130,7 @@ public KSQLJoinWindow withBeforeDuration(long beforeDuration) {
126130
return this;
127131
}
128132

129-
public KSQLJoinWindow withBeforeTimeUnit(TimeUnit beforeTimeUnit) {
133+
public KSQLJoinWindow withBeforeTimeUnit(KSQLWindow.TimeUnit beforeTimeUnit) {
130134
this.setBeforeTimeUnit(beforeTimeUnit);
131135
return this;
132136
}
@@ -136,12 +140,8 @@ public KSQLJoinWindow withAfterDuration(long afterDuration) {
136140
return this;
137141
}
138142

139-
public KSQLJoinWindow withAfterTimeUnit(TimeUnit afterTimeUnit) {
143+
public KSQLJoinWindow withAfterTimeUnit(KSQLWindow.TimeUnit afterTimeUnit) {
140144
this.setAfterTimeUnit(afterTimeUnit);
141145
return this;
142146
}
143-
144-
public final static TimeUnit from(String timeUnitStr) {
145-
return Enum.valueOf(TimeUnit.class, timeUnitStr.toUpperCase());
146-
}
147147
}

src/main/java/net/sf/jsqlparser/statement/select/KSQLWindow.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@ public enum TimeUnit {
3434
public String getTimeUnit() {
3535
return timeUnit;
3636
}
37+
38+
public final static TimeUnit from(String timeUnitStr) {
39+
return Enum.valueOf(TimeUnit.class, timeUnitStr.toUpperCase());
40+
}
3741
}
3842

3943
public enum WindowType {
@@ -50,6 +54,10 @@ public enum WindowType {
5054
public String getWindowType() {
5155
return windowType;
5256
}
57+
58+
public static WindowType from(String type) {
59+
return Enum.valueOf(WindowType.class, type.toUpperCase());
60+
}
5361
}
5462

5563
private boolean hopping;

src/main/java/net/sf/jsqlparser/util/TablesNamesFinder.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@
9999
import net.sf.jsqlparser.expression.operators.relational.MultiExpressionList;
100100
import net.sf.jsqlparser.expression.operators.relational.NamedExpressionList;
101101
import net.sf.jsqlparser.expression.operators.relational.NotEqualsTo;
102+
import net.sf.jsqlparser.expression.operators.relational.ParenthesedExpressionList;
102103
import net.sf.jsqlparser.expression.operators.relational.RegExpMatchOperator;
103104
import net.sf.jsqlparser.expression.operators.relational.RegExpMySQLOperator;
104105
import net.sf.jsqlparser.expression.operators.relational.SimilarToExpression;
@@ -498,6 +499,13 @@ public void visit(ExpressionList expressionList) {
498499
}
499500
}
500501

502+
@Override
503+
public void visit(ParenthesedExpressionList expressionList) {
504+
for (Expression expression : expressionList.getExpressions()) {
505+
expression.accept(this);
506+
}
507+
}
508+
501509
@Override
502510
public void visit(NamedExpressionList namedExpressionList) {
503511
for (Expression expression : namedExpressionList.getExpressions()) {

src/main/java/net/sf/jsqlparser/util/deparser/ExecuteDeParser.java

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,8 @@
99
*/
1010
package net.sf.jsqlparser.util.deparser;
1111

12-
import java.util.List;
13-
14-
import net.sf.jsqlparser.expression.Expression;
1512
import net.sf.jsqlparser.expression.ExpressionVisitor;
13+
import net.sf.jsqlparser.expression.operators.relational.ParenthesedExpressionList;
1614
import net.sf.jsqlparser.statement.execute.Execute;
1715

1816
public class ExecuteDeParser extends AbstractDeParser<Execute> {
@@ -27,21 +25,20 @@ public ExecuteDeParser(ExpressionVisitor expressionVisitor, StringBuilder buffer
2725
@Override
2826
public void deParse(Execute execute) {
2927
buffer.append(execute.getExecType().name()).append(" ").append(execute.getName());
30-
if (execute.isParenthesis()) {
28+
if (execute.getExprList() instanceof ParenthesedExpressionList) {
3129
buffer.append(" (");
3230
} else if (execute.getExprList() != null) {
3331
buffer.append(" ");
3432
}
3533
if (execute.getExprList() != null) {
36-
List<Expression> expressions = execute.getExprList().getExpressions();
37-
for (int i = 0; i < expressions.size(); i++) {
34+
for (int i = 0; i < execute.getExprList().size(); i++) {
3835
if (i > 0) {
3936
buffer.append(", ");
4037
}
41-
expressions.get(i).accept(expressionVisitor);
38+
execute.getExprList().get(i).accept(expressionVisitor);
4239
}
4340
}
44-
if (execute.isParenthesis()) {
41+
if (execute.getExprList() instanceof ParenthesedExpressionList) {
4542
buffer.append(")");
4643
}
4744
}

src/main/java/net/sf/jsqlparser/util/deparser/ExpressionDeParser.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@
101101
import net.sf.jsqlparser.expression.operators.relational.NamedExpressionList;
102102
import net.sf.jsqlparser.expression.operators.relational.NotEqualsTo;
103103
import net.sf.jsqlparser.expression.operators.relational.OldOracleJoinBinaryExpression;
104+
import net.sf.jsqlparser.expression.operators.relational.ParenthesedExpressionList;
104105
import net.sf.jsqlparser.expression.operators.relational.RegExpMatchOperator;
105106
import net.sf.jsqlparser.expression.operators.relational.RegExpMySQLOperator;
106107
import net.sf.jsqlparser.expression.operators.relational.SimilarToExpression;
@@ -561,8 +562,14 @@ public void visit(ParenthesedSelect selectBody) {
561562

562563
@Override
563564
public void visit(ExpressionList expressionList) {
564-
new ExpressionListDeParser(this, buffer, expressionList.isUsingBrackets(), true)
565-
.deParse(expressionList.getExpressions());
565+
new ExpressionListDeParser(this, buffer, true)
566+
.deParse(expressionList);
567+
}
568+
569+
@Override
570+
public void visit(ParenthesedExpressionList expressionList) {
571+
new ExpressionListDeParser(this, buffer, true)
572+
.deParse(expressionList);
566573
}
567574

568575
@Override

src/main/java/net/sf/jsqlparser/util/deparser/ExpressionListDeParser.java

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,27 +11,25 @@
1111

1212
import net.sf.jsqlparser.expression.Expression;
1313
import net.sf.jsqlparser.expression.ExpressionVisitor;
14+
import net.sf.jsqlparser.expression.operators.relational.ExpressionList;
15+
import net.sf.jsqlparser.expression.operators.relational.ParenthesedExpressionList;
1416

15-
import java.util.Collection;
16-
17-
public class ExpressionListDeParser extends AbstractDeParser<Collection<Expression>> {
17+
public class ExpressionListDeParser extends AbstractDeParser<ExpressionList> {
1818

1919
private final ExpressionVisitor expressionVisitor;
20-
private final boolean useBrackets;
2120
private final boolean useComma;
2221

23-
public ExpressionListDeParser(ExpressionVisitor expressionVisitor, StringBuilder builder, boolean useBrackets, boolean useComma) {
22+
public ExpressionListDeParser(ExpressionVisitor expressionVisitor, StringBuilder builder, boolean useComma) {
2423
super(builder);
2524
this.expressionVisitor = expressionVisitor;
26-
this.useBrackets = useBrackets;
2725
this.useComma = useComma;
2826
}
2927

3028
@Override
31-
public void deParse(Collection<Expression> expressions) {
29+
public void deParse(ExpressionList expressions) {
3230
if (expressions != null) {
3331
String comma = useComma ? ", " : " ";
34-
if (useBrackets) {
32+
if (expressions instanceof ParenthesedExpressionList) {
3533
buffer.append("(");
3634
}
3735
int i=0;
@@ -44,7 +42,7 @@ public void deParse(Collection<Expression> expressions) {
4442
i++;
4543
}
4644

47-
if (useBrackets) {
45+
if (expressions instanceof ParenthesedExpressionList) {
4846
buffer.append(")");
4947
}
5048
}

src/main/java/net/sf/jsqlparser/util/deparser/InsertDeParser.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import net.sf.jsqlparser.expression.operators.relational.ItemsListVisitor;
1616
import net.sf.jsqlparser.expression.operators.relational.MultiExpressionList;
1717
import net.sf.jsqlparser.expression.operators.relational.NamedExpressionList;
18+
import net.sf.jsqlparser.expression.operators.relational.ParenthesedExpressionList;
1819
import net.sf.jsqlparser.schema.Column;
1920
import net.sf.jsqlparser.statement.insert.Insert;
2021
import net.sf.jsqlparser.statement.select.ParenthesedSelect;
@@ -139,8 +140,12 @@ public void deParse(Insert insert) {
139140

140141
@Override
141142
public void visit(ExpressionList expressionList) {
142-
new ExpressionListDeParser(expressionVisitor, buffer, expressionList.isUsingBrackets(),
143-
true).deParse(expressionList.getExpressions());
143+
new ExpressionListDeParser(expressionVisitor, buffer, true).deParse(expressionList);
144+
}
145+
146+
@Override
147+
public void visit(ParenthesedExpressionList expressionList) {
148+
new ExpressionListDeParser(expressionVisitor, buffer, true).deParse(expressionList);
144149
}
145150

146151
@Override
@@ -154,8 +159,7 @@ public void visit(MultiExpressionList multiExprList) {
154159
int n = expressionLists.size() - 1;
155160
int i = 0;
156161
for (ExpressionList expressionList : expressionLists) {
157-
new ExpressionListDeParser(expressionVisitor, buffer, expressionList.isUsingBrackets(),
158-
true).deParse(expressionList.getExpressions());
162+
new ExpressionListDeParser(expressionVisitor, buffer, true).deParse(expressionList);
159163
if (i < n) {
160164
buffer.append(", ");
161165
}

src/main/java/net/sf/jsqlparser/util/deparser/ReplaceDeParser.java

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import net.sf.jsqlparser.expression.operators.relational.ItemsListVisitor;
1616
import net.sf.jsqlparser.expression.operators.relational.MultiExpressionList;
1717
import net.sf.jsqlparser.expression.operators.relational.NamedExpressionList;
18+
import net.sf.jsqlparser.expression.operators.relational.ParenthesedExpressionList;
1819
import net.sf.jsqlparser.schema.Column;
1920
import net.sf.jsqlparser.statement.replace.Replace;
2021
import net.sf.jsqlparser.statement.select.ParenthesedSelect;
@@ -84,15 +85,28 @@ public void deParse(Replace replace) {
8485

8586
@Override
8687
public void visit(ExpressionList expressionList) {
87-
buffer.append("VALUES (");
88-
for (Iterator<Expression> iter = expressionList.getExpressions().iterator(); iter
88+
buffer.append("VALUES ");
89+
for (Iterator<Expression> iter = expressionList.iterator(); iter
8990
.hasNext();) {
9091
Expression expression = iter.next();
9192
expression.accept(expressionVisitor);
9293
if (iter.hasNext()) {
9394
buffer.append(", ");
9495
}
9596
}
97+
}
98+
99+
@Override
100+
public void visit(ParenthesedExpressionList expressionList) {
101+
buffer.append("VALUES (");
102+
for (Iterator<Expression> iter = expressionList.iterator(); iter
103+
.hasNext();) {
104+
Expression expression = iter.next();
105+
expression.accept(expressionVisitor);
106+
if (iter.hasNext()) {
107+
buffer.append(", ");
108+
}
109+
}
96110
buffer.append(")");
97111
}
98112

0 commit comments

Comments
 (0)