|
@@ -10,8 +10,8 @@ import org.elasticsearch.index.query.BoolQueryBuilder;
|
|
|
import org.elasticsearch.index.query.QueryBuilder;
|
|
import org.elasticsearch.index.query.QueryBuilder;
|
|
|
import org.elasticsearch.index.query.QueryBuilders;
|
|
import org.elasticsearch.index.query.QueryBuilders;
|
|
|
import org.es.sql.bean.AtomQuery;
|
|
import org.es.sql.bean.AtomQuery;
|
|
|
|
|
+import org.es.sql.bean.SQLArgsx;
|
|
|
import org.es.sql.bean.SQLCondition;
|
|
import org.es.sql.bean.SQLCondition;
|
|
|
-import org.es.sql.bean.SQLArgs;
|
|
|
|
|
import org.es.sql.enums.SQLBoolOperator;
|
|
import org.es.sql.enums.SQLBoolOperator;
|
|
|
import org.es.sql.enums.SQLConditionType;
|
|
import org.es.sql.enums.SQLConditionType;
|
|
|
import org.es.sql.exception.ElasticSql2DslException;
|
|
import org.es.sql.exception.ElasticSql2DslException;
|
|
@@ -21,16 +21,15 @@ import org.es.sql.parser.query.exact.BinaryAtomQueryParser;
|
|
|
import org.es.sql.parser.query.exact.InListAtomQueryParser;
|
|
import org.es.sql.parser.query.exact.InListAtomQueryParser;
|
|
|
import org.es.sql.parser.query.method.MethodInvocation;
|
|
import org.es.sql.parser.query.method.MethodInvocation;
|
|
|
import org.es.sql.parser.query.method.fulltext.FullTextAtomQueryParser;
|
|
import org.es.sql.parser.query.method.fulltext.FullTextAtomQueryParser;
|
|
|
|
|
+import org.es.sql.parser.query.method.script.ScriptAtomQueryParser;
|
|
|
import org.es.sql.parser.query.method.term.TermLevelAtomQueryParser;
|
|
import org.es.sql.parser.query.method.term.TermLevelAtomQueryParser;
|
|
|
|
|
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
|
|
|
-//import org.es.sql.parser.query.method.script.ScriptAtomQueryParser;
|
|
|
|
|
-
|
|
|
|
|
public abstract class AbstractQueryConditionParser implements QueryParser {
|
|
public abstract class AbstractQueryConditionParser implements QueryParser {
|
|
|
|
|
|
|
|
private final TermLevelAtomQueryParser termLevelAtomQueryParser;
|
|
private final TermLevelAtomQueryParser termLevelAtomQueryParser;
|
|
|
- // private final ScriptAtomQueryParser scriptAtomQueryParser;
|
|
|
|
|
|
|
+ private final ScriptAtomQueryParser scriptAtomQueryParser;
|
|
|
private final FullTextAtomQueryParser fullTextAtomQueryParser;
|
|
private final FullTextAtomQueryParser fullTextAtomQueryParser;
|
|
|
private final BinaryAtomQueryParser binaryQueryParser;
|
|
private final BinaryAtomQueryParser binaryQueryParser;
|
|
|
private final InListAtomQueryParser inListQueryParser;
|
|
private final InListAtomQueryParser inListQueryParser;
|
|
@@ -43,10 +42,10 @@ public abstract class AbstractQueryConditionParser implements QueryParser {
|
|
|
inListQueryParser = new InListAtomQueryParser(parseActionListener);
|
|
inListQueryParser = new InListAtomQueryParser(parseActionListener);
|
|
|
betweenAndQueryParser = new BetweenAndAtomQueryParser(parseActionListener);
|
|
betweenAndQueryParser = new BetweenAndAtomQueryParser(parseActionListener);
|
|
|
|
|
|
|
|
-// scriptAtomQueryParser = new ScriptAtomQueryParser();
|
|
|
|
|
|
|
+ scriptAtomQueryParser = new ScriptAtomQueryParser();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- protected BoolQueryBuilder parseQueryConditionExpr(SQLExpr conditionExpr, String queryAs, SQLArgs SQLArgs) {
|
|
|
|
|
|
|
+ protected BoolQueryBuilder parseQueryConditionExpr(SQLExpr conditionExpr, String queryAs, SQLArgsx SQLArgs) {
|
|
|
SQLCondition SQLCondition = recursiveParseQueryCondition(conditionExpr, queryAs, SQLArgs);
|
|
SQLCondition SQLCondition = recursiveParseQueryCondition(conditionExpr, queryAs, SQLArgs);
|
|
|
SQLBoolOperator operator = SQLCondition.getOperator();
|
|
SQLBoolOperator operator = SQLCondition.getOperator();
|
|
|
|
|
|
|
@@ -56,7 +55,7 @@ public abstract class AbstractQueryConditionParser implements QueryParser {
|
|
|
return mergeAtomQuery(SQLCondition.getQueryList(), operator);
|
|
return mergeAtomQuery(SQLCondition.getQueryList(), operator);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- private SQLCondition recursiveParseQueryCondition(SQLExpr conditionExpr, String queryAs, SQLArgs SQLArgs) {
|
|
|
|
|
|
|
+ private SQLCondition recursiveParseQueryCondition(SQLExpr conditionExpr, String queryAs, SQLArgsx SQLArgs) {
|
|
|
if (conditionExpr instanceof SQLBinaryOpExpr) {
|
|
if (conditionExpr instanceof SQLBinaryOpExpr) {
|
|
|
SQLBinaryOpExpr binOpExpr = (SQLBinaryOpExpr) conditionExpr;
|
|
SQLBinaryOpExpr binOpExpr = (SQLBinaryOpExpr) conditionExpr;
|
|
|
SQLBinaryOperator binOperator = binOpExpr.getOperator();
|
|
SQLBinaryOperator binOperator = binOpExpr.getOperator();
|
|
@@ -91,15 +90,15 @@ public abstract class AbstractQueryConditionParser implements QueryParser {
|
|
|
return new SQLCondition(parseAtomQueryCondition(conditionExpr, queryAs, SQLArgs), SQLConditionType.Atom);
|
|
return new SQLCondition(parseAtomQueryCondition(conditionExpr, queryAs, SQLArgs), SQLConditionType.Atom);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- private AtomQuery parseAtomQueryCondition(SQLExpr sqlConditionExpr, String queryAs, SQLArgs SQLArgs) {
|
|
|
|
|
|
|
+ private AtomQuery parseAtomQueryCondition(SQLExpr sqlConditionExpr, String queryAs, SQLArgsx SQLArgs) {
|
|
|
if (sqlConditionExpr instanceof SQLMethodInvokeExpr) {
|
|
if (sqlConditionExpr instanceof SQLMethodInvokeExpr) {
|
|
|
SQLMethodInvokeExpr methodQueryExpr = (SQLMethodInvokeExpr) sqlConditionExpr;
|
|
SQLMethodInvokeExpr methodQueryExpr = (SQLMethodInvokeExpr) sqlConditionExpr;
|
|
|
|
|
|
|
|
MethodInvocation methodInvocation = new MethodInvocation(methodQueryExpr, queryAs, SQLArgs);
|
|
MethodInvocation methodInvocation = new MethodInvocation(methodQueryExpr, queryAs, SQLArgs);
|
|
|
|
|
|
|
|
-// if (scriptAtomQueryParser.isMatchMethodInvocation(methodInvocation)) {
|
|
|
|
|
-// return scriptAtomQueryParser.parseAtomMethodQuery(methodInvocation);
|
|
|
|
|
-// }
|
|
|
|
|
|
|
+ if (scriptAtomQueryParser.isMatchMethodInvocation(methodInvocation)) {
|
|
|
|
|
+ return scriptAtomQueryParser.parseAtomMethodQuery(methodInvocation);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
if (fullTextAtomQueryParser.isFulltextAtomQuery(methodInvocation)) {
|
|
if (fullTextAtomQueryParser.isFulltextAtomQuery(methodInvocation)) {
|
|
|
return fullTextAtomQueryParser.parseFullTextAtomQuery(methodQueryExpr, queryAs, SQLArgs);
|
|
return fullTextAtomQueryParser.parseFullTextAtomQuery(methodQueryExpr, queryAs, SQLArgs);
|