You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by sh...@apache.org on 2018/08/22 08:53:24 UTC

[kylin] 02/02: KYLIN-3507 Avoid NPE when project is not found

This is an automated email from the ASF dual-hosted git repository.

shaofengshi pushed a commit to branch 2.4.x
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit 866858a462f506dc08aeace1626854998d188821
Author: hujixu <hu...@youzan.com>
AuthorDate: Wed Aug 22 14:59:21 2018 +0800

    KYLIN-3507 Avoid NPE when project is not found
---
 .../src/main/java/org/apache/kylin/rest/service/QueryService.java   | 6 ++++++
 1 file changed, 6 insertions(+)

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 4e3fe07..ad5f6ef 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
@@ -76,6 +76,7 @@ import org.apache.kylin.metadata.model.JoinTableDesc;
 import org.apache.kylin.metadata.model.ModelDimensionDesc;
 import org.apache.kylin.metadata.model.TableRef;
 import org.apache.kylin.metadata.project.ProjectInstance;
+import org.apache.kylin.metadata.project.ProjectManager;
 import org.apache.kylin.metadata.querymeta.ColumnMeta;
 import org.apache.kylin.metadata.querymeta.ColumnMetaWithType;
 import org.apache.kylin.metadata.querymeta.SelectedColumnMeta;
@@ -338,6 +339,11 @@ public class QueryService extends BasicService {
         if (StringUtils.isBlank(sqlRequest.getProject())) {
             throw new BadRequestException(msg.getEMPTY_PROJECT_NAME());
         }
+        // project not found
+        ProjectManager mgr = ProjectManager.getInstance(KylinConfig.getInstanceFromEnv());
+        if (mgr.getProject(sqlRequest.getProject()) == null) {
+            throw new BadRequestException(msg.getPROJECT_NOT_FOUND());
+        }
         if (StringUtils.isBlank(sqlRequest.getSql())) {
             throw new BadRequestException(msg.getNULL_EMPTY_SQL());
         }