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){