#1089 Clone raw table and scheduler with cube

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

Branch: refs/heads/master
Commit: 3beef268dd06fb3f275b4accc92836b44d99b175
Parents: 66dc541
Author: Roger Shi <[email protected]>
Authored: Mon Jun 19 12:02:35 2017 +0800
Committer: Hongbin Ma <[email protected]>
Committed: Mon Jun 19 13:30:35 2017 +0800

----------------------------------------------------------------------
 .../kylin/rest/controller/CubeController.java   |  4 +-
 .../rest/controller2/CubeControllerV2.java      | 41 --------------------
 .../apache/kylin/rest/service/CubeService.java  |  4 +-
 3 files changed, 4 insertions(+), 45 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/3beef268/server-base/src/main/java/org/apache/kylin/rest/controller/CubeController.java
----------------------------------------------------------------------
diff --git 
a/server-base/src/main/java/org/apache/kylin/rest/controller/CubeController.java
 
b/server-base/src/main/java/org/apache/kylin/rest/controller/CubeController.java
index 14c80a0..6916dd8 100644
--- 
a/server-base/src/main/java/org/apache/kylin/rest/controller/CubeController.java
+++ 
b/server-base/src/main/java/org/apache/kylin/rest/controller/CubeController.java
@@ -18,6 +18,8 @@
 
 package org.apache.kylin.rest.controller;
 
+import static org.apache.kylin.rest.service.CubeService.VALID_CUBENAME;
+
 import java.io.IOException;
 import java.net.UnknownHostException;
 import java.util.ArrayList;
@@ -83,8 +85,6 @@ import com.google.common.collect.Maps;
 public class CubeController extends BasicController {
     private static final Logger logger = 
LoggerFactory.getLogger(CubeController.class);
 
-    private static final char[] VALID_CUBENAME = 
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_".toCharArray();
-
     @Autowired
     @Qualifier("cubeMgmtService")
     private CubeService cubeService;

http://git-wip-us.apache.org/repos/asf/kylin/blob/3beef268/server-base/src/main/java/org/apache/kylin/rest/controller2/CubeControllerV2.java
----------------------------------------------------------------------
diff --git 
a/server-base/src/main/java/org/apache/kylin/rest/controller2/CubeControllerV2.java
 
b/server-base/src/main/java/org/apache/kylin/rest/controller2/CubeControllerV2.java
index 720cf76..93c4d4e 100644
--- 
a/server-base/src/main/java/org/apache/kylin/rest/controller2/CubeControllerV2.java
+++ 
b/server-base/src/main/java/org/apache/kylin/rest/controller2/CubeControllerV2.java
@@ -25,7 +25,6 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.commons.lang.StringUtils;
 import org.apache.kylin.cube.CubeInstance;
 import org.apache.kylin.cube.CubeManager;
 import org.apache.kylin.cube.CubeSegment;
@@ -43,7 +42,6 @@ import org.apache.kylin.rest.controller.BasicController;
 import org.apache.kylin.rest.exception.BadRequestException;
 import org.apache.kylin.rest.msg.Message;
 import org.apache.kylin.rest.msg.MsgPicker;
-import org.apache.kylin.rest.request.CubeRequest;
 import org.apache.kylin.rest.request.JobBuildRequest;
 import org.apache.kylin.rest.request.JobBuildRequest2;
 import org.apache.kylin.rest.response.CubeInstanceResponse;
@@ -80,9 +78,6 @@ import com.google.common.collect.Lists;
 public class CubeControllerV2 extends BasicController {
     private static final Logger logger = 
LoggerFactory.getLogger(CubeControllerV2.class);
 
-    public static final char[] VALID_CUBENAME = 
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_"
-            .toCharArray();
-
     @Autowired
     @Qualifier("cubeMgmtService")
     private CubeService cubeService;
@@ -437,42 +432,6 @@ public class CubeControllerV2 extends BasicController {
         return new EnvelopeResponse(ResponseCode.CODE_SUCCESS, 
cubeService.purgeCube(cube), "");
     }
 
-    @RequestMapping(value = "/{cubeName}/clone", method = { RequestMethod.PUT 
}, produces = {
-            "application/vnd.apache.kylin-v2+json" })
-    @ResponseBody
-    public EnvelopeResponse cloneCubeV2(@PathVariable String cubeName, 
@RequestBody CubeRequest cubeRequest)
-            throws IOException {
-        Message msg = MsgPicker.getMsg();
-
-        String newCubeName = cubeRequest.getCubeName();
-        String project = cubeRequest.getProject();
-
-        CubeInstance cube = cubeService.getCubeManager().getCube(cubeName);
-        if (cube == null) {
-            throw new 
BadRequestException(String.format(msg.getCUBE_NOT_FOUND(), cubeName));
-        }
-        if (cube.getStatus() == RealizationStatusEnum.DESCBROKEN) {
-            throw new 
BadRequestException(String.format(msg.getCLONE_BROKEN_CUBE(), cubeName));
-        }
-        if (!StringUtils.containsOnly(newCubeName, VALID_CUBENAME)) {
-            logger.info("Invalid Cube name {}, only letters, numbers and 
underline supported.", newCubeName);
-            throw new 
BadRequestException(String.format(msg.getINVALID_CUBE_NAME(), cubeName));
-        }
-
-        CubeDesc cubeDesc = cube.getDescriptor();
-        CubeDesc newCubeDesc = CubeDesc.getCopyOf(cubeDesc);
-
-        newCubeDesc.setName(newCubeName);
-
-        CubeInstance newCube;
-        newCube = cubeService.createCubeAndDesc(newCubeName, project, 
newCubeDesc);
-
-        //reload to avoid shallow clone
-        cubeService.getCubeDescManager().reloadCubeDescLocal(newCubeName);
-
-        return new EnvelopeResponse(ResponseCode.CODE_SUCCESS, newCube, "");
-    }
-
     @RequestMapping(value = "/{cubeName}/enable", method = { RequestMethod.PUT 
}, produces = {
             "application/vnd.apache.kylin-v2+json" })
     @ResponseBody

http://git-wip-us.apache.org/repos/asf/kylin/blob/3beef268/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 7f09612..f6de877 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
@@ -18,8 +18,6 @@
 
 package org.apache.kylin.rest.service;
 
-import static 
org.apache.kylin.rest.controller2.CubeControllerV2.VALID_CUBENAME;
-
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collections;
@@ -82,6 +80,8 @@ public class CubeService extends BasicService {
 
     private static final Logger logger = 
LoggerFactory.getLogger(CubeService.class);
 
+    public static final char[] VALID_CUBENAME = 
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_".toCharArray();
+
     private WeakHashMap<String, HBaseResponse> htableInfoCache = new 
WeakHashMap<>();
 
     @Autowired

Reply via email to