[1/2] kylin git commit: KYLIN-2180 Add project config
Repository: kylin Updated Branches: refs/heads/master 2814ce774 -> c31c8490b KYLIN-2180 Add project config Signed-off-by: Yang LiProject: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/ea60803e Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/ea60803e Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/ea60803e Branch: refs/heads/master Commit: ea60803e20ac17489f513bf6af29b183829db020 Parents: 2814ce7 Author: kangkaisen Authored: Fri Nov 11 16:21:32 2016 +0800 Committer: Yang Li Committed: Thu Dec 8 21:09:11 2016 +0800 -- .../apache/kylin/common/KylinConfigTest.java| 13 ++- .../org/apache/kylin/cube/model/CubeDesc.java | 11 ++- .../kylin/cube/ProjectSpecificConfigTest.java | 60 + .../kylin/metadata/project/ProjectInstance.java | 25 +- .../kylin/metadata/project/ProjectManager.java | 13 +-- .../localmeta/project/default.json | 10 ++- .../rest/request/CreateProjectRequest.java | 11 +++ .../rest/request/UpdateProjectRequest.java | 11 +++ .../kylin/rest/service/ProjectService.java | 9 +- webapp/app/js/controllers/page.js | 56 ++-- .../app/partials/projects/project_create.html | 93 ++-- 11 files changed, 255 insertions(+), 57 deletions(-) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/ea60803e/core-common/src/test/java/org/apache/kylin/common/KylinConfigTest.java -- diff --git a/core-common/src/test/java/org/apache/kylin/common/KylinConfigTest.java b/core-common/src/test/java/org/apache/kylin/common/KylinConfigTest.java index d05f58b..209986f 100644 --- a/core-common/src/test/java/org/apache/kylin/common/KylinConfigTest.java +++ b/core-common/src/test/java/org/apache/kylin/common/KylinConfigTest.java @@ -30,7 +30,6 @@ import org.junit.Test; import com.google.common.collect.Maps; public class KylinConfigTest extends LocalFileMetadataTestCase { - @Before public void setUp() throws Exception { this.createTestMetadata(); @@ -49,33 +48,33 @@ public class KylinConfigTest extends LocalFileMetadataTestCase { assertEquals("test1", override.get("test1")); assertEquals("test2", override.get("test2")); } - + @Test public void testBackwardCompatibility() { KylinConfig config = KylinConfig.getInstanceFromEnv(); final String oldk = "kylin.test.bcc.old.key"; final String newk = "kylin.test.bcc.new.key"; - + assertNull(config.getOptional(oldk)); assertNotNull(config.getOptional(newk)); - + Map override = Maps.newHashMap(); override.put(oldk, "1"); KylinConfigExt ext = KylinConfigExt.createInstance(config, override); assertEquals(ext.getOptional(oldk), null); assertEquals(ext.getOptional(newk), "1"); assertNotEquals(config.getOptional(newk), "1"); - + config.setProperty(oldk, "2"); assertEquals(config.getOptional(newk), "2"); } - + @Test public void testExtShareTheBase() { KylinConfig config = KylinConfig.getInstanceFromEnv(); Map override = Maps.newHashMap(); KylinConfig configExt = KylinConfigExt.createInstance(config, override); - + assertTrue(config.properties == configExt.properties); config.setProperty("1234", "1234"); assertEquals("1234", configExt.getOptional("1234")); http://git-wip-us.apache.org/repos/asf/kylin/blob/ea60803e/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java -- diff --git a/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java b/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java index f8c316c..56a8b7e 100644 --- a/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java +++ b/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java @@ -529,7 +529,16 @@ public class CubeDesc extends RootPersistentEntity implements IEngineAware { // note CubeDesc.name == CubeInstance.name List ownerPrj = ProjectManager.getInstance(config).findProjects(RealizationType.CUBE, name); -logger.info("CubeDesc '" + name + "' is owned by " + ownerPrj); + +// cube inherit the project override props +if (ownerPrj.size() == 1) { +Map prjOverrideProps = ownerPrj.get(0).getOverrideKylinProps(); +for (Entry entry : prjOverrideProps.entrySet()) { +if (!overrideKylinProps.containsKey(entry.getKey())) { +
[1/2] kylin git commit: KYLIN-2180 Add project config
Repository: kylin Updated Branches: refs/heads/KYLIN-2180 [created] c31c8490b KYLIN-2180 Add project config Signed-off-by: Yang LiProject: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/ea60803e Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/ea60803e Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/ea60803e Branch: refs/heads/KYLIN-2180 Commit: ea60803e20ac17489f513bf6af29b183829db020 Parents: 2814ce7 Author: kangkaisen Authored: Fri Nov 11 16:21:32 2016 +0800 Committer: Yang Li Committed: Thu Dec 8 21:09:11 2016 +0800 -- .../apache/kylin/common/KylinConfigTest.java| 13 ++- .../org/apache/kylin/cube/model/CubeDesc.java | 11 ++- .../kylin/cube/ProjectSpecificConfigTest.java | 60 + .../kylin/metadata/project/ProjectInstance.java | 25 +- .../kylin/metadata/project/ProjectManager.java | 13 +-- .../localmeta/project/default.json | 10 ++- .../rest/request/CreateProjectRequest.java | 11 +++ .../rest/request/UpdateProjectRequest.java | 11 +++ .../kylin/rest/service/ProjectService.java | 9 +- webapp/app/js/controllers/page.js | 56 ++-- .../app/partials/projects/project_create.html | 93 ++-- 11 files changed, 255 insertions(+), 57 deletions(-) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/ea60803e/core-common/src/test/java/org/apache/kylin/common/KylinConfigTest.java -- diff --git a/core-common/src/test/java/org/apache/kylin/common/KylinConfigTest.java b/core-common/src/test/java/org/apache/kylin/common/KylinConfigTest.java index d05f58b..209986f 100644 --- a/core-common/src/test/java/org/apache/kylin/common/KylinConfigTest.java +++ b/core-common/src/test/java/org/apache/kylin/common/KylinConfigTest.java @@ -30,7 +30,6 @@ import org.junit.Test; import com.google.common.collect.Maps; public class KylinConfigTest extends LocalFileMetadataTestCase { - @Before public void setUp() throws Exception { this.createTestMetadata(); @@ -49,33 +48,33 @@ public class KylinConfigTest extends LocalFileMetadataTestCase { assertEquals("test1", override.get("test1")); assertEquals("test2", override.get("test2")); } - + @Test public void testBackwardCompatibility() { KylinConfig config = KylinConfig.getInstanceFromEnv(); final String oldk = "kylin.test.bcc.old.key"; final String newk = "kylin.test.bcc.new.key"; - + assertNull(config.getOptional(oldk)); assertNotNull(config.getOptional(newk)); - + Map override = Maps.newHashMap(); override.put(oldk, "1"); KylinConfigExt ext = KylinConfigExt.createInstance(config, override); assertEquals(ext.getOptional(oldk), null); assertEquals(ext.getOptional(newk), "1"); assertNotEquals(config.getOptional(newk), "1"); - + config.setProperty(oldk, "2"); assertEquals(config.getOptional(newk), "2"); } - + @Test public void testExtShareTheBase() { KylinConfig config = KylinConfig.getInstanceFromEnv(); Map override = Maps.newHashMap(); KylinConfig configExt = KylinConfigExt.createInstance(config, override); - + assertTrue(config.properties == configExt.properties); config.setProperty("1234", "1234"); assertEquals("1234", configExt.getOptional("1234")); http://git-wip-us.apache.org/repos/asf/kylin/blob/ea60803e/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java -- diff --git a/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java b/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java index f8c316c..56a8b7e 100644 --- a/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java +++ b/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java @@ -529,7 +529,16 @@ public class CubeDesc extends RootPersistentEntity implements IEngineAware { // note CubeDesc.name == CubeInstance.name List ownerPrj = ProjectManager.getInstance(config).findProjects(RealizationType.CUBE, name); -logger.info("CubeDesc '" + name + "' is owned by " + ownerPrj); + +// cube inherit the project override props +if (ownerPrj.size() == 1) { +Map prjOverrideProps = ownerPrj.get(0).getOverrideKylinProps(); +for (Entry entry : prjOverrideProps.entrySet()) { +if (!overrideKylinProps.containsKey(entry.getKey())) { +