KYLIN-2323 add unloaded tables

Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/5bd47a1a
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/5bd47a1a
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/5bd47a1a

Branch: refs/heads/KYLIN-2323
Commit: 5bd47a1a532ea7c8c72202e9c708611c08372fcb
Parents: f01aad2
Author: Billy Liu <[email protected]>
Authored: Wed Dec 28 22:20:01 2016 +0800
Committer: Billy Liu <[email protected]>
Committed: Wed Dec 28 22:20:01 2016 +0800

----------------------------------------------------------------------
 .../kylin/rest/controller/TableController.java     | 11 +++++++++++
 .../apache/kylin/rest/service/TableService.java    | 17 +++++++++--------
 2 files changed, 20 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/5bd47a1a/server-base/src/main/java/org/apache/kylin/rest/controller/TableController.java
----------------------------------------------------------------------
diff --git 
a/server-base/src/main/java/org/apache/kylin/rest/controller/TableController.java
 
b/server-base/src/main/java/org/apache/kylin/rest/controller/TableController.java
index 964cd4c..eed5413 100644
--- 
a/server-base/src/main/java/org/apache/kylin/rest/controller/TableController.java
+++ 
b/server-base/src/main/java/org/apache/kylin/rest/controller/TableController.java
@@ -20,6 +20,7 @@ package org.apache.kylin.rest.controller;
 
 import java.io.IOException;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -97,6 +98,16 @@ public class TableController extends BasicController {
         try {
             String[] loaded = tableService.loadHiveTablesToProject(tableNames, 
project);
             result.put("result.loaded", loaded);
+            Set<String> allTables = new HashSet<String>();
+            for (String tableName : tableNames) {
+                allTables.add(tableService.normalizeHiveTableName(tableName));
+            }
+            for (String loadedTableName : loaded) {
+                allTables.remove(loadedTableName);
+            }
+            String[] unloaded = new String[allTables.size()];
+            allTables.toArray(unloaded);
+            result.put("result.unloaded", unloaded);
             if (request.isCalculate()) {
                 tableService.calculateCardinalityIfNotPresent(loaded, 
submitter);
             }

http://git-wip-us.apache.org/repos/asf/kylin/blob/5bd47a1a/server-base/src/main/java/org/apache/kylin/rest/service/TableService.java
----------------------------------------------------------------------
diff --git 
a/server-base/src/main/java/org/apache/kylin/rest/service/TableService.java 
b/server-base/src/main/java/org/apache/kylin/rest/service/TableService.java
index 8868bff..461800e 100644
--- a/server-base/src/main/java/org/apache/kylin/rest/service/TableService.java
+++ b/server-base/src/main/java/org/apache/kylin/rest/service/TableService.java
@@ -101,8 +101,7 @@ public class TableService extends BasicService {
 
     @PreAuthorize(Constant.ACCESS_HAS_ROLE_ADMIN)
     private void unLoadHiveTable(String tableName) throws IOException {
-        String[] dbTableName = HadoopUtil.parseHiveTableName(tableName);
-        tableName = dbTableName[0] + "." + dbTableName[1];
+        tableName = normalizeHiveTableName(tableName);
         HiveSourceTableLoader.unLoadHiveTable(tableName.toUpperCase());
     }
 
@@ -113,8 +112,7 @@ public class TableService extends BasicService {
 
     @PreAuthorize(Constant.ACCESS_HAS_ROLE_ADMIN)
     private void removeTableFromProject(String tableName, String projectName) 
throws IOException {
-        String[] dbTableName = HadoopUtil.parseHiveTableName(tableName);
-        tableName = dbTableName[0] + "." + dbTableName[1];
+        tableName = normalizeHiveTableName(tableName);
         getProjectManager().removeTableDescFromProject(tableName, projectName);
     }
 
@@ -130,8 +128,7 @@ public class TableService extends BasicService {
         int tableType = 0;
 
         //remove streaming info
-        String[] dbTableName = HadoopUtil.parseHiveTableName(tableName);
-        tableName = dbTableName[0] + "." + dbTableName[1];
+        tableName = normalizeHiveTableName(tableName);
         TableDesc desc = getMetadataManager().getTableDesc(tableName);
         if (desc == null)
             return false;
@@ -276,8 +273,7 @@ public class TableService extends BasicService {
      */
     @PreAuthorize(Constant.ACCESS_HAS_ROLE_MODELER + " or " + 
Constant.ACCESS_HAS_ROLE_ADMIN)
     public void calculateCardinality(String tableName, String submitter) 
throws IOException {
-        String[] dbTableName = HadoopUtil.parseHiveTableName(tableName);
-        tableName = dbTableName[0] + "." + dbTableName[1];
+        tableName = normalizeHiveTableName(tableName);
         TableDesc table = getMetadataManager().getTableDesc(tableName);
         final TableExtDesc tableExt = 
getMetadataManager().getTableExt(tableName);
         if (table == null) {
@@ -314,4 +310,9 @@ public class TableService extends BasicService {
 
         getExecutableManager().addJob(job);
     }
+
+    public String normalizeHiveTableName(String tableName){
+        String[] dbTableName = HadoopUtil.parseHiveTableName(tableName);
+        return dbTableName[0] + "." + dbTableName[1];
+    }
 }

Reply via email to