Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
apache
DolphinScheduler
提交
8b4eb20b
DolphinScheduler
项目概览
apache
/
DolphinScheduler
上一次同步 1 年多
通知
705
Star
9572
Fork
3514
代码
文件
提交
分支
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 搜索 >>
未验证
提交
8b4eb20b
编写于
4月 15, 2020
作者:
L
lgcareer
提交者:
GitHub
4月 15, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix NPE when grant resource or save process definition (#2434)
Co-authored-by:
N
dailidong
<
dailidong66@gmail.com
>
上级
347f05f0
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
28 addition
and
19 deletion
+28
-19
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ProcessDefinitionService.java
...olphinscheduler/api/service/ProcessDefinitionService.java
+4
-2
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/UsersService.java
...org/apache/dolphinscheduler/api/service/UsersService.java
+14
-7
sql/upgrade/1.2.2_schema/mysql/dolphinscheduler_ddl.sql
sql/upgrade/1.2.2_schema/mysql/dolphinscheduler_ddl.sql
+5
-5
sql/upgrade/1.2.2_schema/postgresql/dolphinscheduler_ddl.sql
sql/upgrade/1.2.2_schema/postgresql/dolphinscheduler_ddl.sql
+5
-5
未找到文件。
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ProcessDefinitionService.java
浏览文件 @
8b4eb20b
...
...
@@ -173,8 +173,10 @@ public class ProcessDefinitionService extends BaseDAGService {
for
(
TaskNode
taskNode
:
tasks
){
String
taskParameter
=
taskNode
.
getParams
();
AbstractParameters
params
=
TaskParametersUtils
.
getParameters
(
taskNode
.
getType
(),
taskParameter
);
Set
<
Integer
>
tempSet
=
params
.
getResourceFilesList
().
stream
().
map
(
t
->
t
.
getId
()).
collect
(
Collectors
.
toSet
());
resourceIds
.
addAll
(
tempSet
);
if
(
CollectionUtils
.
isNotEmpty
(
params
.
getResourceFilesList
()))
{
Set
<
Integer
>
tempSet
=
params
.
getResourceFilesList
().
stream
().
map
(
t
->
t
.
getId
()).
collect
(
Collectors
.
toSet
());
resourceIds
.
addAll
(
tempSet
);
}
}
StringBuilder
sb
=
new
StringBuilder
();
...
...
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/UsersService.java
浏览文件 @
8b4eb20b
...
...
@@ -423,6 +423,7 @@ public class UsersService extends BaseService {
* @param projectIds project id array
* @return grant result code
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Map
<
String
,
Object
>
grantProject
(
User
loginUser
,
int
userId
,
String
projectIds
)
{
Map
<
String
,
Object
>
result
=
new
HashMap
<>(
5
);
result
.
put
(
Constants
.
STATUS
,
false
);
...
...
@@ -472,6 +473,7 @@ public class UsersService extends BaseService {
* @param resourceIds resource id array
* @return grant result code
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Map
<
String
,
Object
>
grantResources
(
User
loginUser
,
int
userId
,
String
resourceIds
)
{
Map
<
String
,
Object
>
result
=
new
HashMap
<>(
5
);
//only admin can operate
...
...
@@ -484,17 +486,20 @@ public class UsersService extends BaseService {
return
result
;
}
String
[]
resourceFullIdArr
=
resourceIds
.
split
(
","
);
// need authorize resource id set
Set
<
Integer
>
needAuthorizeResIds
=
new
HashSet
();
for
(
String
resourceFullId
:
resourceFullIdArr
)
{
String
[]
resourceIdArr
=
resourceFullId
.
split
(
"-"
);
for
(
int
i
=
0
;
i
<=
resourceIdArr
.
length
-
1
;
i
++)
{
int
resourceIdValue
=
Integer
.
parseInt
(
resourceIdArr
[
i
]);
needAuthorizeResIds
.
add
(
resourceIdValue
);
if
(
StringUtils
.
isNotBlank
(
resourceIds
))
{
String
[]
resourceFullIdArr
=
resourceIds
.
split
(
","
);
// need authorize resource id set
for
(
String
resourceFullId
:
resourceFullIdArr
)
{
String
[]
resourceIdArr
=
resourceFullId
.
split
(
"-"
);
for
(
int
i
=
0
;
i
<=
resourceIdArr
.
length
-
1
;
i
++)
{
int
resourceIdValue
=
Integer
.
parseInt
(
resourceIdArr
[
i
]);
needAuthorizeResIds
.
add
(
resourceIdValue
);
}
}
}
//get the authorized resource id list by user id
List
<
Resource
>
oldAuthorizedRes
=
resourceMapper
.
queryAuthorizedResourceList
(
userId
);
//if resource type is UDF,need check whether it is bound by UDF functon
...
...
@@ -565,6 +570,7 @@ public class UsersService extends BaseService {
* @param udfIds udf id array
* @return grant result code
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Map
<
String
,
Object
>
grantUDFFunction
(
User
loginUser
,
int
userId
,
String
udfIds
)
{
Map
<
String
,
Object
>
result
=
new
HashMap
<>(
5
);
...
...
@@ -611,6 +617,7 @@ public class UsersService extends BaseService {
* @param datasourceIds data source id array
* @return grant result code
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Map
<
String
,
Object
>
grantDataSource
(
User
loginUser
,
int
userId
,
String
datasourceIds
)
{
Map
<
String
,
Object
>
result
=
new
HashMap
<>(
5
);
result
.
put
(
Constants
.
STATUS
,
false
);
...
...
sql/upgrade/1.2.2_schema/mysql/dolphinscheduler_ddl.sql
浏览文件 @
8b4eb20b
...
...
@@ -167,7 +167,7 @@ CREATE PROCEDURE ac_dolphin_T_t_ds_process_instance_A_worker_group()
AND
TABLE_SCHEMA
=
(
SELECT
DATABASE
())
AND
COLUMN_NAME
=
'worker_group'
)
THEN
ALTER
TABLE
t_ds_process_instance
ADD
`worker_group`
varchar
(
255
)
DEFAULT
''
COMMENT
'worker group'
;
ALTER
TABLE
t_ds_process_instance
ADD
`worker_group`
varchar
(
64
)
DEFAULT
''
COMMENT
'worker group'
;
END
IF
;
END
;
...
...
@@ -207,7 +207,7 @@ CREATE PROCEDURE ac_dolphin_T_t_ds_task_instance_A_worker_group()
AND
TABLE_SCHEMA
=
(
SELECT
DATABASE
())
AND
COLUMN_NAME
=
'worker_group'
)
THEN
ALTER
TABLE
t_ds_task_instance
ADD
`worker_group`
varchar
(
255
)
DEFAULT
''
COMMENT
'worker group'
;
ALTER
TABLE
t_ds_task_instance
ADD
`worker_group`
varchar
(
64
)
DEFAULT
''
COMMENT
'worker group'
;
END
IF
;
END
;
...
...
@@ -247,7 +247,7 @@ CREATE PROCEDURE ac_dolphin_T_t_ds_schedules_A_worker_group()
AND
TABLE_SCHEMA
=
(
SELECT
DATABASE
())
AND
COLUMN_NAME
=
'worker_group'
)
THEN
ALTER
TABLE
t_ds_schedules
ADD
`worker_group`
varchar
(
255
)
DEFAULT
''
COMMENT
'worker group'
;
ALTER
TABLE
t_ds_schedules
ADD
`worker_group`
varchar
(
64
)
DEFAULT
''
COMMENT
'worker group'
;
END
IF
;
END
;
...
...
@@ -287,7 +287,7 @@ CREATE PROCEDURE ac_dolphin_T_t_ds_command_A_worker_group()
AND
TABLE_SCHEMA
=
(
SELECT
DATABASE
())
AND
COLUMN_NAME
=
'worker_group'
)
THEN
ALTER
TABLE
t_ds_command
ADD
`worker_group`
varchar
(
255
)
DEFAULT
''
COMMENT
'worker group'
;
ALTER
TABLE
t_ds_command
ADD
`worker_group`
varchar
(
64
)
DEFAULT
''
COMMENT
'worker group'
;
END
IF
;
END
;
...
...
@@ -327,7 +327,7 @@ CREATE PROCEDURE ac_dolphin_T_t_ds_error_command_A_worker_group()
AND
TABLE_SCHEMA
=
(
SELECT
DATABASE
())
AND
COLUMN_NAME
=
'worker_group'
)
THEN
ALTER
TABLE
t_ds_error_command
ADD
`worker_group`
varchar
(
255
)
DEFAULT
''
COMMENT
'worker group'
;
ALTER
TABLE
t_ds_error_command
ADD
`worker_group`
varchar
(
64
)
DEFAULT
''
COMMENT
'worker group'
;
END
IF
;
END
;
...
...
sql/upgrade/1.2.2_schema/postgresql/dolphinscheduler_ddl.sql
浏览文件 @
8b4eb20b
...
...
@@ -164,7 +164,7 @@ BEGIN
AND
TABLE_NAME
=
't_ds_process_instance'
AND
COLUMN_NAME
=
'worker_group'
)
THEN
ALTER
TABLE
t_ds_process_instance
ADD
COLUMN
worker_group
varchar
(
255
)
DEFAULT
null
;
ALTER
TABLE
t_ds_process_instance
ADD
COLUMN
worker_group
varchar
(
64
)
DEFAULT
null
;
END
IF
;
END
;
$$
LANGUAGE
plpgsql
;
...
...
@@ -207,7 +207,7 @@ BEGIN
AND
TABLE_NAME
=
't_ds_task_instance'
AND
COLUMN_NAME
=
'worker_group'
)
THEN
ALTER
TABLE
t_ds_task_instance
ADD
COLUMN
worker_group
varchar
(
255
)
DEFAULT
null
;
ALTER
TABLE
t_ds_task_instance
ADD
COLUMN
worker_group
varchar
(
64
)
DEFAULT
null
;
END
IF
;
END
;
$$
LANGUAGE
plpgsql
;
...
...
@@ -249,7 +249,7 @@ BEGIN
AND
TABLE_NAME
=
't_ds_schedules'
AND
COLUMN_NAME
=
'worker_group'
)
THEN
ALTER
TABLE
t_ds_schedules
ADD
COLUMN
worker_group
varchar
(
255
)
DEFAULT
null
;
ALTER
TABLE
t_ds_schedules
ADD
COLUMN
worker_group
varchar
(
64
)
DEFAULT
null
;
END
IF
;
END
;
$$
LANGUAGE
plpgsql
;
...
...
@@ -291,7 +291,7 @@ BEGIN
AND
TABLE_NAME
=
't_ds_command'
AND
COLUMN_NAME
=
'worker_group'
)
THEN
ALTER
TABLE
t_ds_command
ADD
COLUMN
worker_group
varchar
(
255
)
DEFAULT
null
;
ALTER
TABLE
t_ds_command
ADD
COLUMN
worker_group
varchar
(
64
)
DEFAULT
null
;
END
IF
;
END
;
$$
LANGUAGE
plpgsql
;
...
...
@@ -333,7 +333,7 @@ BEGIN
AND
TABLE_NAME
=
't_ds_error_command'
AND
COLUMN_NAME
=
'worker_group'
)
THEN
ALTER
TABLE
t_ds_error_command
ADD
COLUMN
worker_group
varchar
(
255
)
DEFAULT
null
;
ALTER
TABLE
t_ds_error_command
ADD
COLUMN
worker_group
varchar
(
64
)
DEFAULT
null
;
END
IF
;
END
;
$$
LANGUAGE
plpgsql
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录