kylin git commit: KYLIN-3239 Refactor the ACL code about checkPermission and hasPermission

2018-02-09 Thread billyliu
Repository: kylin
Updated Branches:
  refs/heads/2.3.x 7fd5c5d15 -> 2a6d69a20


KYLIN-3239 Refactor the ACL code about checkPermission and hasPermission

Signed-off-by: Billy Liu 


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

Branch: refs/heads/2.3.x
Commit: 2a6d69a20b9f82412bffe60e004a9c079ce91471
Parents: 7fd5c5d
Author: GuangYaoLee92 <1012461...@qq.com>
Authored: Wed Feb 7 12:45:35 2018 +0800
Committer: Billy Liu 
Committed: Fri Feb 9 21:39:40 2018 +0800

--
 .../rest/controller/ProjectController.java  | 10 +--
 .../apache/kylin/rest/service/CubeService.java  | 29 
 .../apache/kylin/rest/service/ModelService.java | 20 ++---
 .../kylin/rest/service/ProjectService.java  | 10 +--
 .../org/apache/kylin/rest/util/AclEvaluate.java | 78 +---
 5 files changed, 75 insertions(+), 72 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/2a6d69a2/server-base/src/main/java/org/apache/kylin/rest/controller/ProjectController.java
--
diff --git 
a/server-base/src/main/java/org/apache/kylin/rest/controller/ProjectController.java
 
