Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
pentaLiker
DolphinScheduler
提交
442f9354
DolphinScheduler
项目概览
pentaLiker
/
DolphinScheduler
与 Fork 源项目一致
Fork自
apache / DolphinScheduler
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
DolphinScheduler
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
442f9354
编写于
6月 01, 2022
作者:
E
Eric Gao
提交者:
GitHub
6月 01, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[Bug][Api-Server]Fix bug when user without tenant uploads file in resource center (#10303)
上级
3f2a2129
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
31 addition
and
3 deletion
+31
-3
docs/docs/en/guide/resource/file-manage.md
docs/docs/en/guide/resource/file-manage.md
+5
-1
docs/docs/zh/guide/resource/file-manage.md
docs/docs/zh/guide/resource/file-manage.md
+4
-0
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ResourcesServiceImpl.java
...lphinscheduler/api/service/impl/ResourcesServiceImpl.java
+6
-0
dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/ResourcesServiceTest.java
...he/dolphinscheduler/api/service/ResourcesServiceTest.java
+16
-2
未找到文件。
docs/docs/en/guide/resource/file-manage.md
浏览文件 @
442f9354
...
@@ -4,7 +4,11 @@ When third party jars are used in the scheduling process or user defined scripts
...
@@ -4,7 +4,11 @@ When third party jars are used in the scheduling process or user defined scripts
![
file-manage
](
/img/new_ui/dev/resource/file-manage.png
)
![
file-manage
](
/img/new_ui/dev/resource/file-manage.png
)
## Basic Operator
> **_Note:_**
>
> * When you manage files as `admin`, remember to set up `tenant` for `admin` first.
## Basic Operations
### Create a File
### Create a File
...
...
docs/docs/zh/guide/resource/file-manage.md
浏览文件 @
442f9354
...
@@ -2,6 +2,10 @@
...
@@ -2,6 +2,10 @@
当在调度过程中需要使用到第三方的 jar 或者用户需要自定义脚本的情况,可以通过在该页面完成相关操作。可创建的文件类型包括:
`txt/log/sh/conf/py/java`
等。并且可以对文件进行编辑、重命名、下载和删除等操作。
当在调度过程中需要使用到第三方的 jar 或者用户需要自定义脚本的情况,可以通过在该页面完成相关操作。可创建的文件类型包括:
`txt/log/sh/conf/py/java`
等。并且可以对文件进行编辑、重命名、下载和删除等操作。
> **_注意:_**
>
> * 当您以`admin`身份等入并操作文件时,需要先给`admin`设置租户
## 基础操作
## 基础操作
![
file-manage
](
/img/new_ui/dev/resource/file-manage.png
)
![
file-manage
](
/img/new_ui/dev/resource/file-manage.png
)
...
...
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ResourcesServiceImpl.java
浏览文件 @
442f9354
...
@@ -238,6 +238,12 @@ public class ResourcesServiceImpl extends BaseServiceImpl implements ResourcesSe
...
@@ -238,6 +238,12 @@ public class ResourcesServiceImpl extends BaseServiceImpl implements ResourcesSe
return
result
;
return
result
;
}
}
// make sure login user has tenant
String
tenantCode
=
getTenantCode
(
loginUser
.
getId
(),
result
);
if
(
StringUtils
.
isEmpty
(
tenantCode
))
{
return
result
;
}
result
=
verifyFile
(
name
,
type
,
file
);
result
=
verifyFile
(
name
,
type
,
file
);
if
(!
result
.
getCode
().
equals
(
Status
.
SUCCESS
.
getCode
()))
{
if
(!
result
.
getCode
().
equals
(
Status
.
SUCCESS
.
getCode
()))
{
return
result
;
return
result
;
...
...
dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/ResourcesServiceTest.java
浏览文件 @
442f9354
...
@@ -144,13 +144,27 @@ public class ResourcesServiceTest {
...
@@ -144,13 +144,27 @@ public class ResourcesServiceTest {
User
user
=
new
User
();
User
user
=
new
User
();
user
.
setId
(
1
);
user
.
setId
(
1
);
user
.
setUserType
(
UserType
.
GENERAL_USER
);
user
.
setUserType
(
UserType
.
GENERAL_USER
);
//CURRENT_LOGIN_USER_TENANT_NOT_EXIST
MockMultipartFile
mockMultipartFile
=
new
MockMultipartFile
(
"test.pdf"
,
"test.pdf"
,
"pdf"
,
"test"
.
getBytes
());
PowerMockito
.
when
(
PropertyUtils
.
getResUploadStartupState
()).
thenReturn
(
true
);
Mockito
.
when
(
userMapper
.
selectById
(
1
)).
thenReturn
(
getUser
());
Mockito
.
when
(
tenantMapper
.
queryById
(
1
)).
thenReturn
(
null
);
Result
result
=
resourcesService
.
createResource
(
user
,
"ResourcesServiceTest"
,
"ResourcesServiceTest"
,
ResourceType
.
FILE
,
mockMultipartFile
,
-
1
,
"/"
);
logger
.
info
(
result
.
toString
());
Assert
.
assertEquals
(
Status
.
CURRENT_LOGIN_USER_TENANT_NOT_EXIST
.
getMsg
(),
result
.
getMsg
());
//set tenant for user
user
.
setTenantId
(
1
);
Mockito
.
when
(
tenantMapper
.
queryById
(
1
)).
thenReturn
(
getTenant
());
//HDFS_NOT_STARTUP
//HDFS_NOT_STARTUP
Result
result
=
resourcesService
.
createResource
(
user
,
"ResourcesServiceTest"
,
"ResourcesServiceTest"
,
ResourceType
.
FILE
,
null
,
-
1
,
"/"
);
PowerMockito
.
when
(
PropertyUtils
.
getResUploadStartupState
()).
thenReturn
(
false
);
result
=
resourcesService
.
createResource
(
user
,
"ResourcesServiceTest"
,
"ResourcesServiceTest"
,
ResourceType
.
FILE
,
null
,
-
1
,
"/"
);
logger
.
info
(
result
.
toString
());
logger
.
info
(
result
.
toString
());
Assert
.
assertEquals
(
Status
.
STORAGE_NOT_STARTUP
.
getMsg
(),
result
.
getMsg
());
Assert
.
assertEquals
(
Status
.
STORAGE_NOT_STARTUP
.
getMsg
(),
result
.
getMsg
());
//RESOURCE_FILE_IS_EMPTY
//RESOURCE_FILE_IS_EMPTY
MockMultipartFile
mockMultipartFile
=
new
MockMultipartFile
(
"test.pdf"
,
""
.
getBytes
());
mockMultipartFile
=
new
MockMultipartFile
(
"test.pdf"
,
""
.
getBytes
());
PowerMockito
.
when
(
PropertyUtils
.
getResUploadStartupState
()).
thenReturn
(
true
);
PowerMockito
.
when
(
PropertyUtils
.
getResUploadStartupState
()).
thenReturn
(
true
);
result
=
resourcesService
.
createResource
(
user
,
"ResourcesServiceTest"
,
"ResourcesServiceTest"
,
ResourceType
.
FILE
,
mockMultipartFile
,
-
1
,
"/"
);
result
=
resourcesService
.
createResource
(
user
,
"ResourcesServiceTest"
,
"ResourcesServiceTest"
,
ResourceType
.
FILE
,
mockMultipartFile
,
-
1
,
"/"
);
logger
.
info
(
result
.
toString
());
logger
.
info
(
result
.
toString
());
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录