Skip to content

Commit

Permalink
fix: assign Enum case insensitive
Browse files Browse the repository at this point in the history
Remove redundant `DateTime` enum
Fixes #1779
  • Loading branch information
manticore-projects committed May 2, 2023
1 parent fc577ca commit 86d0ace
Show file tree
Hide file tree
Showing 57 changed files with 240 additions and 137 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ public String getDateTime() {
this.dateTime = dateTime;
}

private final DateTime from(String dateTimeStr) {
public static DateTime from(String dateTimeStr) {
return Enum.valueOf(DateTime.class, dateTimeStr.toUpperCase());
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,37 +12,41 @@
import net.sf.jsqlparser.parser.ASTNodeAccessImpl;

public class KSQLJoinWindow extends ASTNodeAccessImpl {

public enum TimeUnit {
DAY ("DAY"),
HOUR ("HOUR"),
MINUTE ("MINUTE"),
SECOND ("SECOND"),
MILLISECOND ("MILLISECOND"),
DAYS ("DAYS"),
HOURS ("HOURS"),
MINUTES ("MINUTES"),
SECONDS ("SECONDS"),
MILLISECONDS ("MILLISECONDS");

private String timeUnit;

TimeUnit(String timeUnit) {
this.timeUnit = timeUnit;
}

public String getTimeUnit() {
return timeUnit;
}
}
//
// public enum TimeUnit {
// DAY ("DAY"),
// HOUR ("HOUR"),
// MINUTE ("MINUTE"),
// SECOND ("SECOND"),
// MILLISECOND ("MILLISECOND"),
// DAYS ("DAYS"),
// HOURS ("HOURS"),
// MINUTES ("MINUTES"),
// SECONDS ("SECONDS"),
// MILLISECONDS ("MILLISECONDS");
//
// private String timeUnit;
//
// TimeUnit(String timeUnit) {
// this.timeUnit = timeUnit;
// }
//
// public String getTimeUnit() {
// return timeUnit;
// }
//
// public final static TimeUnit from(String timeUnitStr) {
// return Enum.valueOf(TimeUnit.class, timeUnitStr.toUpperCase());
// }
// }

private boolean beforeAfter;
private long duration;
private TimeUnit timeUnit;
private KSQLWindow.TimeUnit timeUnit;
private long beforeDuration;
private TimeUnit beforeTimeUnit;
private KSQLWindow.TimeUnit beforeTimeUnit;
private long afterDuration;
private TimeUnit afterTimeUnit;
private KSQLWindow.TimeUnit afterTimeUnit;

public KSQLJoinWindow() {
}
Expand All @@ -63,11 +67,11 @@ public void setDuration(long duration) {
this.duration = duration;
}

public TimeUnit getTimeUnit() {
public KSQLWindow.TimeUnit getTimeUnit() {
return timeUnit;
}

public void setTimeUnit(TimeUnit timeUnit) {
public void setTimeUnit(KSQLWindow.TimeUnit timeUnit) {
this.timeUnit = timeUnit;
}

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

public TimeUnit getBeforeTimeUnit() {
public KSQLWindow.TimeUnit getBeforeTimeUnit() {
return beforeTimeUnit;
}

public void setBeforeTimeUnit(TimeUnit beforeTimeUnit) {
public void setBeforeTimeUnit(KSQLWindow.TimeUnit beforeTimeUnit) {
this.beforeTimeUnit = beforeTimeUnit;
}

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

public TimeUnit getAfterTimeUnit() {
public KSQLWindow.TimeUnit getAfterTimeUnit() {
return afterTimeUnit;
}

public void setAfterTimeUnit(TimeUnit afterTimeUnit) {
public void setAfterTimeUnit(KSQLWindow.TimeUnit afterTimeUnit) {
this.afterTimeUnit = afterTimeUnit;
}

Expand All @@ -116,7 +120,7 @@ public KSQLJoinWindow withDuration(long duration) {
return this;
}

public KSQLJoinWindow withTimeUnit(TimeUnit timeUnit) {
public KSQLJoinWindow withTimeUnit(KSQLWindow.TimeUnit timeUnit) {
this.setTimeUnit(timeUnit);
return this;
}
Expand All @@ -126,7 +130,7 @@ public KSQLJoinWindow withBeforeDuration(long beforeDuration) {
return this;
}

public KSQLJoinWindow withBeforeTimeUnit(TimeUnit beforeTimeUnit) {
public KSQLJoinWindow withBeforeTimeUnit(KSQLWindow.TimeUnit beforeTimeUnit) {
this.setBeforeTimeUnit(beforeTimeUnit);
return this;
}
Expand All @@ -136,12 +140,8 @@ public KSQLJoinWindow withAfterDuration(long afterDuration) {
return this;
}

public KSQLJoinWindow withAfterTimeUnit(TimeUnit afterTimeUnit) {
public KSQLJoinWindow withAfterTimeUnit(KSQLWindow.TimeUnit afterTimeUnit) {
this.setAfterTimeUnit(afterTimeUnit);
return this;
}

public final static TimeUnit from(String timeUnitStr) {
return Enum.valueOf(TimeUnit.class, timeUnitStr.toUpperCase());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@ public enum TimeUnit {
public String getTimeUnit() {
return timeUnit;
}

public final static TimeUnit from(String timeUnitStr) {
return Enum.valueOf(TimeUnit.class, timeUnitStr.toUpperCase());
}
}

public enum WindowType {
Expand All @@ -50,6 +54,10 @@ public enum WindowType {
public String getWindowType() {
return windowType;
}

public static WindowType from(String type) {
return Enum.valueOf(WindowType.class, type.toUpperCase());
}
}

private boolean hopping;
Expand Down
8 changes: 8 additions & 0 deletions src/main/java/net/sf/jsqlparser/util/TablesNamesFinder.java
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@
import net.sf.jsqlparser.expression.operators.relational.MultiExpressionList;
import net.sf.jsqlparser.expression.operators.relational.NamedExpressionList;
import net.sf.jsqlparser.expression.operators.relational.NotEqualsTo;
import net.sf.jsqlparser.expression.operators.relational.ParenthesedExpressionList;
import net.sf.jsqlparser.expression.operators.relational.RegExpMatchOperator;
import net.sf.jsqlparser.expression.operators.relational.RegExpMySQLOperator;
import net.sf.jsqlparser.expression.operators.relational.SimilarToExpression;
Expand Down Expand Up @@ -498,6 +499,13 @@ public void visit(ExpressionList expressionList) {
}
}

@Override
public void visit(ParenthesedExpressionList expressionList) {
for (Expression expression : expressionList.getExpressions()) {
expression.accept(this);
}
}

@Override
public void visit(NamedExpressionList namedExpressionList) {
for (Expression expression : namedExpressionList.getExpressions()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,8 @@
*/
package net.sf.jsqlparser.util.deparser;

import java.util.List;

import net.sf.jsqlparser.expression.Expression;
import net.sf.jsqlparser.expression.ExpressionVisitor;
import net.sf.jsqlparser.expression.operators.relational.ParenthesedExpressionList;
import net.sf.jsqlparser.statement.execute.Execute;

public class ExecuteDeParser extends AbstractDeParser<Execute> {
Expand All @@ -27,21 +25,20 @@ public ExecuteDeParser(ExpressionVisitor expressionVisitor, StringBuilder buffer
@Override
public void deParse(Execute execute) {
buffer.append(execute.getExecType().name()).append(" ").append(execute.getName());
if (execute.isParenthesis()) {
if (execute.getExprList() instanceof ParenthesedExpressionList) {
buffer.append(" (");
} else if (execute.getExprList() != null) {
buffer.append(" ");
}
if (execute.getExprList() != null) {
List<Expression> expressions = execute.getExprList().getExpressions();
for (int i = 0; i < expressions.size(); i++) {
for (int i = 0; i < execute.getExprList().size(); i++) {
if (i > 0) {
buffer.append(", ");
}
expressions.get(i).accept(expressionVisitor);
execute.getExprList().get(i).accept(expressionVisitor);
}
}
if (execute.isParenthesis()) {
if (execute.getExprList() instanceof ParenthesedExpressionList) {
buffer.append(")");
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@
import net.sf.jsqlparser.expression.operators.relational.NamedExpressionList;
import net.sf.jsqlparser.expression.operators.relational.NotEqualsTo;
import net.sf.jsqlparser.expression.operators.relational.OldOracleJoinBinaryExpression;
import net.sf.jsqlparser.expression.operators.relational.ParenthesedExpressionList;
import net.sf.jsqlparser.expression.operators.relational.RegExpMatchOperator;
import net.sf.jsqlparser.expression.operators.relational.RegExpMySQLOperator;
import net.sf.jsqlparser.expression.operators.relational.SimilarToExpression;
Expand Down Expand Up @@ -561,8 +562,14 @@ public void visit(ParenthesedSelect selectBody) {

@Override
public void visit(ExpressionList expressionList) {
new ExpressionListDeParser(this, buffer, expressionList.isUsingBrackets(), true)
.deParse(expressionList.getExpressions());
new ExpressionListDeParser(this, buffer, true)
.deParse(expressionList);
}

@Override
public void visit(ParenthesedExpressionList expressionList) {
new ExpressionListDeParser(this, buffer, true)
.deParse(expressionList);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,27 +11,25 @@

import net.sf.jsqlparser.expression.Expression;
import net.sf.jsqlparser.expression.ExpressionVisitor;
import net.sf.jsqlparser.expression.operators.relational.ExpressionList;
import net.sf.jsqlparser.expression.operators.relational.ParenthesedExpressionList;

import java.util.Collection;

public class ExpressionListDeParser extends AbstractDeParser<Collection<Expression>> {
public class ExpressionListDeParser extends AbstractDeParser<ExpressionList> {

private final ExpressionVisitor expressionVisitor;
private final boolean useBrackets;
private final boolean useComma;

public ExpressionListDeParser(ExpressionVisitor expressionVisitor, StringBuilder builder, boolean useBrackets, boolean useComma) {
public ExpressionListDeParser(ExpressionVisitor expressionVisitor, StringBuilder builder, boolean useComma) {
super(builder);
this.expressionVisitor = expressionVisitor;
this.useBrackets = useBrackets;
this.useComma = useComma;
}

@Override
public void deParse(Collection<Expression> expressions) {
public void deParse(ExpressionList expressions) {
if (expressions != null) {
String comma = useComma ? ", " : " ";
if (useBrackets) {
if (expressions instanceof ParenthesedExpressionList) {
buffer.append("(");
}
int i=0;
Expand All @@ -44,7 +42,7 @@ public void deParse(Collection<Expression> expressions) {
i++;
}

if (useBrackets) {
if (expressions instanceof ParenthesedExpressionList) {
buffer.append(")");
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import net.sf.jsqlparser.expression.operators.relational.ItemsListVisitor;
import net.sf.jsqlparser.expression.operators.relational.MultiExpressionList;
import net.sf.jsqlparser.expression.operators.relational.NamedExpressionList;
import net.sf.jsqlparser.expression.operators.relational.ParenthesedExpressionList;
import net.sf.jsqlparser.schema.Column;
import net.sf.jsqlparser.statement.insert.Insert;
import net.sf.jsqlparser.statement.select.ParenthesedSelect;
Expand Down Expand Up @@ -139,8 +140,12 @@ public void deParse(Insert insert) {

@Override
public void visit(ExpressionList expressionList) {
new ExpressionListDeParser(expressionVisitor, buffer, expressionList.isUsingBrackets(),
true).deParse(expressionList.getExpressions());
new ExpressionListDeParser(expressionVisitor, buffer, true).deParse(expressionList);
}

@Override
public void visit(ParenthesedExpressionList expressionList) {
new ExpressionListDeParser(expressionVisitor, buffer, true).deParse(expressionList);
}

@Override
Expand All @@ -154,8 +159,7 @@ public void visit(MultiExpressionList multiExprList) {
int n = expressionLists.size() - 1;
int i = 0;
for (ExpressionList expressionList : expressionLists) {
new ExpressionListDeParser(expressionVisitor, buffer, expressionList.isUsingBrackets(),
true).deParse(expressionList.getExpressions());
new ExpressionListDeParser(expressionVisitor, buffer, true).deParse(expressionList);
if (i < n) {
buffer.append(", ");
}
Expand Down
18 changes: 16 additions & 2 deletions src/main/java/net/sf/jsqlparser/util/deparser/ReplaceDeParser.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import net.sf.jsqlparser.expression.operators.relational.ItemsListVisitor;
import net.sf.jsqlparser.expression.operators.relational.MultiExpressionList;
import net.sf.jsqlparser.expression.operators.relational.NamedExpressionList;
import net.sf.jsqlparser.expression.operators.relational.ParenthesedExpressionList;
import net.sf.jsqlparser.schema.Column;
import net.sf.jsqlparser.statement.replace.Replace;
import net.sf.jsqlparser.statement.select.ParenthesedSelect;
Expand Down Expand Up @@ -84,15 +85,28 @@ public void deParse(Replace replace) {

@Override
public void visit(ExpressionList expressionList) {
buffer.append("VALUES (");
for (Iterator<Expression> iter = expressionList.getExpressions().iterator(); iter
buffer.append("VALUES ");
for (Iterator<Expression> iter = expressionList.iterator(); iter
.hasNext();) {
Expression expression = iter.next();
expression.accept(expressionVisitor);
if (iter.hasNext()) {
buffer.append(", ");
}
}
}

@Override
public void visit(ParenthesedExpressionList expressionList) {
buffer.append("VALUES (");
for (Iterator<Expression> iter = expressionList.iterator(); iter
.hasNext();) {
Expression expression = iter.next();
expression.accept(expressionVisitor);
if (iter.hasNext()) {
buffer.append(", ");
}
}
buffer.append(")");
}

Expand Down
Loading

0 comments on commit 86d0ace

Please sign in to comment.