b/server-base/src/main/java/org/apache/kylin/rest/controller/ProjectController.java
index 902ed24..4eedb8e1 100644
--- 
a/server-base/src/main/java/org/apache/kylin/rest/controller/ProjectController.java
+++ 
b/server-base/src/main/java/org/apache/kylin/rest/controller/ProjectController.java
@@ -38,7 +38,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.security.access.AccessDeniedException;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -97,14 +96,7 @@ public class ProjectController extends BasicController {
 if (projectInstance == null) {
 continue;
 }
-
-boolean hasProjectPermission = false;
-try {
-hasProjectPermission = 
aclEvaluate.hasProjectReadPermission(projectInstance);
-} catch (AccessDeniedException e) {
-//ignore to continue
-}
-
+boolean hasProjectPermission = 
aclEvaluate.hasProjectReadPermission(projectInstance);
 if (hasProjectPermission) {
 readableProjects.add(projectInstance);
 }

http://git-wip-us.apache.org/repos/asf/kylin/blob/2a6d69a2/server-base/src/main/java/org/apache/kylin/rest/service/CubeService.java
--
diff --git 
a/server-base/src/main/java/org/apache/kylin/rest/service/CubeService.java 
b/server-base/src/main/java/org/apache/kylin/rest/service/CubeService.java
index 4618b48..953fa58 100644
--- a/server-base/src/main/java/org/apache/kylin/rest/service/CubeService.java
+++ b/server-base/src/main/java/org/apache/kylin/rest/service/CubeService.java
@@ -132,14 +132,13 @@ public class CubeService extends BasicService implements 
InitializingBean {
 public List listAllCubes(final String cubeName, final String 
projectName, final String modelName,
 boolean exactMatch) {
 List cubeInstances = null;
-ProjectInstance project = (null != projectName) ? 
getProjectManager().getProject(projectName) : null;
 
-if (null == project) {
+if (null == projectName) {
 cubeInstances = getCubeManager().listAllCubes();
 aclEvaluate.checkIsGlobalAdmin();
 } else {
 cubeInstances = listAllCubes(projectName);
-aclEvaluate.hasProjectReadPermission(project);
+aclEvaluate.checkProjectReadPermission(projectName);
 }
 
 List filterModelCubes = new ArrayList();
@@ -170,7 +169,7 @@ public class CubeService extends BasicService implements 
InitializingBean {
 }
 
 public CubeInstance updateCubeCost(CubeInstance cube, int cost) throws 
IOException {
-aclEvaluate.hasProjectWritePermission(cube.getProjectInstance());
+aclEvaluate.checkProjectWritePermission(cube);
 if (cube.getCost() == cost) {
 // Do nothing
 return cube;
@@ -258,7 +257,7 @@ public class CubeService extends BasicService implements 
InitializingBean {
 
 public CubeDesc updateCubeAndDesc(CubeInstance cube, CubeDesc desc, String 
newProjectName, boolean forceUpdate)
 throws IOException {
-aclEvaluate.hasProjectWritePermission(cube.getProjectI

kylin git commit: KYLIN-3239 Refactor the ACL code about checkPermission and hasPermission

2018-02-09 Thread billyliu
Repository: kylin
Updated Branches:
  refs/heads/master da0e6b04a -> c86f30f88


KYLIN-3239 Refactor the ACL code about checkPermission and hasPermission

Signed-off-by: Billy Liu 


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

Branch: refs/heads/master
Commit: c86f30f88a0713dabee8f9ca5dd99be9b063214f
Parents: da0e6b0
Author: GuangYaoLee92 <1012461...@qq.com>
Authored: Wed Feb 7 12:45:35 2018 +0800
Committer: Billy Liu 
Committed: Fri Feb 9 21:37:52 2018 +0800

--
 .../rest/controller/ProjectController.java  | 10 +--
 .../apache/kylin/rest/service/CubeService.java  | 29 
 .../apache/kylin/rest/service/ModelService.java | 20 ++---
 .../kylin/rest/service/ProjectService.java  | 10 +--
 .../org/apache/kylin/rest/util/AclEvaluate.java | 78 +---
 5 files changed, 75 insertions(+), 72 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/c86f30f8/server-base/src/main/java/org/apache/kylin/rest/controller/ProjectController.java
--
diff --git 
a/server-base/src/main/java/org/apache/kylin/rest/controller/ProjectController.java
 
b/server-base/src/main/java/org/apache/kylin/rest/controller/ProjectController.java
index 902ed24..4eedb8e1 100644
--- 
a/server-base/src/main/java/org/apache/kylin/rest/controller/ProjectController.java
+++ 
b/server-base/src/main/java/org/apache/kylin/rest/controller/ProjectController.java
@@ -38,7 +38,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.security.access.AccessDeniedException;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -97,14 +96,7 @@ public class ProjectController extends BasicController {
 if (projectInstance == null) {
 continue;
 }
-
-boolean hasProjectPermission = false;
-try {
-hasProjectPermission = 
aclEvaluate.hasProjectReadPermission(projectInstance);
-} catch (AccessDeniedException e) {
-//ignore to continue
-}
-
+boolean hasProjectPermission = 
aclEvaluate.hasProjectReadPermission(projectInstance);
 if (hasProjectPermission) {
 readableProjects.add(projectInstance);
 }

http://git-wip-us.apache.org/repos/asf/kylin/blob/c86f30f8/server-base/src/main/java/org/apache/kylin/rest/service/CubeService.java
--
diff --git 
a/server-base/src/main/java/org/apache/kylin/rest/service/CubeService.java 
b/server-base/src/main/java/org/apache/kylin/rest/service/CubeService.java
index 4618b48..953fa58 100644
--- a/server-base/src/main/java/org/apache/kylin/rest/service/CubeService.java
+++ b/server-base/src/main/java/org/apache/kylin/rest/service/CubeService.java
@@ -132,14 +132,13 @@ public class CubeService extends BasicService implements 
InitializingBean {
 public List listAllCubes(final String cubeName, final String 
projectName, final String modelName,
 boolean exactMatch) {
 List cubeInstances = null;
-ProjectInstance project = (null != projectName) ? 
getProjectManager().getProject(projectName) : null;
 
-if (null == project) {
+if (null == projectName) {
 cubeInstances = getCubeManager().listAllCubes();
 aclEvaluate.checkIsGlobalAdmin();
 } else {
 cubeInstances = listAllCubes(projectName);
-aclEvaluate.hasProjectReadPermission(project);
+aclEvaluate.checkProjectReadPermission(projectName);
 }
 
 List filterModelCubes = new ArrayList();
@@ -170,7 +169,7 @@ public class CubeService extends BasicService implements 
InitializingBean {
 }
 
 public CubeInstance updateCubeCost(CubeInstance cube, int cost) throws 
IOException {
-aclEvaluate.hasProjectWritePermission(cube.getProjectInstance());
+aclEvaluate.checkProjectWritePermission(cube);
 if (cube.getCost() == cost) {
 // Do nothing
 return cube;
@@ -258,7 +257,7 @@ public class CubeService extends BasicService implements 
InitializingBean {
 
 public CubeDesc updateCubeAndDesc(CubeInstance cube, CubeDesc desc, String 
newProjectName, boolean forceUpdate)
 throws IOException {
-aclEvaluate.hasProjectWritePermission(cube.getProjec