You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@linkis.apache.org by pe...@apache.org on 2022/06/29 11:28:30 UTC
[incubator-linkis] branch dev-1.2.0 updated: [Feature] Automatically create workspace for newly added users (#2368)
This is an automated email from the ASF dual-hosted git repository.
peacewong pushed a commit to branch dev-1.2.0
in repository https://gitbox.apache.org/repos/asf/incubator-linkis.git
The following commit(s) were added to refs/heads/dev-1.2.0 by this push:
new 713f4c5d7 [Feature] Automatically create workspace for newly added users (#2368)
713f4c5d7 is described below
commit 713f4c5d7aaec168872df03e70f4e2c06b2f329b
Author: Hunter <53...@users.noreply.github.com>
AuthorDate: Wed Jun 29 19:28:24 2022 +0800
[Feature] Automatically create workspace for newly added users (#2368)
* [Feature] Automatically create workspace for newly added users
---
.../linkis/filesystem/conf/WorkSpaceConfiguration.java | 3 +++
.../filesystem/exception/WorkspaceExceptionManager.java | 3 ++-
.../apache/linkis/filesystem/restful/api/FsRestfulApi.java | 13 +++++++++++--
3 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/linkis-public-enhancements/linkis-publicservice/linkis-script-dev/linkis-storage-script-dev-server/src/main/java/org/apache/linkis/filesystem/conf/WorkSpaceConfiguration.java b/linkis-public-enhancements/linkis-publicservice/linkis-script-dev/linkis-storage-script-dev-server/src/main/java/org/apache/linkis/filesystem/conf/WorkSpaceConfiguration.java
index 4eb870e18..ef3e41e63 100644
--- a/linkis-public-enhancements/linkis-publicservice/linkis-script-dev/linkis-storage-script-dev-server/src/main/java/org/apache/linkis/filesystem/conf/WorkSpaceConfiguration.java
+++ b/linkis-public-enhancements/linkis-publicservice/linkis-script-dev/linkis-storage-script-dev-server/src/main/java/org/apache/linkis/filesystem/conf/WorkSpaceConfiguration.java
@@ -55,6 +55,9 @@ public class WorkSpaceConfiguration {
public static final CommonVars<Boolean> FILESYSTEM_PATH_CHECK_OWNER =
CommonVars$.MODULE$.apply("wds.linkis.workspace.filesystem.owner.check", false);
+ public static final CommonVars<Boolean> FILESYSTEM_PATH_AUTO_CREATE =
+ CommonVars$.MODULE$.apply("linkis.workspace.filesystem.auto.create", false);
+
public static final ExecutorService executorService =
new ThreadPoolExecutor(
FILESYSTEM_FS_THREAD_NUM.getValue(),
diff --git a/linkis-public-enhancements/linkis-publicservice/linkis-script-dev/linkis-storage-script-dev-server/src/main/java/org/apache/linkis/filesystem/exception/WorkspaceExceptionManager.java b/linkis-public-enhancements/linkis-publicservice/linkis-script-dev/linkis-storage-script-dev-server/src/main/java/org/apache/linkis/filesystem/exception/WorkspaceExceptionManager.java
index e6d27c9e0..4efa2d384 100644
--- a/linkis-public-enhancements/linkis-publicservice/linkis-script-dev/linkis-storage-script-dev-server/src/main/java/org/apache/linkis/filesystem/exception/WorkspaceExceptionManager.java
+++ b/linkis-public-enhancements/linkis-publicservice/linkis-script-dev/linkis-storage-script-dev-server/src/main/java/org/apache/linkis/filesystem/exception/WorkspaceExceptionManager.java
@@ -22,7 +22,7 @@ import java.util.Map;
public class WorkspaceExceptionManager {
- private static Map<String, String> desc =
+ private static final Map<String, String> desc =
new HashMap<String, String>(32) {
{
put(
@@ -66,6 +66,7 @@ public class WorkspaceExceptionManager {
put("80024", "非table类型的结果集不能下载为excel");
put("80028", "the path exist special char");
put("80029", "empty dir!");
+ put("80030", "Failed to create user path");
}
};
diff --git a/linkis-public-enhancements/linkis-publicservice/linkis-script-dev/linkis-storage-script-dev-server/src/main/java/org/apache/linkis/filesystem/restful/api/FsRestfulApi.java b/linkis-public-enhancements/linkis-publicservice/linkis-script-dev/linkis-storage-script-dev-server/src/main/java/org/apache/linkis/filesystem/restful/api/FsRestfulApi.java
index b2e69a5f3..382c28807 100644
--- a/linkis-public-enhancements/linkis-publicservice/linkis-script-dev/linkis-storage-script-dev-server/src/main/java/org/apache/linkis/filesystem/restful/api/FsRestfulApi.java
+++ b/linkis-public-enhancements/linkis-publicservice/linkis-script-dev/linkis-storage-script-dev-server/src/main/java/org/apache/linkis/filesystem/restful/api/FsRestfulApi.java
@@ -104,8 +104,7 @@ public class FsRestfulApi {
LOGGER.debug("workspacePath:" + workspacePath);
LOGGER.debug("enginconnPath:" + enginconnPath);
LOGGER.debug("adminUser:" + WorkSpaceConfiguration.FILESYSTEM_LOG_ADMIN.getValue());
- return (requestPath.indexOf(workspacePath) > -1)
- || (requestPath.indexOf(enginconnPath) > -1);
+ return (requestPath.contains(workspacePath)) || (requestPath.contains(enginconnPath));
}
@RequestMapping(path = "/getUserRootPath", method = RequestMethod.GET)
@@ -130,6 +129,16 @@ public class FsRestfulApi {
FsPath fsPath = new FsPath(path);
FileSystem fileSystem = fsService.getFileSystem(userName, fsPath);
if (!fileSystem.exists(fsPath)) {
+
+ if (FILESYSTEM_PATH_AUTO_CREATE.getValue()) {
+ try {
+ fileSystem.mkdirs(fsPath);
+ return Message.ok().data(String.format("user%sRootPath", returnType), path);
+ } catch (IOException e) {
+ LOGGER.error(e.getMessage(), e);
+ throw WorkspaceExceptionManager.createException(80030);
+ }
+ }
throw WorkspaceExceptionManager.createException(80003);
}
return Message.ok().data(String.format("user%sRootPath", returnType), path);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@linkis.apache.org
For additional commands, e-mail: commits-help@linkis.apache.org