You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by li...@apache.org on 2017/07/25 09:44:52 UTC

[05/24] kylin git commit: Do empty check for override Kylin props when save project.

Do empty check for override Kylin props when save project.


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

Branch: refs/heads/2.1.x
Commit: adcd0b672958df770913f49d8967bc2c0d7a4a0b
Parents: 8307ff4
Author: nichunen <ch...@kyligence.io>
Authored: Fri Jul 14 14:08:25 2017 +0800
Committer: nichunen <ch...@kyligence.io>
Committed: Fri Jul 14 14:08:25 2017 +0800

----------------------------------------------------------------------
 .../kylin/metadata/project/ProjectManager.java     | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/adcd0b67/core-metadata/src/main/java/org/apache/kylin/metadata/project/ProjectManager.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/project/ProjectManager.java b/core-metadata/src/main/java/org/apache/kylin/metadata/project/ProjectManager.java
index b801d8c..81e7647 100644
--- a/core-metadata/src/main/java/org/apache/kylin/metadata/project/ProjectManager.java
+++ b/core-metadata/src/main/java/org/apache/kylin/metadata/project/ProjectManager.java
@@ -21,6 +21,7 @@ package org.apache.kylin.metadata.project;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Iterator;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
@@ -28,7 +29,7 @@ import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.kylin.common.KylinConfig;
 import org.apache.kylin.common.persistence.JsonSerializer;
 import org.apache.kylin.common.persistence.ResourceStore;
@@ -260,6 +261,20 @@ public class ProjectManager {
 
     private void updateProject(ProjectInstance prj) throws IOException {
         synchronized (prj) {
+            LinkedHashMap<String, String> overrideProps = prj.getOverrideKylinProps();
+
+            if (overrideProps != null) {
+                Iterator<Map.Entry<String, String>> iterator = overrideProps.entrySet().iterator();
+
+                while (iterator.hasNext()) {
+                    Map.Entry<String, String> entry = iterator.next();
+
+                    if (StringUtils.isAnyBlank(entry.getKey(), entry.getValue())) {
+                        throw new IllegalStateException("Property key/value must not be blank");
+                    }
+                }
+            }
+            
             getStore().putResource(prj.getResourcePath(), prj, PROJECT_SERIALIZER);
             projectMap.put(norm(prj.getName()), prj); // triggers update broadcast
             clearL2Cache();