You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by ma...@apache.org on 2015/05/15 07:22:10 UTC

[41/52] [abbrv] incubator-kylin git commit: add delete model

add delete model


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

Branch: refs/heads/0.8.0
Commit: d60f726c97083f059d413e9dbf2682cb4d90c82e
Parents: 0aca96b
Author: jiazhong <ji...@ebay.com>
Authored: Fri Apr 3 16:21:08 2015 +0800
Committer: honma <ho...@ebay.com>
Committed: Fri May 15 11:38:32 2015 +0800

----------------------------------------------------------------------
 .../apache/kylin/metadata/MetadataManager.java  |  1 -
 .../kylin/rest/controller/ModelController.java  | 21 ++++++++++++++++++--
 .../apache/kylin/rest/service/CubeService.java  |  2 +-
 .../apache/kylin/rest/service/ModelService.java | 12 ++++++++++-
 webapp/app/js/controllers/cube.js               |  9 +--------
 webapp/app/js/controllers/cubes.js              |  4 ----
 webapp/app/js/controllers/modelEdit.js          | 12 +++--------
 webapp/app/js/controllers/projects.js           |  2 +-
 8 files changed, 36 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d60f726c/metadata/src/main/java/org/apache/kylin/metadata/MetadataManager.java
----------------------------------------------------------------------
diff --git a/metadata/src/main/java/org/apache/kylin/metadata/MetadataManager.java b/metadata/src/main/java/org/apache/kylin/metadata/MetadataManager.java
index ae64f4c..933826b 100644
--- a/metadata/src/main/java/org/apache/kylin/metadata/MetadataManager.java
+++ b/metadata/src/main/java/org/apache/kylin/metadata/MetadataManager.java
@@ -295,7 +295,6 @@ public class MetadataManager {
         ProjectInstance projectInstance =  ProjectManager.getInstance(config).getProject(projectName);
         HashSet<DataModelDesc> ret = new HashSet<>();
 
-
         if (projectInstance != null&&projectInstance.getModels()!=null) {
             for (String modelName : projectInstance.getModels()) {
                 DataModelDesc model = getDataModelDesc(modelName);

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d60f726c/server/src/main/java/org/apache/kylin/rest/controller/ModelController.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/kylin/rest/controller/ModelController.java b/server/src/main/java/org/apache/kylin/rest/controller/ModelController.java
index 3e17be1..ba45df1 100644
--- a/server/src/main/java/org/apache/kylin/rest/controller/ModelController.java
+++ b/server/src/main/java/org/apache/kylin/rest/controller/ModelController.java
@@ -24,11 +24,13 @@ import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.JsonMappingException;
 import org.apache.commons.lang.StringUtils;
 import org.apache.kylin.common.util.JsonUtil;
+import org.apache.kylin.cube.CubeInstance;
 import org.apache.kylin.metadata.model.DataModelDesc;
 import org.apache.kylin.metadata.project.ProjectInstance;
 import org.apache.kylin.rest.exception.BadRequestException;
 import org.apache.kylin.rest.exception.ForbiddenException;
 import org.apache.kylin.rest.exception.InternalErrorException;
+import org.apache.kylin.rest.exception.NotFoundException;
 import org.apache.kylin.rest.request.ModelRequest;
 import org.apache.kylin.rest.service.ModelService;
 import org.slf4j.Logger;
@@ -119,7 +121,7 @@ public class ModelController extends BasicController {
             return modelRequest;
         }
         try {
-            modelDesc =  modelService.updateModelAndDesc(modelDesc,modelRequest.getProject());
+            modelDesc =  modelService.updateModelAndDesc(modelDesc);
         } catch (AccessDeniedException accessDeniedException) {
             throw new ForbiddenException("You don't have right to update this cube.");
         }  catch (Exception e) {
@@ -138,7 +140,22 @@ public class ModelController extends BasicController {
         return modelRequest;
     }
 
-
+//    @RequestMapping(value = "/{cubeName}", method = {RequestMethod.DELETE})
+//    @ResponseBody
+//    @Metered(name = "deleteCube")
+//    public void deleteCube(@PathVariable String cubeName) {
+//        CubeInstance cube = cubeService.getCubeManager().getCube(cubeName);
+//        if (null == cube) {
+//            throw new NotFoundException("Cube with name " + cubeName + " not found..");
+//        }
+//
+//        try {
+//            cubeService.deleteCube(cube);
+//        } catch (Exception e) {
+//            logger.error(e.getLocalizedMessage(), e);
+//            throw new InternalErrorException("Failed to delete cube. " + " Caused by: " + e.getMessage(), e);
+//        }
+//    }
 
     private DataModelDesc deserializeDataModelDesc(ModelRequest modelRequest) {
         DataModelDesc desc = null;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d60f726c/server/src/main/java/org/apache/kylin/rest/service/CubeService.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/kylin/rest/service/CubeService.java b/server/src/main/java/org/apache/kylin/rest/service/CubeService.java
index 7f63d34..d168ddd 100644
--- a/server/src/main/java/org/apache/kylin/rest/service/CubeService.java
+++ b/server/src/main/java/org/apache/kylin/rest/service/CubeService.java
@@ -235,7 +235,7 @@ public class CubeService extends BasicService {
     }
 
     @PreAuthorize(Constant.ACCESS_HAS_ROLE_ADMIN + " or hasPermission(#cube, 'ADMINISTRATION') or hasPermission(#cube, 'MANAGEMENT')")
-    public CubeDesc updateCubeAndDesc(CubeInstance cube, CubeDesc desc, String newProjectName) throws UnknownHostException, IOException, JobException {
+    public CubeDesc updateCubeAndDesc(CubeInstance cube, CubeDesc desc, String newProjectName) throws  IOException, JobException {
         final List<CubingJob> cubingJobs = listAllCubingJobs(cube.getName(), null, EnumSet.of(ExecutableState.READY, ExecutableState.RUNNING));
         if (!cubingJobs.isEmpty()) {
             throw new JobException("Cube schema shouldn't be changed with running job.");

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d60f726c/server/src/main/java/org/apache/kylin/rest/service/ModelService.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/kylin/rest/service/ModelService.java b/server/src/main/java/org/apache/kylin/rest/service/ModelService.java
index d210077..3c349cc 100644
--- a/server/src/main/java/org/apache/kylin/rest/service/ModelService.java
+++ b/server/src/main/java/org/apache/kylin/rest/service/ModelService.java
@@ -109,11 +109,21 @@ public class ModelService extends BasicService {
 
 
     @PreAuthorize(Constant.ACCESS_HAS_ROLE_ADMIN + " or hasPermission(#desc, 'ADMINISTRATION') or hasPermission(#desc, 'MANAGEMENT')")
-    public DataModelDesc updateModelAndDesc(DataModelDesc desc, String newProjectName) throws IOException {
+    public DataModelDesc updateModelAndDesc(DataModelDesc desc) throws IOException {
 
         getMetadataManager().updateDataModelDesc(desc);
         return desc;
     }
 
 
+    @PreAuthorize(Constant.ACCESS_HAS_ROLE_ADMIN + " or hasPermission(#cube, 'ADMINISTRATION') or hasPermission(#desc, 'MANAGEMENT')")
+    public void deleteCube(DataModelDesc desc) throws IOException {
+//        final List<CubingJob> cubingJobs = listAllCubingJobs(cube.getName(), null, EnumSet.of(ExecutableState.READY, ExecutableState.RUNNING));
+
+
+
+
+//        getCubeManager().dropCube(cube.getName(), true);
+//        accessService.clean(cube, true);
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d60f726c/webapp/app/js/controllers/cube.js
----------------------------------------------------------------------
diff --git a/webapp/app/js/controllers/cube.js b/webapp/app/js/controllers/cube.js
index 2585345..d9e7764 100755
--- a/webapp/app/js/controllers/cube.js
+++ b/webapp/app/js/controllers/cube.js
@@ -222,11 +222,9 @@ KylinApp.controller('CubeCtrl', function ($scope, AccessService, MessageService,
 
                 loadingRequest.show();
                 CubeService.drop({cubeId: cube.name}, {}, function (result) {
-
                     loadingRequest.hide();
-//                    CubeList.removeCube(cube);
                     SweetAlert.swal('Success!', 'Cube drop is done successfully', 'success');
-
+                    location.reload();
                 },function(e){
 
                     loadingRequest.hide();
@@ -437,11 +435,6 @@ var jobSubmitCtrl = function ($scope, $modalInstance, CubeService, MessageServic
 
     $scope.updateDate = function() {
 
-
-//        if ($scope.cube.detail.partition_desc.cube_partition_type=='UPDATE_INSERT')
-//        {
-//            $scope.jobBuildRequest.startTime=$scope.formatDate($scope.jobBuildRequest.startTime);
-//        }
         $scope.jobBuildRequest.endTime=$scope.formatDate($scope.jobBuildRequest.endTime);
     };
 

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d60f726c/webapp/app/js/controllers/cubes.js
----------------------------------------------------------------------
diff --git a/webapp/app/js/controllers/cubes.js b/webapp/app/js/controllers/cubes.js
index 94c6031..fdea880 100755
--- a/webapp/app/js/controllers/cubes.js
+++ b/webapp/app/js/controllers/cubes.js
@@ -238,10 +238,6 @@ KylinApp
                     CubeService.drop({cubeId: cube.name}, {}, function (result) {
 
                     loadingRequest.hide();
-//                    var cubeIndex = CubeList.cubes.indexOf(cube);
-//                    if (cubeIndex > -1) {
-//                        $scope.cubes.splice(cubeIndex, 1);
-//                    }
                      CubeList.removeCube(cube);
                     SweetAlert.swal('Success!', 'Cube drop is done successfully', 'success');
 

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d60f726c/webapp/app/js/controllers/modelEdit.js
----------------------------------------------------------------------
diff --git a/webapp/app/js/controllers/modelEdit.js b/webapp/app/js/controllers/modelEdit.js
index 5ca95b1..a571611 100644
--- a/webapp/app/js/controllers/modelEdit.js
+++ b/webapp/app/js/controllers/modelEdit.js
@@ -71,8 +71,6 @@ KylinApp.controller('ModelEditCtrl', function ($scope, $q, $routeParams, $locati
     // ~ init
     if ($scope.isEdit = !!$routeParams.modelName) {
 
-
-
         var modelName = $routeParams.modelName;
         ModelDescService.get({model_name: modelName}, function (model) {
                     if (model) {
@@ -112,10 +110,6 @@ KylinApp.controller('ModelEditCtrl', function ($scope, $q, $routeParams, $locati
             $scope.model.partition_desc.partition_date_start = new Date(moment.utc(dateStart, "YYYY-MM-DD").format()).getTime();
 
 
-            if($scope.model.partition_desc.partition_date_column.indexOf(".")==-1){
-            $scope.model.partition_desc.partition_date_column=$scope.model.fact_table+"."+$scope.model.partition_desc.partition_date_column;
-            }
-
         }
         if($scope.model.partition_desc.partition_date_column==null){
             $scope.model.partition_desc.partition_date_start=null;
@@ -145,9 +139,9 @@ KylinApp.controller('ModelEditCtrl', function ($scope, $q, $routeParams, $locati
         }
 
         SweetAlert.swal({
-            title: '',
-            text: 'Are you sure to save the Model ?',
-            type: '',
+            title: 'Are you sure to update the model?',
+            text: $scope.isEdit?' Please note: if model schema is changed, all cubes of the model will be affected.':'Are you sure to save the Model ?',
+            type: 'warning',
             showCancelButton: true,
             confirmButtonColor: '#DD6B55',
             confirmButtonText: "Yes",

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d60f726c/webapp/app/js/controllers/projects.js
----------------------------------------------------------------------
diff --git a/webapp/app/js/controllers/projects.js b/webapp/app/js/controllers/projects.js
index e906188..e0cc64d 100644
--- a/webapp/app/js/controllers/projects.js
+++ b/webapp/app/js/controllers/projects.js
@@ -77,7 +77,7 @@ KylinApp
                     if (pIndex > -1) {
                         $scope.projects.splice(pIndex, 1);
                     }
-                    ProjectModel.removeProject(project.name);
+                ProjectModel.removeProject(project.name);
                 SweetAlert.swal('Success!',"Project [" + project.name + "] has been deleted successfully!", 'success');
                 },function(e){
                     if(e.data&& e.data.exception){