Repository: kylin Updated Branches: refs/heads/master 4a29d92e8 -> 61f36a270
APACHE-KYLIN-3235: add null check for SQL Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/61f36a27 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/61f36a27 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/61f36a27 Branch: refs/heads/master Commit: 61f36a270aa218fb3b221f695b74f86e6b433d8d Parents: 4a29d92 Author: Wang Ken <mingmw...@ebay.com> Authored: Mon Feb 5 14:50:00 2018 +0800 Committer: Zhong <nju_y...@apache.org> Committed: Mon Feb 5 14:50:00 2018 +0800 ---------------------------------------------------------------------- .../java/org/apache/kylin/rest/msg/Message.java | 4 ++ .../apache/kylin/rest/service/QueryService.java | 76 ++++++++++---------- 2 files changed, 42 insertions(+), 38 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kylin/blob/61f36a27/server-base/src/main/java/org/apache/kylin/rest/msg/Message.java ---------------------------------------------------------------------- diff --git a/server-base/src/main/java/org/apache/kylin/rest/msg/Message.java b/server-base/src/main/java/org/apache/kylin/rest/msg/Message.java index 171c548..5f7e296 100644 --- a/server-base/src/main/java/org/apache/kylin/rest/msg/Message.java +++ b/server-base/src/main/java/org/apache/kylin/rest/msg/Message.java @@ -202,6 +202,10 @@ public class Message { return "Project name should not be empty."; } + public String getNULL_EMPTY_SQL() { + return "SQL should not be empty."; + } + public String getEMPTY_NEW_MODEL_NAME() { return "New model name should not be empty."; } http://git-wip-us.apache.org/repos/asf/kylin/blob/61f36a27/server-base/src/main/java/org/apache/kylin/rest/service/QueryService.java ---------------------------------------------------------------------- diff --git a/server-base/src/main/java/org/apache/kylin/rest/service/QueryService.java b/server-base/src/main/java/org/apache/kylin/rest/service/QueryService.java index bbf71c7..5f67aa1 100644 --- a/server-base/src/main/java/org/apache/kylin/rest/service/QueryService.java +++ b/server-base/src/main/java/org/apache/kylin/rest/service/QueryService.java @@ -18,35 +18,15 @@ package org.apache.kylin.rest.service; -import static org.apache.kylin.common.util.CheckUtil.checkCondition; - -import java.io.DataInputStream; -import java.io.DataOutputStream; -import java.io.IOException; -import java.net.InetAddress; -import java.net.UnknownHostException; -import java.sql.Connection; -import java.sql.DatabaseMetaData; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.ResultSetMetaData; -import java.sql.SQLException; -import java.sql.Statement; -import java.sql.Time; -import java.sql.Timestamp; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import javax.annotation.PostConstruct; - +import com.fasterxml.jackson.annotation.JsonProperty; +import com.google.common.base.CharMatcher; +import com.google.common.base.Preconditions; +import com.google.common.base.Splitter; +import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; +import net.sf.ehcache.Cache; +import net.sf.ehcache.CacheManager; +import net.sf.ehcache.Element; import org.apache.calcite.avatica.ColumnMetaData.Rep; import org.apache.calcite.config.CalciteConnectionConfig; import org.apache.calcite.jdbc.CalcitePrepare; @@ -119,16 +99,33 @@ import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Component; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.google.common.base.CharMatcher; -import com.google.common.base.Preconditions; -import com.google.common.base.Splitter; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; +import javax.annotation.PostConstruct; +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.net.InetAddress; +import java.net.UnknownHostException; +import java.sql.Connection; +import java.sql.DatabaseMetaData; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.ResultSetMetaData; +import java.sql.SQLException; +import java.sql.Statement; +import java.sql.Time; +import java.sql.Timestamp; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Set; -import net.sf.ehcache.Cache; -import net.sf.ehcache.CacheManager; -import net.sf.ehcache.Element; +import static org.apache.kylin.common.util.CheckUtil.checkCondition; /** * @author xduo @@ -406,6 +403,9 @@ public class QueryService extends BasicService { if (StringUtils.isBlank(sqlRequest.getProject())) { throw new BadRequestException(msg.getEMPTY_PROJECT_NAME()); } + if (StringUtils.isBlank(sqlRequest.getSql())) { + throw new BadRequestException(msg.getNULL_EMPTY_SQL()); + } if (sqlRequest.getBackdoorToggles() != null) BackdoorToggles.addToggles(sqlRequest.getBackdoorToggles());