Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
pentaLiker
DolphinScheduler
提交
e2775c0d
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,发现更多精彩内容 >>
未验证
提交
e2775c0d
编写于
4月 17, 2020
作者:
R
Rubik-W
提交者:
GitHub
4月 17, 2020
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'dev' into fixbug-#2439
上级
5ccd742a
4769bce0
变更
20
展开全部
隐藏空白更改
内联
并排
Showing
20 changed file
with
1700 addition
and
2194 deletion
+1700
-2194
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/AlertGroupController.java
...dolphinscheduler/api/controller/AlertGroupController.java
+73
-92
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/DataAnalysisController.java
...lphinscheduler/api/controller/DataAnalysisController.java
+61
-79
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/DataSourceController.java
...dolphinscheduler/api/controller/DataSourceController.java
+144
-196
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ExecutorController.java
...e/dolphinscheduler/api/controller/ExecutorController.java
+72
-85
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/LoggerController.java
...che/dolphinscheduler/api/controller/LoggerController.java
+23
-29
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/LoginController.java
...ache/dolphinscheduler/api/controller/LoginController.java
+41
-50
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/MonitorController.java
...he/dolphinscheduler/api/controller/MonitorController.java
+24
-39
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ProcessDefinitionController.java
...scheduler/api/controller/ProcessDefinitionController.java
+204
-256
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ProcessInstanceController.java
...inscheduler/api/controller/ProcessInstanceController.java
+160
-197
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ProjectController.java
...he/dolphinscheduler/api/controller/ProjectController.java
+70
-106
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/QueueController.java
...ache/dolphinscheduler/api/controller/QueueController.java
+60
-77
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ResourcesController.java
.../dolphinscheduler/api/controller/ResourcesController.java
+308
-407
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/SchedulerController.java
.../dolphinscheduler/api/controller/SchedulerController.java
+102
-136
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/TaskInstanceController.java
...lphinscheduler/api/controller/TaskInstanceController.java
+31
-34
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/TaskRecordController.java
...dolphinscheduler/api/controller/TaskRecordController.java
+41
-49
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/TenantController.java
...che/dolphinscheduler/api/controller/TenantController.java
+75
-99
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/UsersController.java
...ache/dolphinscheduler/api/controller/UsersController.java
+155
-204
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/WorkerGroupController.java
...olphinscheduler/api/controller/WorkerGroupController.java
+42
-58
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/exceptions/ApiExceptionHandler.java
.../dolphinscheduler/api/exceptions/ApiExceptionHandler.java
+2
-1
dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/exceptions/ApiExceptionHandlerTest.java
...phinscheduler/api/exceptions/ApiExceptionHandlerTest.java
+12
-0
未找到文件。
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/AlertGroupController.java
浏览文件 @
e2775c0d
...
...
@@ -16,6 +16,7 @@
*/
package
org.apache.dolphinscheduler.api.controller
;
import
org.apache.dolphinscheduler.api.exceptions.ApiException
;
import
org.apache.dolphinscheduler.api.service.AlertGroupService
;
import
org.apache.dolphinscheduler.api.utils.Result
;
import
org.apache.dolphinscheduler.common.Constants
;
...
...
@@ -37,13 +38,15 @@ import springfox.documentation.annotations.ApiIgnore;
import
java.util.HashMap
;
import
java.util.Map
;
import
static
org
.
apache
.
dolphinscheduler
.
api
.
enums
.
Status
.*;
/**
* alert group controller
*/
@Api
(
tags
=
"ALERT_GROUP_TAG"
,
position
=
1
)
@RestController
@RequestMapping
(
"alert-group"
)
public
class
AlertGroupController
extends
BaseController
{
public
class
AlertGroupController
extends
BaseController
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
AlertGroupController
.
class
);
...
...
@@ -53,171 +56,154 @@ public class AlertGroupController extends BaseController{
/**
* create alert group
* @param loginUser login user
* @param groupName group name
* @param groupType group type
*
* @param loginUser login user
* @param groupName group name
* @param groupType group type
* @param description description
* @return create result code
*/
@ApiOperation
(
value
=
"createAlertgroup"
,
notes
=
"CREATE_ALERT_GROUP_NOTES"
)
@ApiOperation
(
value
=
"createAlertgroup"
,
notes
=
"CREATE_ALERT_GROUP_NOTES"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"groupName"
,
value
=
"GROUP_NAME"
,
required
=
true
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"groupType"
,
value
=
"GROUP_TYPE"
,
required
=
true
,
dataType
=
"AlertType"
),
@ApiImplicitParam
(
name
=
"description"
,
value
=
"DESC"
,
dataType
=
"String"
)
@ApiImplicitParam
(
name
=
"groupType"
,
value
=
"GROUP_TYPE"
,
required
=
true
,
dataType
=
"AlertType"
),
@ApiImplicitParam
(
name
=
"description"
,
value
=
"DESC"
,
dataType
=
"String"
)
})
@PostMapping
(
value
=
"/create"
)
@ResponseStatus
(
HttpStatus
.
CREATED
)
@ApiException
(
CREATE_ALERT_GROUP_ERROR
)
public
Result
createAlertgroup
(
@ApiIgnore
@RequestAttribute
(
value
=
Constants
.
SESSION_USER
)
User
loginUser
,
@RequestParam
(
value
=
"groupName"
)
String
groupName
,
@RequestParam
(
value
=
"groupType"
)
AlertType
groupType
,
@RequestParam
(
value
=
"description"
,
required
=
false
)
String
description
)
{
@RequestParam
(
value
=
"groupName"
)
String
groupName
,
@RequestParam
(
value
=
"groupType"
)
AlertType
groupType
,
@RequestParam
(
value
=
"description"
,
required
=
false
)
String
description
)
{
logger
.
info
(
"loginUser user {}, create alertgroup, groupName: {}, groupType: {}, desc: {}"
,
loginUser
.
getUserName
(),
groupName
,
groupType
,
description
);
try
{
Map
<
String
,
Object
>
result
=
alertGroupService
.
createAlertgroup
(
loginUser
,
groupName
,
groupType
,
description
);
return
returnDataList
(
result
);
}
catch
(
Exception
e
){
logger
.
error
(
Status
.
CREATE_ALERT_GROUP_ERROR
.
getMsg
(),
e
);
return
error
(
Status
.
CREATE_ALERT_GROUP_ERROR
.
getCode
(),
Status
.
CREATE_ALERT_GROUP_ERROR
.
getMsg
());
}
loginUser
.
getUserName
(),
groupName
,
groupType
,
description
);
Map
<
String
,
Object
>
result
=
alertGroupService
.
createAlertgroup
(
loginUser
,
groupName
,
groupType
,
description
);
return
returnDataList
(
result
);
}
/**
* alert group list
*
* @param loginUser login user
* @return alert group list
*/
@ApiOperation
(
value
=
"list"
,
notes
=
"QUERY_ALERT_GROUP_LIST_NOTES"
)
@ApiOperation
(
value
=
"list"
,
notes
=
"QUERY_ALERT_GROUP_LIST_NOTES"
)
@GetMapping
(
value
=
"/list"
)
@ResponseStatus
(
HttpStatus
.
OK
)
@ApiException
(
QUERY_ALL_ALERTGROUP_ERROR
)
public
Result
list
(
@ApiIgnore
@RequestAttribute
(
value
=
Constants
.
SESSION_USER
)
User
loginUser
)
{
logger
.
info
(
"login user {}, query all alertGroup"
,
loginUser
.
getUserName
());
try
{
HashMap
<
String
,
Object
>
result
=
alertGroupService
.
queryAlertgroup
();
return
returnDataList
(
result
);
}
catch
(
Exception
e
)
{
logger
.
error
(
Status
.
QUERY_ALL_ALERTGROUP_ERROR
.
getMsg
(),
e
);
return
error
(
Status
.
QUERY_ALL_ALERTGROUP_ERROR
.
getCode
(),
Status
.
QUERY_ALL_ALERTGROUP_ERROR
.
getMsg
());
}
HashMap
<
String
,
Object
>
result
=
alertGroupService
.
queryAlertgroup
();
return
returnDataList
(
result
);
}
/**
* paging query alarm group list
*
* @param loginUser login user
* @param pageNo page number
* @param pageNo
page number
* @param searchVal search value
* @param pageSize page size
* @param pageSize
page size
* @return alert group list page
*/
@ApiOperation
(
value
=
"queryAlertGroupListPaging"
,
notes
=
"QUERY_ALERT_GROUP_LIST_PAGING_NOTES"
)
@ApiOperation
(
value
=
"queryAlertGroupListPaging"
,
notes
=
"QUERY_ALERT_GROUP_LIST_PAGING_NOTES"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"searchVal"
,
value
=
"SEARCH_VAL"
,
type
=
"String"
),
@ApiImplicitParam
(
name
=
"searchVal"
,
value
=
"SEARCH_VAL"
,
type
=
"String"
),
@ApiImplicitParam
(
name
=
"pageNo"
,
value
=
"PAGE_NO"
,
dataType
=
"Int"
,
example
=
"1"
),
@ApiImplicitParam
(
name
=
"pageSize"
,
value
=
"PAGE_SIZE"
,
dataType
=
"Int"
,
example
=
"20"
)
})
@GetMapping
(
value
=
"/list-paging"
)
@GetMapping
(
value
=
"/list-paging"
)
@ResponseStatus
(
HttpStatus
.
OK
)
@ApiException
(
LIST_PAGING_ALERT_GROUP_ERROR
)
public
Result
listPaging
(
@ApiIgnore
@RequestAttribute
(
value
=
Constants
.
SESSION_USER
)
User
loginUser
,
@RequestParam
(
"pageNo"
)
Integer
pageNo
,
@RequestParam
(
value
=
"searchVal"
,
required
=
false
)
String
searchVal
,
@RequestParam
(
"pageSize"
)
Integer
pageSize
){
@RequestParam
(
"pageSize"
)
Integer
pageSize
)
{
logger
.
info
(
"login user {}, list paging, pageNo: {}, searchVal: {}, pageSize: {}"
,
loginUser
.
getUserName
(),
pageNo
,
searchVal
,
pageSize
);
try
{
Map
<
String
,
Object
>
result
=
checkPageParams
(
pageNo
,
pageSize
);
if
(
result
.
get
(
Constants
.
STATUS
)
!=
Status
.
SUCCESS
){
return
returnDataListPaging
(
result
);
}
searchVal
=
ParameterUtils
.
handleEscapes
(
searchVal
);
result
=
alertGroupService
.
listPaging
(
loginUser
,
searchVal
,
pageNo
,
pageSize
);
loginUser
.
getUserName
(),
pageNo
,
searchVal
,
pageSize
);
Map
<
String
,
Object
>
result
=
checkPageParams
(
pageNo
,
pageSize
);
if
(
result
.
get
(
Constants
.
STATUS
)
!=
Status
.
SUCCESS
)
{
return
returnDataListPaging
(
result
);
}
catch
(
Exception
e
){
logger
.
error
(
Status
.
LIST_PAGING_ALERT_GROUP_ERROR
.
getMsg
(),
e
);
return
error
(
Status
.
LIST_PAGING_ALERT_GROUP_ERROR
.
getCode
(),
Status
.
LIST_PAGING_ALERT_GROUP_ERROR
.
getMsg
());
}
searchVal
=
ParameterUtils
.
handleEscapes
(
searchVal
);
result
=
alertGroupService
.
listPaging
(
loginUser
,
searchVal
,
pageNo
,
pageSize
);
return
returnDataListPaging
(
result
);
}
/**
* updateProcessInstance alert group
* @param loginUser login user
* @param id alert group id
* @param groupName group name
* @param groupType group type
*
* @param loginUser login user
* @param id alert group id
* @param groupName group name
* @param groupType group type
* @param description description
* @return update result code
*/
@ApiOperation
(
value
=
"updateAlertgroup"
,
notes
=
"UPDATE_ALERT_GROUP_NOTES"
)
@ApiOperation
(
value
=
"updateAlertgroup"
,
notes
=
"UPDATE_ALERT_GROUP_NOTES"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"id"
,
value
=
"ALERT_GROUP_ID"
,
required
=
true
,
dataType
=
"Int"
,
example
=
"100"
),
@ApiImplicitParam
(
name
=
"id"
,
value
=
"ALERT_GROUP_ID"
,
required
=
true
,
dataType
=
"Int"
,
example
=
"100"
),
@ApiImplicitParam
(
name
=
"groupName"
,
value
=
"GROUP_NAME"
,
required
=
true
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"groupType"
,
value
=
"GROUP_TYPE"
,
required
=
true
,
dataType
=
"AlertType"
),
@ApiImplicitParam
(
name
=
"description"
,
value
=
"DESC"
,
dataType
=
"String"
)
@ApiImplicitParam
(
name
=
"groupType"
,
value
=
"GROUP_TYPE"
,
required
=
true
,
dataType
=
"AlertType"
),
@ApiImplicitParam
(
name
=
"description"
,
value
=
"DESC"
,
dataType
=
"String"
)
})
@PostMapping
(
value
=
"/update"
)
@ResponseStatus
(
HttpStatus
.
OK
)
@ApiException
(
UPDATE_ALERT_GROUP_ERROR
)
public
Result
updateAlertgroup
(
@ApiIgnore
@RequestAttribute
(
value
=
Constants
.
SESSION_USER
)
User
loginUser
,
@RequestParam
(
value
=
"id"
)
int
id
,
@RequestParam
(
value
=
"groupName"
)
String
groupName
,
@RequestParam
(
value
=
"groupType"
)
AlertType
groupType
,
@RequestParam
(
value
=
"description"
,
required
=
false
)
String
description
)
{
@RequestParam
(
value
=
"description"
,
required
=
false
)
String
description
)
{
logger
.
info
(
"login user {}, updateProcessInstance alertgroup, groupName: {}, groupType: {}, desc: {}"
,
loginUser
.
getUserName
(),
groupName
,
groupType
,
description
);
try
{
Map
<
String
,
Object
>
result
=
alertGroupService
.
updateAlertgroup
(
loginUser
,
id
,
groupName
,
groupType
,
description
);
return
returnDataList
(
result
);
}
catch
(
Exception
e
){
logger
.
error
(
Status
.
UPDATE_ALERT_GROUP_ERROR
.
getMsg
(),
e
);
return
error
(
Status
.
UPDATE_ALERT_GROUP_ERROR
.
getCode
(),
Status
.
UPDATE_ALERT_GROUP_ERROR
.
getMsg
());
}
loginUser
.
getUserName
(),
groupName
,
groupType
,
description
);
Map
<
String
,
Object
>
result
=
alertGroupService
.
updateAlertgroup
(
loginUser
,
id
,
groupName
,
groupType
,
description
);
return
returnDataList
(
result
);
}
/**
* delete alert group by id
*
* @param loginUser login user
* @param id alert group id
* @param id
alert group id
* @return delete result code
*/
@ApiOperation
(
value
=
"delAlertgroupById"
,
notes
=
"DELETE_ALERT_GROUP_BY_ID_NOTES"
)
@ApiOperation
(
value
=
"delAlertgroupById"
,
notes
=
"DELETE_ALERT_GROUP_BY_ID_NOTES"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"id"
,
value
=
"ALERT_GROUP_ID"
,
required
=
true
,
dataType
=
"Int"
,
example
=
"100"
)
@ApiImplicitParam
(
name
=
"id"
,
value
=
"ALERT_GROUP_ID"
,
required
=
true
,
dataType
=
"Int"
,
example
=
"100"
)
})
@PostMapping
(
value
=
"/delete"
)
@ResponseStatus
(
HttpStatus
.
OK
)
@ApiException
(
DELETE_ALERT_GROUP_ERROR
)
public
Result
delAlertgroupById
(
@ApiIgnore
@RequestAttribute
(
value
=
Constants
.
SESSION_USER
)
User
loginUser
,
@RequestParam
(
value
=
"id"
)
int
id
)
{
@RequestParam
(
value
=
"id"
)
int
id
)
{
logger
.
info
(
"login user {}, delete AlertGroup, id: {},"
,
loginUser
.
getUserName
(),
id
);
try
{
Map
<
String
,
Object
>
result
=
alertGroupService
.
delAlertgroupById
(
loginUser
,
id
);
return
returnDataList
(
result
);
}
catch
(
Exception
e
){
logger
.
error
(
Status
.
DELETE_ALERT_GROUP_ERROR
.
getMsg
(),
e
);
return
error
(
Status
.
DELETE_ALERT_GROUP_ERROR
.
getCode
(),
Status
.
DELETE_ALERT_GROUP_ERROR
.
getMsg
());
}
Map
<
String
,
Object
>
result
=
alertGroupService
.
delAlertgroupById
(
loginUser
,
id
);
return
returnDataList
(
result
);
}
/**
* check alert group exist
*
* @param loginUser login user
* @param groupName group name
* @return check result code
*/
@ApiOperation
(
value
=
"verifyGroupName"
,
notes
=
"VERIFY_ALERT_GROUP_NAME_NOTES"
)
@ApiOperation
(
value
=
"verifyGroupName"
,
notes
=
"VERIFY_ALERT_GROUP_NAME_NOTES"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"groupName"
,
value
=
"GROUP_NAME"
,
required
=
true
,
dataType
=
"String"
),
})
@GetMapping
(
value
=
"/verify-group-name"
)
@ResponseStatus
(
HttpStatus
.
OK
)
public
Result
verifyGroupName
(
@ApiIgnore
@RequestAttribute
(
value
=
Constants
.
SESSION_USER
)
User
loginUser
,
@RequestParam
(
value
=
"groupName"
)
String
groupName
)
{
@RequestParam
(
value
=
"groupName"
)
String
groupName
)
{
logger
.
info
(
"login user {}, verify group name: {}"
,
loginUser
.
getUserName
(),
groupName
);
boolean
exist
=
alertGroupService
.
existGroupName
(
groupName
);
boolean
exist
=
alertGroupService
.
existGroupName
(
groupName
);
Result
result
=
new
Result
();
if
(
exist
)
{
logger
.
error
(
"group {} has exist, can't create again."
,
groupName
);
...
...
@@ -233,29 +219,24 @@ public class AlertGroupController extends BaseController{
/**
* grant user
*
* @param loginUser login user
* @param userIds user ids in the group
* @param loginUser
login user
* @param userIds
user ids in the group
* @param alertgroupId alert group id
* @return grant result code
*/
@ApiOperation
(
value
=
"grantUser"
,
notes
=
"GRANT_ALERT_GROUP_NOTES"
)
@ApiOperation
(
value
=
"grantUser"
,
notes
=
"GRANT_ALERT_GROUP_NOTES"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"id"
,
value
=
"ALERT_GROUP_ID"
,
required
=
true
,
dataType
=
"Int"
,
example
=
"100"
),
@ApiImplicitParam
(
name
=
"id"
,
value
=
"ALERT_GROUP_ID"
,
required
=
true
,
dataType
=
"Int"
,
example
=
"100"
),
@ApiImplicitParam
(
name
=
"userIds"
,
value
=
"USER_IDS"
,
required
=
true
,
dataType
=
"String"
)
})
@PostMapping
(
value
=
"/grant-user"
)
@ResponseStatus
(
HttpStatus
.
OK
)
@ApiException
(
ALERT_GROUP_GRANT_USER_ERROR
)
public
Result
grantUser
(
@ApiIgnore
@RequestAttribute
(
value
=
Constants
.
SESSION_USER
)
User
loginUser
,
@RequestParam
(
value
=
"alertgroupId"
)
int
alertgroupId
,
@RequestParam
(
value
=
"userIds"
)
String
userIds
)
{
logger
.
info
(
"login user {}, grant user, alertGroupId: {},userIds : {}"
,
loginUser
.
getUserName
(),
alertgroupId
,
userIds
);
try
{
Map
<
String
,
Object
>
result
=
alertGroupService
.
grantUser
(
loginUser
,
alertgroupId
,
userIds
);
return
returnDataList
(
result
);
}
catch
(
Exception
e
){
logger
.
error
(
Status
.
ALERT_GROUP_GRANT_USER_ERROR
.
getMsg
(),
e
);
return
error
(
Status
.
ALERT_GROUP_GRANT_USER_ERROR
.
getCode
(),
Status
.
ALERT_GROUP_GRANT_USER_ERROR
.
getMsg
());
}
@RequestParam
(
value
=
"alertgroupId"
)
int
alertgroupId
,
@RequestParam
(
value
=
"userIds"
)
String
userIds
)
{
logger
.
info
(
"login user {}, grant user, alertGroupId: {},userIds : {}"
,
loginUser
.
getUserName
(),
alertgroupId
,
userIds
);
Map
<
String
,
Object
>
result
=
alertGroupService
.
grantUser
(
loginUser
,
alertgroupId
,
userIds
);
return
returnDataList
(
result
);
}
}
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/DataAnalysisController.java
浏览文件 @
e2775c0d
...
...
@@ -17,6 +17,7 @@
package
org.apache.dolphinscheduler.api.controller
;
import
org.apache.dolphinscheduler.api.exceptions.ApiException
;
import
org.apache.dolphinscheduler.api.service.DataAnalysisService
;
import
org.apache.dolphinscheduler.api.utils.Result
;
import
org.apache.dolphinscheduler.common.Constants
;
...
...
@@ -25,7 +26,6 @@ import io.swagger.annotations.Api;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
org.apache.dolphinscheduler.api.enums.Status
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -35,13 +35,15 @@ import springfox.documentation.annotations.ApiIgnore;
import
java.util.Map
;
import
static
org
.
apache
.
dolphinscheduler
.
api
.
enums
.
Status
.*;
/**
* data analysis controller
*/
@Api
(
tags
=
"DATA_ANALYSIS_TAG"
,
position
=
1
)
@RestController
@RequestMapping
(
"projects/analysis"
)
public
class
DataAnalysisController
extends
BaseController
{
public
class
DataAnalysisController
extends
BaseController
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
DataAnalysisController
.
class
);
...
...
@@ -54,31 +56,27 @@ public class DataAnalysisController extends BaseController{
*
* @param loginUser login user
* @param startDate count start date
* @param endDate count end date
* @param endDate
count end date
* @param projectId project id
* @return task instance count data
*/
@ApiOperation
(
value
=
"countTaskState"
,
notes
=
"COUNT_TASK_STATE_NOTES"
)
@ApiOperation
(
value
=
"countTaskState"
,
notes
=
"COUNT_TASK_STATE_NOTES"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"startDate"
,
value
=
"START_DATE"
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"endDate"
,
value
=
"END_DATE"
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"projectId"
,
value
=
"PROJECT_ID"
,
dataType
=
"Int"
,
example
=
"100"
)
@ApiImplicitParam
(
name
=
"endDate"
,
value
=
"END_DATE"
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"projectId"
,
value
=
"PROJECT_ID"
,
dataType
=
"Int"
,
example
=
"100"
)
})
@GetMapping
(
value
=
"/task-state-count"
)
@GetMapping
(
value
=
"/task-state-count"
)
@ResponseStatus
(
HttpStatus
.
OK
)
@ApiException
(
TASK_INSTANCE_STATE_COUNT_ERROR
)
public
Result
countTaskState
(
@ApiIgnore
@RequestAttribute
(
value
=
Constants
.
SESSION_USER
)
User
loginUser
,
@RequestParam
(
value
=
"startDate"
,
required
=
false
)
String
startDate
,
@RequestParam
(
value
=
"endDate"
,
required
=
false
)
String
endDate
,
@RequestParam
(
value
=
"projectId"
,
required
=
false
,
defaultValue
=
"0"
)
int
projectId
){
try
{
logger
.
info
(
"count task state, user:{}, start date: {}, end date:{}, project id {}"
,
loginUser
.
getUserName
(),
startDate
,
endDate
,
projectId
);
Map
<
String
,
Object
>
result
=
dataAnalysisService
.
countTaskStateByProject
(
loginUser
,
projectId
,
startDate
,
endDate
);
return
returnDataList
(
result
);
}
catch
(
Exception
e
){
logger
.
error
(
Status
.
TASK_INSTANCE_STATE_COUNT_ERROR
.
getMsg
(),
e
);
return
error
(
Status
.
TASK_INSTANCE_STATE_COUNT_ERROR
.
getCode
(),
Status
.
TASK_INSTANCE_STATE_COUNT_ERROR
.
getMsg
());
}
@RequestParam
(
value
=
"startDate"
,
required
=
false
)
String
startDate
,
@RequestParam
(
value
=
"endDate"
,
required
=
false
)
String
endDate
,
@RequestParam
(
value
=
"projectId"
,
required
=
false
,
defaultValue
=
"0"
)
int
projectId
)
{
logger
.
info
(
"count task state, user:{}, start date: {}, end date:{}, project id {}"
,
loginUser
.
getUserName
(),
startDate
,
endDate
,
projectId
);
Map
<
String
,
Object
>
result
=
dataAnalysisService
.
countTaskStateByProject
(
loginUser
,
projectId
,
startDate
,
endDate
);
return
returnDataList
(
result
);
}
/**
...
...
@@ -86,31 +84,27 @@ public class DataAnalysisController extends BaseController{
*
* @param loginUser login user
* @param startDate start date
* @param endDate end date
* @param endDate
end date
* @param projectId project id
* @return process instance data
*/
@ApiOperation
(
value
=
"countProcessInstanceState"
,
notes
=
"COUNT_PROCESS_INSTANCE_NOTES"
)
@ApiOperation
(
value
=
"countProcessInstanceState"
,
notes
=
"COUNT_PROCESS_INSTANCE_NOTES"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"startDate"
,
value
=
"START_DATE"
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"endDate"
,
value
=
"END_DATE"
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"projectId"
,
value
=
"PROJECT_ID"
,
dataType
=
"Int"
,
example
=
"100"
)
@ApiImplicitParam
(
name
=
"endDate"
,
value
=
"END_DATE"
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"projectId"
,
value
=
"PROJECT_ID"
,
dataType
=
"Int"
,
example
=
"100"
)
})
@GetMapping
(
value
=
"/process-state-count"
)
@GetMapping
(
value
=
"/process-state-count"
)
@ResponseStatus
(
HttpStatus
.
OK
)
@ApiException
(
COUNT_PROCESS_INSTANCE_STATE_ERROR
)
public
Result
countProcessInstanceState
(
@ApiIgnore
@RequestAttribute
(
value
=
Constants
.
SESSION_USER
)
User
loginUser
,
@RequestParam
(
value
=
"startDate"
,
required
=
false
)
String
startDate
,
@RequestParam
(
value
=
"endDate"
,
required
=
false
)
String
endDate
,
@RequestParam
(
value
=
"projectId"
,
required
=
false
,
defaultValue
=
"0"
)
int
projectId
){
try
{
logger
.
info
(
"count process instance state, user:{}, start date: {}, end date:{}, project id:{}"
,
loginUser
.
getUserName
(),
startDate
,
endDate
,
projectId
);
Map
<
String
,
Object
>
result
=
dataAnalysisService
.
countProcessInstanceStateByProject
(
loginUser
,
projectId
,
startDate
,
endDate
);
return
returnDataList
(
result
);
}
catch
(
Exception
e
){
logger
.
error
(
Status
.
COUNT_PROCESS_INSTANCE_STATE_ERROR
.
getMsg
(),
e
);
return
error
(
Status
.
COUNT_PROCESS_INSTANCE_STATE_ERROR
.
getCode
(),
Status
.
COUNT_PROCESS_INSTANCE_STATE_ERROR
.
getMsg
());
}
@RequestParam
(
value
=
"startDate"
,
required
=
false
)
String
startDate
,
@RequestParam
(
value
=
"endDate"
,
required
=
false
)
String
endDate
,
@RequestParam
(
value
=
"projectId"
,
required
=
false
,
defaultValue
=
"0"
)
int
projectId
)
{
logger
.
info
(
"count process instance state, user:{}, start date: {}, end date:{}, project id:{}"
,
loginUser
.
getUserName
(),
startDate
,
endDate
,
projectId
);
Map
<
String
,
Object
>
result
=
dataAnalysisService
.
countProcessInstanceStateByProject
(
loginUser
,
projectId
,
startDate
,
endDate
);
return
returnDataList
(
result
);
}
/**
...
...
@@ -120,23 +114,19 @@ public class DataAnalysisController extends BaseController{
* @param projectId project id
* @return definition count in project id
*/
@ApiOperation
(
value
=
"countDefinitionByUser"
,
notes
=
"COUNT_PROCESS_DEFINITION_BY_USER_NOTES"
)
@ApiOperation
(
value
=
"countDefinitionByUser"
,
notes
=
"COUNT_PROCESS_DEFINITION_BY_USER_NOTES"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"projectId"
,
value
=
"PROJECT_ID"
,
dataType
=
"Int"
,
example
=
"100"
)
@ApiImplicitParam
(
name
=
"projectId"
,
value
=
"PROJECT_ID"
,
dataType
=
"Int"
,
example
=
"100"
)
})
@GetMapping
(
value
=
"/define-user-count"
)
@GetMapping
(
value
=
"/define-user-count"
)
@ResponseStatus
(
HttpStatus
.
OK
)
@ApiException
(
COUNT_PROCESS_DEFINITION_USER_ERROR
)
public
Result
countDefinitionByUser
(
@ApiIgnore
@RequestAttribute
(
value
=
Constants
.
SESSION_USER
)
User
loginUser
,
@RequestParam
(
value
=
"projectId"
,
required
=
false
,
defaultValue
=
"0"
)
int
projectId
){
try
{
logger
.
info
(
"count process definition , user:{}, project id:{}"
,
loginUser
.
getUserName
(),
projectId
);
Map
<
String
,
Object
>
result
=
dataAnalysisService
.
countDefinitionByUser
(
loginUser
,
projectId
);
return
returnDataList
(
result
);
}
catch
(
Exception
e
){
logger
.
error
(
Status
.
COUNT_PROCESS_DEFINITION_USER_ERROR
.
getMsg
(),
e
);
return
error
(
Status
.
COUNT_PROCESS_DEFINITION_USER_ERROR
.
getCode
(),
Status
.
COUNT_PROCESS_DEFINITION_USER_ERROR
.
getMsg
());
}
@RequestParam
(
value
=
"projectId"
,
required
=
false
,
defaultValue
=
"0"
)
int
projectId
)
{
logger
.
info
(
"count process definition , user:{}, project id:{}"
,
loginUser
.
getUserName
(),
projectId
);
Map
<
String
,
Object
>
result
=
dataAnalysisService
.
countDefinitionByUser
(
loginUser
,
projectId
);
return
returnDataList
(
result
);
}
...
...
@@ -145,31 +135,27 @@ public class DataAnalysisController extends BaseController{
*
* @param loginUser login user
* @param startDate start date
* @param endDate end date
* @param endDate
end date
* @param projectId project id
* @return command state in project id
*/
@ApiOperation
(
value
=
"countCommandState"
,
notes
=
"COUNT_COMMAND_STATE_NOTES"
)
@ApiOperation
(
value
=
"countCommandState"
,
notes
=
"COUNT_COMMAND_STATE_NOTES"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"startDate"
,
value
=
"START_DATE"
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"endDate"
,
value
=
"END_DATE"
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"projectId"
,
value
=
"PROJECT_ID"
,
dataType
=
"Int"
,
example
=
"100"
)
@ApiImplicitParam
(
name
=
"endDate"
,
value
=
"END_DATE"
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"projectId"
,
value
=
"PROJECT_ID"
,
dataType
=
"Int"
,
example
=
"100"
)
})
@GetMapping
(
value
=
"/command-state-count"
)
@GetMapping
(
value
=
"/command-state-count"
)
@ResponseStatus
(
HttpStatus
.
OK
)
@ApiException
(
COMMAND_STATE_COUNT_ERROR
)
public
Result
countCommandState
(
@ApiIgnore
@RequestAttribute
(
value
=
Constants
.
SESSION_USER
)
User
loginUser
,
@RequestParam
(
value
=
"startDate"
,
required
=
false
)
String
startDate
,
@RequestParam
(
value
=
"endDate"
,
required
=
false
)
String
endDate
,
@RequestParam
(
value
=
"projectId"
,
required
=
false
,
defaultValue
=
"0"
)
int
projectId
){
try
{
logger
.
info
(
"count command state, user:{}, start date: {}, end date:{}, project id {}"
,
loginUser
.
getUserName
(),
startDate
,
endDate
,
projectId
);
Map
<
String
,
Object
>
result
=
dataAnalysisService
.
countCommandState
(
loginUser
,
projectId
,
startDate
,
endDate
);
return
returnDataList
(
result
);
}
catch
(
Exception
e
){
logger
.
error
(
Status
.
COMMAND_STATE_COUNT_ERROR
.
getMsg
(),
e
);
return
error
(
Status
.
COMMAND_STATE_COUNT_ERROR
.
getCode
(),
Status
.
COMMAND_STATE_COUNT_ERROR
.
getMsg
());
}
@RequestParam
(
value
=
"startDate"
,
required
=
false
)
String
startDate
,
@RequestParam
(
value
=
"endDate"
,
required
=
false
)
String
endDate
,
@RequestParam
(
value
=
"projectId"
,
required
=
false
,
defaultValue
=
"0"
)
int
projectId
)
{
logger
.
info
(
"count command state, user:{}, start date: {}, end date:{}, project id {}"
,
loginUser
.
getUserName
(),
startDate
,
endDate
,
projectId
);
Map
<
String
,
Object
>
result
=
dataAnalysisService
.
countCommandState
(
loginUser
,
projectId
,
startDate
,
endDate
);
return
returnDataList
(
result
);
}
/**
...
...
@@ -179,23 +165,19 @@ public class DataAnalysisController extends BaseController{
* @param projectId project id
* @return queue state count
*/
@ApiOperation
(
value
=
"countQueueState"
,
notes
=
"COUNT_QUEUE_STATE_NOTES"
)
@ApiOperation
(
value
=
"countQueueState"
,
notes
=
"COUNT_QUEUE_STATE_NOTES"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"projectId"
,
value
=
"PROJECT_ID"
,
dataType
=
"Int"
,
example
=
"100"
)
@ApiImplicitParam
(
name
=
"projectId"
,
value
=
"PROJECT_ID"
,
dataType
=
"Int"
,
example
=
"100"
)
})
@GetMapping
(
value
=
"/queue-count"
)
@GetMapping
(
value
=
"/queue-count"
)
@ResponseStatus
(
HttpStatus
.
OK
)
@ApiException
(
QUEUE_COUNT_ERROR
)
public
Result
countQueueState
(
@ApiIgnore
@RequestAttribute
(
value
=
Constants
.
SESSION_USER
)
User
loginUser
,
@RequestParam
(
value
=
"projectId"
,
required
=
false
,
defaultValue
=
"0"
)
int
projectId
){
try
{
logger
.
info
(
"count command state, user:{}, project id {}"
,
loginUser
.
getUserName
(),
projectId
);
Map
<
String
,
Object
>
result
=
dataAnalysisService
.
countQueueState
(
loginUser
,
projectId
);
return
returnDataList
(
result
);
}
catch
(
Exception
e
){
logger
.
error
(
Status
.
QUEUE_COUNT_ERROR
.
getMsg
(),
e
);
return
error
(
Status
.
QUEUE_COUNT_ERROR
.
getCode
(),
Status
.
QUEUE_COUNT_ERROR
.
getMsg
());
}
@RequestParam
(
value
=
"projectId"
,
required
=
false
,
defaultValue
=
"0"
)
int
projectId
)
{
logger
.
info
(
"count command state, user:{}, project id {}"
,
loginUser
.
getUserName
(),
projectId
);
Map
<
String
,
Object
>
result
=
dataAnalysisService
.
countQueueState
(
loginUser
,
projectId
);
return
returnDataList
(
result
);
}
...
...
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/DataSourceController.java
浏览文件 @
e2775c0d
此差异已折叠。
点击以展开。
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ExecutorController.java
浏览文件 @
e2775c0d
...
...
@@ -18,7 +18,7 @@ package org.apache.dolphinscheduler.api.controller;
import
org.apache.dolphinscheduler.api.enums.ExecuteType
;
import
org.apache.dolphinscheduler.api.e
nums.Status
;
import
org.apache.dolphinscheduler.api.e
xceptions.ApiException
;
import
org.apache.dolphinscheduler.api.service.ExecutorService
;
import
org.apache.dolphinscheduler.api.utils.Result
;
import
org.apache.dolphinscheduler.common.Constants
;
...
...
@@ -32,8 +32,11 @@ import org.springframework.http.HttpStatus;
import
org.springframework.web.bind.annotation.*
;
import
springfox.documentation.annotations.ApiIgnore
;
import
java.text.ParseException
;
import
java.util.Map
;
import
static
org
.
apache
.
dolphinscheduler
.
api
.
enums
.
Status
.*;
/**
* execute process controller
...
...
@@ -50,43 +53,45 @@ public class ExecutorController extends BaseController {
/**
* execute process instance
* @param loginUser login user
* @param projectName project name
* @param processDefinitionId process definition id
* @param scheduleTime schedule time
* @param failureStrategy failure strategy
* @param startNodeList start nodes list
* @param taskDependType task depend type
* @param execType execute type
* @param warningType warning type
* @param warningGroupId warning group id
* @param receivers receivers
* @param receiversCc receivers cc
* @param runMode run mode
*
* @param loginUser login user
* @param projectName project name
* @param processDefinitionId process definition id
* @param scheduleTime schedule time
* @param failureStrategy failure strategy
* @param startNodeList start nodes list
* @param taskDependType task depend type
* @param execType execute type
* @param warningType warning type
* @param warningGroupId warning group id
* @param receivers receivers
* @param receiversCc receivers cc
* @param runMode run mode
* @param processInstancePriority process instance priority
* @param workerGroup worker group
* @param timeout timeout
* @param workerGroup
worker group
* @param timeout
timeout
* @return start process result code
*/
@ApiOperation
(
value
=
"startProcessInstance"
,
notes
=
"RUN_PROCESS_INSTANCE_NOTES"
)
@ApiOperation
(
value
=
"startProcessInstance"
,
notes
=
"RUN_PROCESS_INSTANCE_NOTES"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"processDefinitionId"
,
value
=
"PROCESS_DEFINITION_ID"
,
required
=
true
,
dataType
=
"Int"
,
example
=
"100"
),
@ApiImplicitParam
(
name
=
"scheduleTime"
,
value
=
"SCHEDULE_TIME"
,
required
=
true
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"failureStrategy"
,
value
=
"FAILURE_STRATEGY"
,
required
=
true
,
dataType
=
"FailureStrategy"
),
@ApiImplicitParam
(
name
=
"startNodeList"
,
value
=
"START_NODE_LIST"
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"taskDependType"
,
value
=
"TASK_DEPEND_TYPE"
,
dataType
=
"TaskDependType"
),
@ApiImplicitParam
(
name
=
"execType"
,
value
=
"COMMAND_TYPE"
,
dataType
=
"CommandType"
),
@ApiImplicitParam
(
name
=
"warningType"
,
value
=
"WARNING_TYPE"
,
required
=
true
,
dataType
=
"WarningType"
),
@ApiImplicitParam
(
name
=
"warningGroupId"
,
value
=
"WARNING_GROUP_ID"
,
required
=
true
,
dataType
=
"Int"
,
example
=
"100"
),
@ApiImplicitParam
(
name
=
"receivers"
,
value
=
"RECEIVERS"
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"receiversCc"
,
value
=
"RECEIVERS_CC"
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"runMode"
,
value
=
"RUN_MODE"
,
dataType
=
"RunMode"
),
@ApiImplicitParam
(
name
=
"processInstancePriority"
,
value
=
"PROCESS_INSTANCE_PRIORITY"
,
required
=
true
,
dataType
=
"Priority"
),
@ApiImplicitParam
(
name
=
"workerGroup"
,
value
=
"WORKER_GROUP"
,
dataType
=
"String"
,
example
=
"default"
),
@ApiImplicitParam
(
name
=
"timeout"
,
value
=
"TIMEOUT"
,
dataType
=
"Int"
,
example
=
"100"
),
@ApiImplicitParam
(
name
=
"failureStrategy"
,
value
=
"FAILURE_STRATEGY"
,
required
=
true
,
dataType
=
"FailureStrategy"
),
@ApiImplicitParam
(
name
=
"startNodeList"
,
value
=
"START_NODE_LIST"
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"taskDependType"
,
value
=
"TASK_DEPEND_TYPE"
,
dataType
=
"TaskDependType"
),
@ApiImplicitParam
(
name
=
"execType"
,
value
=
"COMMAND_TYPE"
,
dataType
=
"CommandType"
),
@ApiImplicitParam
(
name
=
"warningType"
,
value
=
"WARNING_TYPE"
,
required
=
true
,
dataType
=
"WarningType"
),
@ApiImplicitParam
(
name
=
"warningGroupId"
,
value
=
"WARNING_GROUP_ID"
,
required
=
true
,
dataType
=
"Int"
,
example
=
"100"
),
@ApiImplicitParam
(
name
=
"receivers"
,
value
=
"RECEIVERS"
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"receiversCc"
,
value
=
"RECEIVERS_CC"
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"runMode"
,
value
=
"RUN_MODE"
,
dataType
=
"RunMode"
),
@ApiImplicitParam
(
name
=
"processInstancePriority"
,
value
=
"PROCESS_INSTANCE_PRIORITY"
,
required
=
true
,
dataType
=
"Priority"
),
@ApiImplicitParam
(
name
=
"workerGroup"
,
value
=
"WORKER_GROUP"
,
dataType
=
"String"
,
example
=
"default"
),
@ApiImplicitParam
(
name
=
"timeout"
,
value
=
"TIMEOUT"
,
dataType
=
"Int"
,
example
=
"100"
),
})
@PostMapping
(
value
=
"start-process-instance"
)
@ResponseStatus
(
HttpStatus
.
OK
)
@ApiException
(
START_PROCESS_INSTANCE_ERROR
)
public
Result
startProcessInstance
(
@ApiIgnore
@RequestAttribute
(
value
=
Constants
.
SESSION_USER
)
User
loginUser
,
@ApiParam
(
name
=
"projectName"
,
value
=
"PROJECT_NAME"
,
required
=
true
)
@PathVariable
String
projectName
,
@RequestParam
(
value
=
"processDefinitionId"
)
int
processDefinitionId
,
...
...
@@ -102,98 +107,84 @@ public class ExecutorController extends BaseController {
@RequestParam
(
value
=
"runMode"
,
required
=
false
)
RunMode
runMode
,
@RequestParam
(
value
=
"processInstancePriority"
,
required
=
false
)
Priority
processInstancePriority
,
@RequestParam
(
value
=
"workerGroup"
,
required
=
false
,
defaultValue
=
"default"
)
String
workerGroup
,
@RequestParam
(
value
=
"timeout"
,
required
=
false
)
Integer
timeout
)
{
try
{
logger
.
info
(
"login user {}, start process instance, project name: {}, process definition id: {}, schedule time: {}, "
+
"failure policy: {}, node name: {}, node dep: {}, notify type: {}, "
+
"notify group id: {},receivers:{},receiversCc:{}, run mode: {},process instance priority:{}, workerGroup: {}, timeout: {}"
,
loginUser
.
getUserName
(),
projectName
,
processDefinitionId
,
scheduleTime
,
failureStrategy
,
startNodeList
,
taskDependType
,
warningType
,
workerGroup
,
receivers
,
receiversCc
,
runMode
,
processInstancePriority
,
workerGroup
,
timeout
);
if
(
timeout
==
null
)
{
timeout
=
Constants
.
MAX_TASK_TIMEOUT
;
}
Map
<
String
,
Object
>
result
=
execService
.
execProcessInstance
(
loginUser
,
projectName
,
processDefinitionId
,
scheduleTime
,
execType
,
failureStrategy
,
startNodeList
,
taskDependType
,
warningType
,
warningGroupId
,
receivers
,
receiversCc
,
runMode
,
processInstancePriority
,
workerGroup
,
timeout
);
return
returnDataList
(
result
);
}
catch
(
Exception
e
)
{
logger
.
error
(
Status
.
START_PROCESS_INSTANCE_ERROR
.
getMsg
(),
e
);
return
error
(
Status
.
START_PROCESS_INSTANCE_ERROR
.
getCode
(),
Status
.
START_PROCESS_INSTANCE_ERROR
.
getMsg
());
@RequestParam
(
value
=
"timeout"
,
required
=
false
)
Integer
timeout
)
throws
ParseException
{
logger
.
info
(
"login user {}, start process instance, project name: {}, process definition id: {}, schedule time: {}, "
+
"failure policy: {}, node name: {}, node dep: {}, notify type: {}, "
+
"notify group id: {},receivers:{},receiversCc:{}, run mode: {},process instance priority:{}, workerGroup: {}, timeout: {}"
,
loginUser
.
getUserName
(),
projectName
,
processDefinitionId
,
scheduleTime
,
failureStrategy
,
startNodeList
,
taskDependType
,
warningType
,
workerGroup
,
receivers
,
receiversCc
,
runMode
,
processInstancePriority
,
workerGroup
,
timeout
);
if
(
timeout
==
null
)
{
timeout
=
Constants
.
MAX_TASK_TIMEOUT
;
}
Map
<
String
,
Object
>
result
=
execService
.
execProcessInstance
(
loginUser
,
projectName
,
processDefinitionId
,
scheduleTime
,
execType
,
failureStrategy
,
startNodeList
,
taskDependType
,
warningType
,
warningGroupId
,
receivers
,
receiversCc
,
runMode
,
processInstancePriority
,
workerGroup
,
timeout
);
return
returnDataList
(
result
);
}
/**
* do action to process instance:pause, stop, repeat, recover from pause, recover from stop
*
* @param loginUser login user
* @param projectName project name
* @param loginUser
login user
* @param projectName
project name
* @param processInstanceId process instance id
* @param executeType execute type
* @param executeType
execute type
* @return execute result code
*/
@ApiOperation
(
value
=
"execute"
,
notes
=
"EXECUTE_ACTION_TO_PROCESS_INSTANCE_NOTES"
)
@ApiOperation
(
value
=
"execute"
,
notes
=
"EXECUTE_ACTION_TO_PROCESS_INSTANCE_NOTES"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"processInstanceId"
,
value
=
"PROCESS_INSTANCE_ID"
,
required
=
true
,
dataType
=
"Int"
,
example
=
"100"
),
@ApiImplicitParam
(
name
=
"executeType"
,
value
=
"EXECUTE_TYPE"
,
required
=
true
,
dataType
=
"ExecuteType"
)
})
@PostMapping
(
value
=
"/execute"
)
@ResponseStatus
(
HttpStatus
.
OK
)
@ApiException
(
EXECUTE_PROCESS_INSTANCE_ERROR
)
public
Result
execute
(
@ApiIgnore
@RequestAttribute
(
value
=
Constants
.
SESSION_USER
)
User
loginUser
,
@ApiParam
(
name
=
"projectName"
,
value
=
"PROJECT_NAME"
,
required
=
true
)
@PathVariable
String
projectName
,
@RequestParam
(
"processInstanceId"
)
Integer
processInstanceId
,
@RequestParam
(
"executeType"
)
ExecuteType
executeType
)
{
try
{
logger
.
info
(
"execute command, login user: {}, project:{}, process instance id:{}, execute type:{}"
,
loginUser
.
getUserName
(),
projectName
,
processInstanceId
,
executeType
);
Map
<
String
,
Object
>
result
=
execService
.
execute
(
loginUser
,
projectName
,
processInstanceId
,
executeType
);
return
returnDataList
(
result
);
}
catch
(
Exception
e
)
{
logger
.
error
(
Status
.
EXECUTE_PROCESS_INSTANCE_ERROR
.
getMsg
(),
e
);
return
error
(
Status
.
EXECUTE_PROCESS_INSTANCE_ERROR
.
getCode
(),
Status
.
EXECUTE_PROCESS_INSTANCE_ERROR
.
getMsg
());
}
logger
.
info
(
"execute command, login user: {}, project:{}, process instance id:{}, execute type:{}"
,
loginUser
.
getUserName
(),
projectName
,
processInstanceId
,
executeType
);
Map
<
String
,
Object
>
result
=
execService
.
execute
(
loginUser
,
projectName
,
processInstanceId
,
executeType
);
return
returnDataList
(
result
);
}
/**
* check process definition and all of the son process definitions is on line.
*
* @param loginUser login user
* @param loginUser
login user
* @param processDefinitionId process definition id
* @return check result code
*/
@ApiOperation
(
value
=
"startCheckProcessDefinition"
,
notes
=
"START_CHECK_PROCESS_DEFINITION_NOTES"
)
@ApiOperation
(
value
=
"startCheckProcessDefinition"
,
notes
=
"START_CHECK_PROCESS_DEFINITION_NOTES"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"processDefinitionId"
,
value
=
"PROCESS_DEFINITION_ID"
,
required
=
true
,
dataType
=
"Int"
,
example
=
"100"
)
})
@PostMapping
(
value
=
"/start-check"
)
@ResponseStatus
(
HttpStatus
.
OK
)
@ApiException
(
CHECK_PROCESS_DEFINITION_ERROR
)
public
Result
startCheckProcessDefinition
(
@ApiIgnore
@RequestAttribute
(
value
=
Constants
.
SESSION_USER
)
User
loginUser
,
@RequestParam
(
value
=
"processDefinitionId"
)
int
processDefinitionId
)
{
@RequestParam
(
value
=
"processDefinitionId"
)
int
processDefinitionId
)
{
logger
.
info
(
"login user {}, check process definition {}"
,
loginUser
.
getUserName
(),
processDefinitionId
);
try
{
Map
<
String
,
Object
>
result
=
execService
.
startCheckByProcessDefinedId
(
processDefinitionId
);
return
returnDataList
(
result
);
}
catch
(
Exception
e
)
{
logger
.
error
(
Status
.
CHECK_PROCESS_DEFINITION_ERROR
.
getMsg
(),
e
);
return
error
(
Status
.
CHECK_PROCESS_DEFINITION_ERROR
.
getCode
(),
Status
.
CHECK_PROCESS_DEFINITION_ERROR
.
getMsg
());
}
Map
<
String
,
Object
>
result
=
execService
.
startCheckByProcessDefinedId
(
processDefinitionId
);
return
returnDataList
(
result
);
}
/**
* query recipients and copyers by process definition ID
*
* @param loginUser login user
* @param loginUser
login user
* @param processDefinitionId process definition id
* @param processInstanceId process instance id
* @param processInstanceId
process instance id
* @return receivers cc list
*/
@ApiIgnore
@ApiOperation
(
value
=
"getReceiverCc"
,
notes
=
"GET_RECEIVER_CC_NOTES"
)
@ApiOperation
(
value
=
"getReceiverCc"
,
notes
=
"GET_RECEIVER_CC_NOTES"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"processDefinitionId"
,
value
=
"PROCESS_DEFINITION_ID"
,
required
=
true
,
dataType
=
"Int"
,
example
=
"100"
),
@ApiImplicitParam
(
name
=
"processInstanceId"
,
value
=
"PROCESS_INSTANCE_ID"
,
required
=
true
,
dataType
=
"Int"
,
example
=
"100"
)
...
...
@@ -201,17 +192,13 @@ public class ExecutorController extends BaseController {
})
@GetMapping
(
value
=
"/get-receiver-cc"
)
@ResponseStatus
(
HttpStatus
.
OK
)
@ApiException
(
QUERY_RECIPIENTS_AND_COPYERS_BY_PROCESS_DEFINITION_ERROR
)
public
Result
getReceiverCc
(
@ApiIgnore
@RequestAttribute
(
value
=
Constants
.
SESSION_USER
)
User
loginUser
,
@RequestParam
(
value
=
"processDefinitionId"
,
required
=
false
)
Integer
processDefinitionId
,
@RequestParam
(
value
=
"processInstanceId"
,
required
=
false
)
Integer
processInstanceId
)
{
@RequestParam
(
value
=
"processDefinitionId"
,
required
=
false
)
Integer
processDefinitionId
,
@RequestParam
(
value
=
"processInstanceId"
,
required
=
false
)
Integer
processInstanceId
)
{
logger
.
info
(
"login user {}, get process definition receiver and cc"
,
loginUser
.
getUserName
());
try
{
Map
<
String
,
Object
>
result
=
execService
.
getReceiverCc
(
processDefinitionId
,
processInstanceId
);
return
returnDataList
(
result
);
}
catch
(
Exception
e
)
{
logger
.
error
(
Status
.
QUERY_RECIPIENTS_AND_COPYERS_BY_PROCESS_DEFINITION_ERROR
.
getMsg
(),
e
);
return
error
(
Status
.
QUERY_RECIPIENTS_AND_COPYERS_BY_PROCESS_DEFINITION_ERROR
.
getCode
(),
Status
.
QUERY_RECIPIENTS_AND_COPYERS_BY_PROCESS_DEFINITION_ERROR
.
getMsg
());
}
Map
<
String
,
Object
>
result
=
execService
.
getReceiverCc
(
processDefinitionId
,
processInstanceId
);
return
returnDataList
(
result
);
}
...
...
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/LoggerController.java
浏览文件 @
e2775c0d
...
...
@@ -17,6 +17,7 @@
package
org.apache.dolphinscheduler.api.controller
;
import
org.apache.dolphinscheduler.api.exceptions.ApiException
;
import
org.apache.dolphinscheduler.api.service.LoggerService
;
import
org.apache.dolphinscheduler.api.utils.Result
;
import
org.apache.dolphinscheduler.common.Constants
;
...
...
@@ -25,7 +26,6 @@ import io.swagger.annotations.Api;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
org.apache.dolphinscheduler.api.enums.Status
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -35,6 +35,8 @@ import org.springframework.http.ResponseEntity;
import
org.springframework.web.bind.annotation.*
;
import
springfox.documentation.annotations.ApiIgnore
;
import
static
org
.
apache
.
dolphinscheduler
.
api
.
enums
.
Status
.*;
/**
* log controller
...
...
@@ -52,61 +54,53 @@ public class LoggerController extends BaseController {
/**
* query task log
* @param loginUser login user
*
* @param loginUser login user
* @param taskInstanceId task instance id
* @param skipNum skip number
* @param limit limit
* @param skipNum
skip number
* @param limit
limit
* @return task log content
*/
@ApiOperation
(
value
=
"queryLog"
,
notes
=
"QUERY_TASK_INSTANCE_LOG_NOTES"
)
@ApiOperation
(
value
=
"queryLog"
,
notes
=
"QUERY_TASK_INSTANCE_LOG_NOTES"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"taskInstanceId"
,
value
=
"TASK_ID"
,
dataType
=
"Int"
,
example
=
"100"
),
@ApiImplicitParam
(
name
=
"skipLineNum"
,
value
=
"SKIP_LINE_NUM"
,
dataType
=
"Int"
,
example
=
"100"
),
@ApiImplicitParam
(
name
=
"limit"
,
value
=
"LIMIT"
,
dataType
=
"Int"
,
example
=
"100"
)
@ApiImplicitParam
(
name
=
"skipLineNum"
,
value
=
"SKIP_LINE_NUM"
,
dataType
=
"Int"
,
example
=
"100"
),
@ApiImplicitParam
(
name
=
"limit"
,
value
=
"LIMIT"
,
dataType
=
"Int"
,
example
=
"100"
)
})
@GetMapping
(
value
=
"/detail"
)
@ResponseStatus
(
HttpStatus
.
OK
)
@ApiException
(
QUERY_TASK_INSTANCE_LOG_ERROR
)
public
Result
queryLog
(
@ApiIgnore
@RequestAttribute
(
value
=
Constants
.
SESSION_USER
)
User
loginUser
,
@RequestParam
(
value
=
"taskInstanceId"
)
int
taskInstanceId
,
@RequestParam
(
value
=
"skipLineNum"
)
int
skipNum
,
@RequestParam
(
value
=
"limit"
)
int
limit
)
{
try
{
logger
.
info
(
"login user {}, view {} task instance log ,skipLineNum {} , limit {}"
,
loginUser
.
getUserName
(),
taskInstanceId
,
skipNum
,
limit
);
return
loggerService
.
queryLog
(
taskInstanceId
,
skipNum
,
limit
);
}
catch
(
Exception
e
)
{
logger
.
error
(
Status
.
QUERY_TASK_INSTANCE_LOG_ERROR
.
getMsg
(),
e
);
return
error
(
Status
.
QUERY_TASK_INSTANCE_LOG_ERROR
.
getCode
(),
Status
.
QUERY_TASK_INSTANCE_LOG_ERROR
.
getMsg
());
}
logger
.
info
(
"login user {}, view {} task instance log ,skipLineNum {} , limit {}"
,
loginUser
.
getUserName
(),
taskInstanceId
,
skipNum
,
limit
);
return
loggerService
.
queryLog
(
taskInstanceId
,
skipNum
,
limit
);
}
/**
* download log file
*
* @param loginUser login user
* @param loginUser
login user
* @param taskInstanceId task instance id
* @return log file content
*/
@ApiOperation
(
value
=
"downloadTaskLog"
,
notes
=
"DOWNLOAD_TASK_INSTANCE_LOG_NOTES"
)
@ApiOperation
(
value
=
"downloadTaskLog"
,
notes
=
"DOWNLOAD_TASK_INSTANCE_LOG_NOTES"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"taskInstanceId"
,
value
=
"TASK_ID"
,
dataType
=
"Int"
,
example
=
"100"
)
@ApiImplicitParam
(
name
=
"taskInstanceId"
,
value
=
"TASK_ID"
,
dataType
=
"Int"
,
example
=
"100"
)
})
@GetMapping
(
value
=
"/download-log"
)
@ResponseBody
@ApiException
(
DOWNLOAD_TASK_INSTANCE_LOG_FILE_ERROR
)
public
ResponseEntity
downloadTaskLog
(
@ApiIgnore
@RequestAttribute
(
value
=
Constants
.
SESSION_USER
)
User
loginUser
,
@RequestParam
(
value
=
"taskInstanceId"
)
int
taskInstanceId
)
{
try
{
byte
[]
logBytes
=
loggerService
.
getLogBytes
(
taskInstanceId
);
return
ResponseEntity
.
ok
()
.
header
(
HttpHeaders
.
CONTENT_DISPOSITION
,
"attachment; filename=\""
+
System
.
currentTimeMillis
()
+
".log"
+
"\""
)
.
body
(
logBytes
);
}
catch
(
Exception
e
)
{
logger
.
error
(
Status
.
DOWNLOAD_TASK_INSTANCE_LOG_FILE_ERROR
.
getMsg
(),
e
);
return
ResponseEntity
.
status
(
HttpStatus
.
BAD_REQUEST
).
body
(
Status
.
DOWNLOAD_TASK_INSTANCE_LOG_FILE_ERROR
.
getMsg
());
}
byte
[]
logBytes
=
loggerService
.
getLogBytes
(
taskInstanceId
);
return
ResponseEntity
.
ok
()
.
header
(
HttpHeaders
.
CONTENT_DISPOSITION
,
"attachment; filename=\""
+
System
.
currentTimeMillis
()
+
".log"
+
"\""
)
.
body
(
logBytes
);
}
}
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/LoginController.java
浏览文件 @
e2775c0d
...
...
@@ -18,6 +18,7 @@ package org.apache.dolphinscheduler.api.controller;
import
org.apache.dolphinscheduler.api.enums.Status
;
import
org.apache.dolphinscheduler.api.exceptions.ApiException
;
import
org.apache.dolphinscheduler.api.security.Authenticator
;
import
org.apache.dolphinscheduler.api.service.SessionService
;
import
org.apache.dolphinscheduler.api.utils.Result
;
...
...
@@ -42,7 +43,7 @@ import static org.apache.dolphinscheduler.api.enums.Status.*;
/**
* user login controller
*
*
<p>
* swagger bootstrap ui docs refer : https://doc.xiaominfo.com/guide/enh-func.html
*/
@Api
(
tags
=
"LOGIN_TAG"
,
position
=
1
)
...
...
@@ -63,81 +64,71 @@ public class LoginController extends BaseController {
/**
* login
*
* @param userName user name
* @param userName
user name
* @param userPassword user password
* @param request request
* @param response response
* @param request
request
* @param response
response
* @return login result
*/
@ApiOperation
(
value
=
"login"
,
notes
=
"LOGIN_NOTES"
)
@ApiOperation
(
value
=
"login"
,
notes
=
"LOGIN_NOTES"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"userName"
,
value
=
"USER_NAME"
,
required
=
true
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"userPassword"
,
value
=
"USER_PASSWORD"
,
required
=
true
,
dataType
=
"String"
)
@ApiImplicitParam
(
name
=
"userPassword"
,
value
=
"USER_PASSWORD"
,
required
=
true
,
dataType
=
"String"
)
})
@PostMapping
(
value
=
"/login"
)
@ApiException
(
USER_LOGIN_FAILURE
)
public
Result
login
(
@RequestParam
(
value
=
"userName"
)
String
userName
,
@RequestParam
(
value
=
"userPassword"
)
String
userPassword
,
HttpServletRequest
request
,
HttpServletResponse
response
)
{
logger
.
info
(
"login user name: {} "
,
userName
);
try
{
logger
.
info
(
"login user name: {} "
,
userName
);
//user name check
if
(
StringUtils
.
isEmpty
(
userName
))
{
return
error
(
Status
.
USER_NAME_NULL
.
getCode
(),
Status
.
USER_NAME_NULL
.
getMsg
());
}
// user ip check
String
ip
=
getClientIpAddress
(
request
);
if
(
StringUtils
.
isEmpty
(
ip
))
{
return
error
(
IP_IS_EMPTY
.
getCode
(),
IP_IS_EMPTY
.
getMsg
());
}
// verify username and password
Result
<
Map
<
String
,
String
>>
result
=
authenticator
.
authenticate
(
userName
,
userPassword
,
ip
);
if
(
result
.
getCode
()
!=
Status
.
SUCCESS
.
getCode
())
{
return
result
;
}
response
.
setStatus
(
HttpStatus
.
SC_OK
);
Map
<
String
,
String
>
cookieMap
=
result
.
getData
();
for
(
Map
.
Entry
<
String
,
String
>
cookieEntry
:
cookieMap
.
entrySet
())
{
Cookie
cookie
=
new
Cookie
(
cookieEntry
.
getKey
(),
cookieEntry
.
getValue
());
cookie
.
setHttpOnly
(
true
);
response
.
addCookie
(
cookie
);
}
//user name check
if
(
StringUtils
.
isEmpty
(
userName
))
{
return
error
(
Status
.
USER_NAME_NULL
.
getCode
(),
Status
.
USER_NAME_NULL
.
getMsg
());
}
// user ip check
String
ip
=
getClientIpAddress
(
request
);
if
(
StringUtils
.
isEmpty
(
ip
))
{
return
error
(
IP_IS_EMPTY
.
getCode
(),
IP_IS_EMPTY
.
getMsg
());
}
// verify username and password
Result
<
Map
<
String
,
String
>>
result
=
authenticator
.
authenticate
(
userName
,
userPassword
,
ip
);
if
(
result
.
getCode
()
!=
Status
.
SUCCESS
.
getCode
())
{
return
result
;
}
catch
(
Exception
e
)
{
logger
.
error
(
USER_LOGIN_FAILURE
.
getMsg
(),
e
);
return
error
(
USER_LOGIN_FAILURE
.
getCode
(),
USER_LOGIN_FAILURE
.
getMsg
());
}
response
.
setStatus
(
HttpStatus
.
SC_OK
);
Map
<
String
,
String
>
cookieMap
=
result
.
getData
();
for
(
Map
.
Entry
<
String
,
String
>
cookieEntry
:
cookieMap
.
entrySet
())
{
Cookie
cookie
=
new
Cookie
(
cookieEntry
.
getKey
(),
cookieEntry
.
getValue
());
cookie
.
setHttpOnly
(
true
);
response
.
addCookie
(
cookie
);
}
return
result
;
}
/**
* sign out
*
* @param loginUser login user
* @param request request
* @param request
request
* @return sign out result
*/
@ApiOperation
(
value
=
"signOut"
,
notes
=
"SIGNOUT_NOTES"
)
@PostMapping
(
value
=
"/signOut"
)
@ApiException
(
SIGN_OUT_ERROR
)
public
Result
signOut
(
@ApiIgnore
@RequestAttribute
(
value
=
Constants
.
SESSION_USER
)
User
loginUser
,
HttpServletRequest
request
)
{
try
{
logger
.
info
(
"login user:{} sign out"
,
loginUser
.
getUserName
());
String
ip
=
getClientIpAddress
(
request
);
sessionService
.
signOut
(
ip
,
loginUser
);
//clear session
request
.
removeAttribute
(
Constants
.
SESSION_USER
);
return
success
();
}
catch
(
Exception
e
)
{
logger
.
error
(
SIGN_OUT_ERROR
.
getMsg
(),
e
);
return
error
(
SIGN_OUT_ERROR
.
getCode
(),
SIGN_OUT_ERROR
.
getMsg
());
}
logger
.
info
(
"login user:{} sign out"
,
loginUser
.
getUserName
());
String
ip
=
getClientIpAddress
(
request
);
sessionService
.
signOut
(
ip
,
loginUser
);
//clear session
request
.
removeAttribute
(
Constants
.
SESSION_USER
);
return
success
();
}
}
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/MonitorController.java
浏览文件 @
e2775c0d
...
...
@@ -17,6 +17,7 @@
package
org.apache.dolphinscheduler.api.controller
;
import
org.apache.dolphinscheduler.api.exceptions.ApiException
;
import
org.apache.dolphinscheduler.api.service.MonitorService
;
import
org.apache.dolphinscheduler.api.utils.Result
;
import
org.apache.dolphinscheduler.common.Constants
;
...
...
@@ -33,13 +34,14 @@ import springfox.documentation.annotations.ApiIgnore;
import
java.util.Map
;
import
static
org
.
apache
.
dolphinscheduler
.
api
.
enums
.
Status
.*;
/**
* monitor controller
*/
@Api
(
tags
=
"MONITOR_TAG"
,
position
=
1
)
@RestController
@RequestMapping
(
"/monitor"
)
public
class
MonitorController
extends
BaseController
{
public
class
MonitorController
extends
BaseController
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
MonitorController
.
class
);
...
...
@@ -48,84 +50,67 @@ public class MonitorController extends BaseController{
/**
* master list
*
* @param loginUser login user
* @return master list
*/
@ApiOperation
(
value
=
"listMaster"
,
notes
=
"MASTER_LIST_NOTES"
)
@ApiOperation
(
value
=
"listMaster"
,
notes
=
"MASTER_LIST_NOTES"
)
@GetMapping
(
value
=
"/master/list"
)
@ResponseStatus
(
HttpStatus
.
OK
)
@ApiException
(
LIST_MASTERS_ERROR
)
public
Result
listMaster
(
@ApiIgnore
@RequestAttribute
(
value
=
Constants
.
SESSION_USER
)
User
loginUser
)
{
logger
.
info
(
"login user: {}, query all master"
,
loginUser
.
getUserName
());
try
{
logger
.
info
(
"list master, user:{}"
,
loginUser
.
getUserName
());
Map
<
String
,
Object
>
result
=
monitorService
.
queryMaster
(
loginUser
);
return
returnDataList
(
result
);
}
catch
(
Exception
e
){
logger
.
error
(
LIST_MASTERS_ERROR
.
getMsg
(),
e
);
return
error
(
LIST_MASTERS_ERROR
.
getCode
(),
LIST_MASTERS_ERROR
.
getMsg
());
}
logger
.
info
(
"list master, user:{}"
,
loginUser
.
getUserName
());
Map
<
String
,
Object
>
result
=
monitorService
.
queryMaster
(
loginUser
);
return
returnDataList
(
result
);
}
/**
* worker list
*
* @param loginUser login user
* @return worker information list
*/
@ApiOperation
(
value
=
"listWorker"
,
notes
=
"WORKER_LIST_NOTES"
)
@ApiOperation
(
value
=
"listWorker"
,
notes
=
"WORKER_LIST_NOTES"
)
@GetMapping
(
value
=
"/worker/list"
)
@ResponseStatus
(
HttpStatus
.
OK
)
@ApiException
(
LIST_WORKERS_ERROR
)
public
Result
listWorker
(
@ApiIgnore
@RequestAttribute
(
value
=
Constants
.
SESSION_USER
)
User
loginUser
)
{
logger
.
info
(
"login user: {}, query all workers"
,
loginUser
.
getUserName
());
try
{
Map
<
String
,
Object
>
result
=
monitorService
.
queryWorker
(
loginUser
);
return
returnDataList
(
result
);
}
catch
(
Exception
e
){
logger
.
error
(
LIST_WORKERS_ERROR
.
getMsg
(),
e
);
return
error
(
LIST_WORKERS_ERROR
.
getCode
(),
LIST_WORKERS_ERROR
.
getMsg
());
}
Map
<
String
,
Object
>
result
=
monitorService
.
queryWorker
(
loginUser
);
return
returnDataList
(
result
);
}
/**
* query database state
*
* @param loginUser login user
* @return data base state
*/
@ApiOperation
(
value
=
"queryDatabaseState"
,
notes
=
"QUERY_DATABASE_STATE_NOTES"
)
@ApiOperation
(
value
=
"queryDatabaseState"
,
notes
=
"QUERY_DATABASE_STATE_NOTES"
)
@GetMapping
(
value
=
"/database"
)
@ResponseStatus
(
HttpStatus
.
OK
)
@ApiException
(
QUERY_DATABASE_STATE_ERROR
)
public
Result
queryDatabaseState
(
@ApiIgnore
@RequestAttribute
(
value
=
Constants
.
SESSION_USER
)
User
loginUser
)
{
logger
.
info
(
"login user: {}, query database state"
,
loginUser
.
getUserName
());
try
{
Map
<
String
,
Object
>
result
=
monitorService
.
queryDatabaseState
(
loginUser
);
return
returnDataList
(
result
);
}
catch
(
Exception
e
){
logger
.
error
(
QUERY_DATABASE_STATE_ERROR
.
getMsg
(),
e
);
return
error
(
QUERY_DATABASE_STATE_ERROR
.
getCode
(),
QUERY_DATABASE_STATE_ERROR
.
getMsg
());
}
Map
<
String
,
Object
>
result
=
monitorService
.
queryDatabaseState
(
loginUser
);
return
returnDataList
(
result
);
}
/**
* query zookeeper state
*
* @param loginUser login user
* @return zookeeper information list
*/
@ApiOperation
(
value
=
"queryZookeeperState"
,
notes
=
"QUERY_ZOOKEEPER_STATE_NOTES"
)
@ApiOperation
(
value
=
"queryZookeeperState"
,
notes
=
"QUERY_ZOOKEEPER_STATE_NOTES"
)
@GetMapping
(
value
=
"/zookeeper/list"
)
@ResponseStatus
(
HttpStatus
.
OK
)
@ApiException
(
QUERY_ZOOKEEPER_STATE_ERROR
)
public
Result
queryZookeeperState
(
@ApiIgnore
@RequestAttribute
(
value
=
Constants
.
SESSION_USER
)
User
loginUser
)
{
logger
.
info
(
"login user: {}, query zookeeper state"
,
loginUser
.
getUserName
());
try
{
Map
<
String
,
Object
>
result
=
monitorService
.
queryZookeeperState
(
loginUser
);
return
returnDataList
(
result
);
}
catch
(
Exception
e
){
logger
.
error
(
QUERY_ZOOKEEPER_STATE_ERROR
.
getMsg
(),
e
);
return
error
(
QUERY_ZOOKEEPER_STATE_ERROR
.
getCode
(),
QUERY_ZOOKEEPER_STATE_ERROR
.
getMsg
());
}
Map
<
String
,
Object
>
result
=
monitorService
.
queryZookeeperState
(
loginUser
);
return
returnDataList
(
result
);
}
}
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ProcessDefinitionController.java
浏览文件 @
e2775c0d
此差异已折叠。
点击以展开。
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ProcessInstanceController.java
浏览文件 @
e2775c0d
此差异已折叠。
点击以展开。
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ProjectController.java
浏览文件 @
e2775c0d
...
...
@@ -17,7 +17,7 @@
package
org.apache.dolphinscheduler.api.controller
;
import
org.apache.dolphinscheduler.api.e
nums.Status
;
import
org.apache.dolphinscheduler.api.e
xceptions.ApiException
;
import
org.apache.dolphinscheduler.api.service.ProcessDefinitionService
;
import
org.apache.dolphinscheduler.api.service.ProjectService
;
import
org.apache.dolphinscheduler.api.utils.Result
;
...
...
@@ -59,61 +59,53 @@ public class ProjectController extends BaseController {
/**
* create project
*
* @param loginUser login user
* @param loginUser
login user
* @param projectName project name
* @param description description
* @return returns an error if it exists
*/
@ApiOperation
(
value
=
"createProject"
,
notes
=
"CREATE_PROJECT_NOTES"
)
@ApiOperation
(
value
=
"createProject"
,
notes
=
"CREATE_PROJECT_NOTES"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"projectName"
,
value
=
"PROJECT_NAME"
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"projectName"
,
value
=
"PROJECT_NAME"
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"description"
,
value
=
"PROJECT_DESC"
,
dataType
=
"String"
)
})
@PostMapping
(
value
=
"/create"
)
@ResponseStatus
(
HttpStatus
.
CREATED
)
@ApiException
(
CREATE_PROJECT_ERROR
)
public
Result
createProject
(
@ApiIgnore
@RequestAttribute
(
value
=
Constants
.
SESSION_USER
)
User
loginUser
,
@RequestParam
(
"projectName"
)
String
projectName
,
@RequestParam
(
value
=
"description"
,
required
=
false
)
String
description
)
{
try
{
logger
.
info
(
"login user {}, create project name: {}, desc: {}"
,
loginUser
.
getUserName
(),
projectName
,
description
);
Map
<
String
,
Object
>
result
=
projectService
.
createProject
(
loginUser
,
projectName
,
description
);
return
returnDataList
(
result
);
}
catch
(
Exception
e
)
{
logger
.
error
(
CREATE_PROJECT_ERROR
.
getMsg
(),
e
);
return
error
(
CREATE_PROJECT_ERROR
.
getCode
(),
CREATE_PROJECT_ERROR
.
getMsg
());
}
logger
.
info
(
"login user {}, create project name: {}, desc: {}"
,
loginUser
.
getUserName
(),
projectName
,
description
);
Map
<
String
,
Object
>
result
=
projectService
.
createProject
(
loginUser
,
projectName
,
description
);
return
returnDataList
(
result
);
}
/**
* updateProcessInstance project
*
* @param loginUser login user
* @param projectId project id
* @param loginUser
login user
* @param projectId
project id
* @param projectName project name
* @param description description
* @return update result code
*/
@ApiOperation
(
value
=
"updateProject"
,
notes
=
"UPDATE_PROJECT_NOTES"
)
@ApiOperation
(
value
=
"updateProject"
,
notes
=
"UPDATE_PROJECT_NOTES"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"projectId"
,
value
=
"PROJECT_ID"
,
dataType
=
"Int"
,
example
=
"100"
),
@ApiImplicitParam
(
name
=
"projectName"
,
value
=
"PROJECT_NAME"
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"projectId"
,
value
=
"PROJECT_ID"
,
dataType
=
"Int"
,
example
=
"100"
),
@ApiImplicitParam
(
name
=
"projectName"
,
value
=
"PROJECT_NAME"
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"description"
,
value
=
"PROJECT_DESC"
,
dataType
=
"String"
)
})
@PostMapping
(
value
=
"/update"
)
@ResponseStatus
(
HttpStatus
.
OK
)
@ApiException
(
UPDATE_PROJECT_ERROR
)
public
Result
updateProject
(
@ApiIgnore
@RequestAttribute
(
value
=
Constants
.
SESSION_USER
)
User
loginUser
,
@RequestParam
(
"projectId"
)
Integer
projectId
,
@RequestParam
(
"projectName"
)
String
projectName
,
@RequestParam
(
value
=
"description"
,
required
=
false
)
String
description
)
{
try
{
logger
.
info
(
"login user {} , updateProcessInstance project name: {}, desc: {}"
,
loginUser
.
getUserName
(),
projectName
,
description
);
Map
<
String
,
Object
>
result
=
projectService
.
update
(
loginUser
,
projectId
,
projectName
,
description
);
return
returnDataList
(
result
);
}
catch
(
Exception
e
)
{
logger
.
error
(
UPDATE_PROJECT_ERROR
.
getMsg
(),
e
);
return
error
(
UPDATE_PROJECT_ERROR
.
getCode
(),
UPDATE_PROJECT_ERROR
.
getMsg
());
}
logger
.
info
(
"login user {} , updateProcessInstance project name: {}, desc: {}"
,
loginUser
.
getUserName
(),
projectName
,
description
);
Map
<
String
,
Object
>
result
=
projectService
.
update
(
loginUser
,
projectId
,
projectName
,
description
);
return
returnDataList
(
result
);
}
/**
...
...
@@ -123,23 +115,19 @@ public class ProjectController extends BaseController {
* @param projectId project id
* @return project detail information
*/
@ApiOperation
(
value
=
"queryProjectById"
,
notes
=
"QUERY_PROJECT_BY_ID_NOTES"
)
@ApiOperation
(
value
=
"queryProjectById"
,
notes
=
"QUERY_PROJECT_BY_ID_NOTES"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"projectId"
,
value
=
"PROJECT_ID"
,
dataType
=
"Int"
,
example
=
"100"
)
@ApiImplicitParam
(
name
=
"projectId"
,
value
=
"PROJECT_ID"
,
dataType
=
"Int"
,
example
=
"100"
)
})
@GetMapping
(
value
=
"/query-by-id"
)
@ResponseStatus
(
HttpStatus
.
OK
)
@ApiException
(
QUERY_PROJECT_DETAILS_BY_ID_ERROR
)
public
Result
queryProjectById
(
@ApiIgnore
@RequestAttribute
(
value
=
Constants
.
SESSION_USER
)
User
loginUser
,
@RequestParam
(
"projectId"
)
Integer
projectId
)
{
logger
.
info
(
"login user {}, query project by id: {}"
,
loginUser
.
getUserName
(),
projectId
);
try
{
Map
<
String
,
Object
>
result
=
projectService
.
queryById
(
projectId
);
return
returnDataList
(
result
);
}
catch
(
Exception
e
)
{
logger
.
error
(
QUERY_PROJECT_DETAILS_BY_ID_ERROR
.
getMsg
(),
e
);
return
error
(
QUERY_PROJECT_DETAILS_BY_ID_ERROR
.
getCode
(),
QUERY_PROJECT_DETAILS_BY_ID_ERROR
.
getMsg
());
}
Map
<
String
,
Object
>
result
=
projectService
.
queryById
(
projectId
);
return
returnDataList
(
result
);
}
/**
...
...
@@ -147,33 +135,29 @@ public class ProjectController extends BaseController {
*
* @param loginUser login user
* @param searchVal search value
* @param pageSize page size
* @param pageNo page number
* @param pageSize
page size
* @param pageNo
page number
* @return project list which the login user have permission to see
*/
@ApiOperation
(
value
=
"queryProjectListPaging"
,
notes
=
"QUERY_PROJECT_LIST_PAGING_NOTES"
)
@ApiOperation
(
value
=
"queryProjectListPaging"
,
notes
=
"QUERY_PROJECT_LIST_PAGING_NOTES"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"searchVal"
,
value
=
"SEARCH_VAL"
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"projectId"
,
value
=
"PAGE_SIZE"
,
dataType
=
"Int"
,
example
=
"20"
),
@ApiImplicitParam
(
name
=
"projectId"
,
value
=
"PAGE_NO"
,
dataType
=
"Int"
,
example
=
"1"
)
@ApiImplicitParam
(
name
=
"searchVal"
,
value
=
"SEARCH_VAL"
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"projectId"
,
value
=
"PAGE_SIZE"
,
dataType
=
"Int"
,
example
=
"20"
),
@ApiImplicitParam
(
name
=
"projectId"
,
value
=
"PAGE_NO"
,
dataType
=
"Int"
,
example
=
"1"
)
})
@GetMapping
(
value
=
"/list-paging"
)
@ResponseStatus
(
HttpStatus
.
OK
)
@ApiException
(
LOGIN_USER_QUERY_PROJECT_LIST_PAGING_ERROR
)
public
Result
queryProjectListPaging
(
@ApiIgnore
@RequestAttribute
(
value
=
Constants
.
SESSION_USER
)
User
loginUser
,
@RequestParam
(
value
=
"searchVal"
,
required
=
false
)
String
searchVal
,
@RequestParam
(
"pageSize"
)
Integer
pageSize
,
@RequestParam
(
"pageNo"
)
Integer
pageNo
)
{
try
{
logger
.
info
(
"login user {}, query project list paging"
,
loginUser
.
getUserName
());
searchVal
=
ParameterUtils
.
handleEscapes
(
searchVal
);
Map
<
String
,
Object
>
result
=
projectService
.
queryProjectListPaging
(
loginUser
,
pageSize
,
pageNo
,
searchVal
);
return
returnDataListPaging
(
result
);
}
catch
(
Exception
e
)
{
logger
.
error
(
LOGIN_USER_QUERY_PROJECT_LIST_PAGING_ERROR
.
getMsg
(),
e
);
return
error
(
Status
.
LOGIN_USER_QUERY_PROJECT_LIST_PAGING_ERROR
.
getCode
(),
Status
.
LOGIN_USER_QUERY_PROJECT_LIST_PAGING_ERROR
.
getMsg
());
}
logger
.
info
(
"login user {}, query project list paging"
,
loginUser
.
getUserName
());
searchVal
=
ParameterUtils
.
handleEscapes
(
searchVal
);
Map
<
String
,
Object
>
result
=
projectService
.
queryProjectListPaging
(
loginUser
,
pageSize
,
pageNo
,
searchVal
);
return
returnDataListPaging
(
result
);
}
/**
...
...
@@ -183,49 +167,41 @@ public class ProjectController extends BaseController {
* @param projectId project id
* @return delete result code
*/
@ApiOperation
(
value
=
"deleteProjectById"
,
notes
=
"DELETE_PROJECT_BY_ID_NOTES"
)
@ApiOperation
(
value
=
"deleteProjectById"
,
notes
=
"DELETE_PROJECT_BY_ID_NOTES"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"projectId"
,
value
=
"PROJECT_ID"
,
dataType
=
"Int"
,
example
=
"100"
)
@ApiImplicitParam
(
name
=
"projectId"
,
value
=
"PROJECT_ID"
,
dataType
=
"Int"
,
example
=
"100"
)
})
@GetMapping
(
value
=
"/delete"
)
@ResponseStatus
(
HttpStatus
.
OK
)
@ApiException
(
DELETE_PROJECT_ERROR
)
public
Result
deleteProject
(
@ApiIgnore
@RequestAttribute
(
value
=
Constants
.
SESSION_USER
)
User
loginUser
,
@RequestParam
(
"projectId"
)
Integer
projectId
)
{
try
{
logger
.
info
(
"login user {}, delete project: {}."
,
loginUser
.
getUserName
(),
projectId
);
Map
<
String
,
Object
>
result
=
projectService
.
deleteProject
(
loginUser
,
projectId
);
return
returnDataList
(
result
);
}
catch
(
Exception
e
)
{
logger
.
error
(
DELETE_PROJECT_ERROR
.
getMsg
(),
e
);
return
error
(
DELETE_PROJECT_ERROR
.
getCode
(),
DELETE_PROJECT_ERROR
.
getMsg
());
}
logger
.
info
(
"login user {}, delete project: {}."
,
loginUser
.
getUserName
(),
projectId
);
Map
<
String
,
Object
>
result
=
projectService
.
deleteProject
(
loginUser
,
projectId
);
return
returnDataList
(
result
);
}
/**
* query unauthorized project
*
* @param loginUser login user
* @param userId user id
* @param userId
user id
* @return the projects which user have not permission to see
*/
@ApiOperation
(
value
=
"queryUnauthorizedProject"
,
notes
=
"QUERY_UNAUTHORIZED_PROJECT_NOTES"
)
@ApiOperation
(
value
=
"queryUnauthorizedProject"
,
notes
=
"QUERY_UNAUTHORIZED_PROJECT_NOTES"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"userId"
,
value
=
"USER_ID"
,
dataType
=
"Int"
,
example
=
"100"
)
@ApiImplicitParam
(
name
=
"userId"
,
value
=
"USER_ID"
,
dataType
=
"Int"
,
example
=
"100"
)
})
@GetMapping
(
value
=
"/unauth-project"
)
@ResponseStatus
(
HttpStatus
.
OK
)
@ApiException
(
QUERY_UNAUTHORIZED_PROJECT_ERROR
)
public
Result
queryUnauthorizedProject
(
@ApiIgnore
@RequestAttribute
(
value
=
Constants
.
SESSION_USER
)
User
loginUser
,
@RequestParam
(
"userId"
)
Integer
userId
)
{
try
{
logger
.
info
(
"login user {}, query unauthorized project by user id: {}."
,
loginUser
.
getUserName
(),
userId
);
Map
<
String
,
Object
>
result
=
projectService
.
queryUnauthorizedProject
(
loginUser
,
userId
);
return
returnDataList
(
result
);
}
catch
(
Exception
e
)
{
logger
.
error
(
QUERY_UNAUTHORIZED_PROJECT_ERROR
.
getMsg
(),
e
);
return
error
(
QUERY_UNAUTHORIZED_PROJECT_ERROR
.
getCode
(),
QUERY_UNAUTHORIZED_PROJECT_ERROR
.
getMsg
());
}
logger
.
info
(
"login user {}, query unauthorized project by user id: {}."
,
loginUser
.
getUserName
(),
userId
);
Map
<
String
,
Object
>
result
=
projectService
.
queryUnauthorizedProject
(
loginUser
,
userId
);
return
returnDataList
(
result
);
}
...
...
@@ -233,73 +209,61 @@ public class ProjectController extends BaseController {
* query authorized project
*
* @param loginUser login user
* @param userId user id
* @param userId
user id
* @return projects which the user have permission to see, Except for items created by this user
*/
@ApiOperation
(
value
=
"queryAuthorizedProject"
,
notes
=
"QUERY_AUTHORIZED_PROJECT_NOTES"
)
@ApiOperation
(
value
=
"queryAuthorizedProject"
,
notes
=
"QUERY_AUTHORIZED_PROJECT_NOTES"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"userId"
,
value
=
"USER_ID"
,
dataType
=
"Int"
,
example
=
"100"
)
@ApiImplicitParam
(
name
=
"userId"
,
value
=
"USER_ID"
,
dataType
=
"Int"
,
example
=
"100"
)
})
@GetMapping
(
value
=
"/authed-project"
)
@ResponseStatus
(
HttpStatus
.
OK
)
@ApiException
(
QUERY_AUTHORIZED_PROJECT
)
public
Result
queryAuthorizedProject
(
@ApiIgnore
@RequestAttribute
(
value
=
Constants
.
SESSION_USER
)
User
loginUser
,
@RequestParam
(
"userId"
)
Integer
userId
)
{
try
{
logger
.
info
(
"login user {}, query authorized project by user id: {}."
,
loginUser
.
getUserName
(),
userId
);
Map
<
String
,
Object
>
result
=
projectService
.
queryAuthorizedProject
(
loginUser
,
userId
);
return
returnDataList
(
result
);
}
catch
(
Exception
e
)
{
logger
.
error
(
QUERY_AUTHORIZED_PROJECT
.
getMsg
(),
e
);
return
error
(
QUERY_AUTHORIZED_PROJECT
.
getCode
(),
QUERY_AUTHORIZED_PROJECT
.
getMsg
());
}
logger
.
info
(
"login user {}, query authorized project by user id: {}."
,
loginUser
.
getUserName
(),
userId
);
Map
<
String
,
Object
>
result
=
projectService
.
queryAuthorizedProject
(
loginUser
,
userId
);
return
returnDataList
(
result
);
}
/**
* import process definition
* @param loginUser login user
* @param file resource file
*
* @param loginUser login user
* @param file resource file
* @param projectName project name
* @return import result code
*/
@ApiOperation
(
value
=
"importProcessDefinition"
,
notes
=
"EXPORT_PROCCESS_DEFINITION_NOTES"
)
@ApiOperation
(
value
=
"importProcessDefinition"
,
notes
=
"EXPORT_PROCCESS_DEFINITION_NOTES"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"file"
,
value
=
"RESOURCE_FILE"
,
required
=
true
,
dataType
=
"MultipartFile"
)
})
@PostMapping
(
value
=
"/import-definition"
)
@PostMapping
(
value
=
"/import-definition"
)
@ApiException
(
IMPORT_PROCESS_DEFINE_ERROR
)
public
Result
importProcessDefinition
(
@ApiIgnore
@RequestAttribute
(
value
=
Constants
.
SESSION_USER
)
User
loginUser
,
@RequestParam
(
"file"
)
MultipartFile
file
,
@RequestParam
(
"projectName"
)
String
projectName
){
try
{
logger
.
info
(
"import process definition by id, login user:{}, project: {}"
,
loginUser
.
getUserName
(),
projectName
);
Map
<
String
,
Object
>
result
=
processDefinitionService
.
importProcessDefinition
(
loginUser
,
file
,
projectName
);
return
returnDataList
(
result
);
}
catch
(
Exception
e
){
logger
.
error
(
IMPORT_PROCESS_DEFINE_ERROR
.
getMsg
(),
e
);
return
error
(
IMPORT_PROCESS_DEFINE_ERROR
.
getCode
(),
IMPORT_PROCESS_DEFINE_ERROR
.
getMsg
());
}
@RequestParam
(
"projectName"
)
String
projectName
)
{
logger
.
info
(
"import process definition by id, login user:{}, project: {}"
,
loginUser
.
getUserName
(),
projectName
);
Map
<
String
,
Object
>
result
=
processDefinitionService
.
importProcessDefinition
(
loginUser
,
file
,
projectName
);
return
returnDataList
(
result
);
}
/**
* query all project list
*
* @param loginUser login user
* @return all project list
*/
@ApiOperation
(
value
=
"queryAllProjectList"
,
notes
=
"QUERY_ALL_PROJECT_LIST_NOTES"
)
@ApiOperation
(
value
=
"queryAllProjectList"
,
notes
=
"QUERY_ALL_PROJECT_LIST_NOTES"
)
@GetMapping
(
value
=
"/query-project-list"
)
@ResponseStatus
(
HttpStatus
.
OK
)
@ApiException
(
LOGIN_USER_QUERY_PROJECT_LIST_PAGING_ERROR
)
public
Result
queryAllProjectList
(
@ApiIgnore
@RequestAttribute
(
value
=
Constants
.
SESSION_USER
)
User
loginUser
)
{
try
{
logger
.
info
(
"login user {}, query all project list"
,
loginUser
.
getUserName
());
Map
<
String
,
Object
>
result
=
projectService
.
queryAllProjectList
();
return
returnDataList
(
result
);
}
catch
(
Exception
e
)
{
logger
.
error
(
LOGIN_USER_QUERY_PROJECT_LIST_PAGING_ERROR
.
getMsg
(),
e
);
return
error
(
Status
.
LOGIN_USER_QUERY_PROJECT_LIST_PAGING_ERROR
.
getCode
(),
Status
.
LOGIN_USER_QUERY_PROJECT_LIST_PAGING_ERROR
.
getMsg
());
}
logger
.
info
(
"login user {}, query all project list"
,
loginUser
.
getUserName
());
Map
<
String
,
Object
>
result
=
projectService
.
queryAllProjectList
();
return
returnDataList
(
result
);
}
}
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/QueueController.java
浏览文件 @
e2775c0d
...
...
@@ -18,6 +18,7 @@ package org.apache.dolphinscheduler.api.controller;
import
org.apache.dolphinscheduler.api.enums.Status
;
import
org.apache.dolphinscheduler.api.exceptions.ApiException
;
import
org.apache.dolphinscheduler.api.service.QueueService
;
import
org.apache.dolphinscheduler.api.utils.Result
;
import
org.apache.dolphinscheduler.common.Constants
;
...
...
@@ -36,6 +37,8 @@ import springfox.documentation.annotations.ApiIgnore;
import
java.util.Map
;
import
static
org
.
apache
.
dolphinscheduler
.
api
.
enums
.
Status
.*;
/**
* queue controller
...
...
@@ -43,7 +46,7 @@ import java.util.Map;
@Api
(
tags
=
"QUEUE_TAG"
,
position
=
1
)
@RestController
@RequestMapping
(
"/queue"
)
public
class
QueueController
extends
BaseController
{
public
class
QueueController
extends
BaseController
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
QueueController
.
class
);
...
...
@@ -53,151 +56,131 @@ public class QueueController extends BaseController{
/**
* query queue list
*
* @param loginUser login user
* @return queue list
*/
@ApiOperation
(
value
=
"queryList"
,
notes
=
"QUERY_QUEUE_LIST_NOTES"
)
@GetMapping
(
value
=
"/list"
)
@ApiOperation
(
value
=
"queryList"
,
notes
=
"QUERY_QUEUE_LIST_NOTES"
)
@GetMapping
(
value
=
"/list"
)
@ResponseStatus
(
HttpStatus
.
OK
)
public
Result
queryList
(
@ApiIgnore
@RequestAttribute
(
value
=
Constants
.
SESSION_USER
)
User
loginUser
){
try
{
logger
.
info
(
"login user {}, query queue list"
,
loginUser
.
getUserName
());
Map
<
String
,
Object
>
result
=
queueService
.
queryList
(
loginUser
);
return
returnDataList
(
result
);
}
catch
(
Exception
e
){
logger
.
error
(
Status
.
QUERY_QUEUE_LIST_ERROR
.
getMsg
(),
e
);
return
error
(
Status
.
QUERY_QUEUE_LIST_ERROR
.
getCode
(),
Status
.
QUERY_QUEUE_LIST_ERROR
.
getMsg
());
}
@ApiException
(
QUERY_QUEUE_LIST_ERROR
)
public
Result
queryList
(
@ApiIgnore
@RequestAttribute
(
value
=
Constants
.
SESSION_USER
)
User
loginUser
)
{
logger
.
info
(
"login user {}, query queue list"
,
loginUser
.
getUserName
());
Map
<
String
,
Object
>
result
=
queueService
.
queryList
(
loginUser
);
return
returnDataList
(
result
);
}
/**
* query queue list paging
*
* @param loginUser login user
* @param pageNo page number
* @param pageNo
page number
* @param searchVal search value
* @param pageSize page size
* @param pageSize
page size
* @return queue list
*/
@ApiOperation
(
value
=
"queryQueueListPaging"
,
notes
=
"QUERY_QUEUE_LIST_PAGING_NOTES"
)
@ApiOperation
(
value
=
"queryQueueListPaging"
,
notes
=
"QUERY_QUEUE_LIST_PAGING_NOTES"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"searchVal"
,
value
=
"SEARCH_VAL"
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"searchVal"
,
value
=
"SEARCH_VAL"
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"pageNo"
,
value
=
"PAGE_NO"
,
dataType
=
"Int"
,
example
=
"1"
),
@ApiImplicitParam
(
name
=
"pageSize"
,
value
=
"PAGE_SIZE"
,
dataType
=
"Int"
,
example
=
"20"
)
@ApiImplicitParam
(
name
=
"pageSize"
,
value
=
"PAGE_SIZE"
,
dataType
=
"Int"
,
example
=
"20"
)
})
@GetMapping
(
value
=
"/list-paging"
)
@GetMapping
(
value
=
"/list-paging"
)
@ResponseStatus
(
HttpStatus
.
OK
)
@ApiException
(
QUERY_QUEUE_LIST_ERROR
)
public
Result
queryQueueListPaging
(
@ApiIgnore
@RequestAttribute
(
value
=
Constants
.
SESSION_USER
)
User
loginUser
,
@RequestParam
(
"pageNo"
)
Integer
pageNo
,
@RequestParam
(
value
=
"searchVal"
,
required
=
false
)
String
searchVal
,
@RequestParam
(
"pageSize"
)
Integer
pageSize
){
try
{
logger
.
info
(
"login user {}, query queue list,search value:{}"
,
loginUser
.
getUserName
(),
searchVal
);
Map
<
String
,
Object
>
result
=
checkPageParams
(
pageNo
,
pageSize
);
if
(
result
.
get
(
Constants
.
STATUS
)
!=
Status
.
SUCCESS
){
return
returnDataListPaging
(
result
);
}
searchVal
=
ParameterUtils
.
handleEscapes
(
searchVal
);
result
=
queueService
.
queryList
(
loginUser
,
searchVal
,
pageNo
,
pageSize
);
@RequestParam
(
"pageNo"
)
Integer
pageNo
,
@RequestParam
(
value
=
"searchVal"
,
required
=
false
)
String
searchVal
,
@RequestParam
(
"pageSize"
)
Integer
pageSize
)
{
logger
.
info
(
"login user {}, query queue list,search value:{}"
,
loginUser
.
getUserName
(),
searchVal
);
Map
<
String
,
Object
>
result
=
checkPageParams
(
pageNo
,
pageSize
);
if
(
result
.
get
(
Constants
.
STATUS
)
!=
Status
.
SUCCESS
)
{
return
returnDataListPaging
(
result
);
}
catch
(
Exception
e
){
logger
.
error
(
Status
.
QUERY_QUEUE_LIST_ERROR
.
getMsg
(),
e
);
return
error
(
Status
.
QUERY_QUEUE_LIST_ERROR
.
getCode
(),
Status
.
QUERY_QUEUE_LIST_ERROR
.
getMsg
());
}
searchVal
=
ParameterUtils
.
handleEscapes
(
searchVal
);
result
=
queueService
.
queryList
(
loginUser
,
searchVal
,
pageNo
,
pageSize
);
return
returnDataListPaging
(
result
);
}
/**
* create queue
*
* @param loginUser login user
* @param queue queue
* @param queue
queue
* @param queueName queue name
* @return create result
*/
@ApiOperation
(
value
=
"createQueue"
,
notes
=
"CREATE_QUEUE_NOTES"
)
@ApiOperation
(
value
=
"createQueue"
,
notes
=
"CREATE_QUEUE_NOTES"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"queue"
,
value
=
"YARN_QUEUE_NAME"
,
required
=
true
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"queueName"
,
value
=
"QUEUE_NAME"
,
required
=
true
,
dataType
=
"String"
)
@ApiImplicitParam
(
name
=
"queue"
,
value
=
"YARN_QUEUE_NAME"
,
required
=
true
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"queueName"
,
value
=
"QUEUE_NAME"
,
required
=
true
,
dataType
=
"String"
)
})
@PostMapping
(
value
=
"/create"
)
@ResponseStatus
(
HttpStatus
.
CREATED
)
@ApiException
(
CREATE_QUEUE_ERROR
)
public
Result
createQueue
(
@ApiIgnore
@RequestAttribute
(
value
=
Constants
.
SESSION_USER
)
User
loginUser
,
@RequestParam
(
value
=
"queue"
)
String
queue
,
@RequestParam
(
value
=
"queueName"
)
String
queueName
)
{
@RequestParam
(
value
=
"queue"
)
String
queue
,
@RequestParam
(
value
=
"queueName"
)
String
queueName
)
{
logger
.
info
(
"login user {}, create queue, queue: {}, queueName: {}"
,
loginUser
.
getUserName
(),
queue
,
queueName
);
try
{
Map
<
String
,
Object
>
result
=
queueService
.
createQueue
(
loginUser
,
queue
,
queueName
);
return
returnDataList
(
result
);
}
catch
(
Exception
e
){
logger
.
error
(
Status
.
CREATE_QUEUE_ERROR
.
getMsg
(),
e
);
return
error
(
Status
.
CREATE_QUEUE_ERROR
.
getCode
(),
Status
.
CREATE_QUEUE_ERROR
.
getMsg
());
}
Map
<
String
,
Object
>
result
=
queueService
.
createQueue
(
loginUser
,
queue
,
queueName
);
return
returnDataList
(
result
);
}
/**
* update queue
*
* @param loginUser login user
* @param queue queue
* @param id queue id
* @param queue
queue
* @param id
queue id
* @param queueName queue name
* @return update result code
*/
@ApiOperation
(
value
=
"updateQueue"
,
notes
=
"UPDATE_QUEUE_NOTES"
)
@ApiOperation
(
value
=
"updateQueue"
,
notes
=
"UPDATE_QUEUE_NOTES"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"id"
,
value
=
"QUEUE_ID"
,
required
=
true
,
dataType
=
"Int"
,
example
=
"100"
),
@ApiImplicitParam
(
name
=
"queue"
,
value
=
"YARN_QUEUE_NAME"
,
required
=
true
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"queueName"
,
value
=
"QUEUE_NAME"
,
required
=
true
,
dataType
=
"String"
)
@ApiImplicitParam
(
name
=
"id"
,
value
=
"QUEUE_ID"
,
required
=
true
,
dataType
=
"Int"
,
example
=
"100"
),
@ApiImplicitParam
(
name
=
"queue"
,
value
=
"YARN_QUEUE_NAME"
,
required
=
true
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"queueName"
,
value
=
"QUEUE_NAME"
,
required
=
true
,
dataType
=
"String"
)
})
@PostMapping
(
value
=
"/update"
)
@ResponseStatus
(
HttpStatus
.
CREATED
)
@ApiException
(
UPDATE_QUEUE_ERROR
)
public
Result
updateQueue
(
@ApiIgnore
@RequestAttribute
(
value
=
Constants
.
SESSION_USER
)
User
loginUser
,
@RequestParam
(
value
=
"id"
)
int
id
,
@RequestParam
(
value
=
"queue"
)
String
queue
,
@RequestParam
(
value
=
"queueName"
)
String
queueName
)
{
logger
.
info
(
"login user {}, update queue, id: {}, queue: {}, queueName: {}"
,
loginUser
.
getUserName
(),
id
,
queue
,
queueName
);
try
{
Map
<
String
,
Object
>
result
=
queueService
.
updateQueue
(
loginUser
,
id
,
queue
,
queueName
);
return
returnDataList
(
result
);
}
catch
(
Exception
e
){
logger
.
error
(
Status
.
UPDATE_QUEUE_ERROR
.
getMsg
(),
e
);
return
error
(
Status
.
UPDATE_QUEUE_ERROR
.
getCode
(),
Status
.
UPDATE_QUEUE_ERROR
.
getMsg
());
}
loginUser
.
getUserName
(),
id
,
queue
,
queueName
);
Map
<
String
,
Object
>
result
=
queueService
.
updateQueue
(
loginUser
,
id
,
queue
,
queueName
);
return
returnDataList
(
result
);
}
/**
* verify queue and queue name
*
* @param loginUser login user
* @param queue queue
* @param queue
queue
* @param queueName queue name
* @return true if the queue name not exists, otherwise return false
*/
@ApiOperation
(
value
=
"verifyQueue"
,
notes
=
"VERIFY_QUEUE_NOTES"
)
@ApiOperation
(
value
=
"verifyQueue"
,
notes
=
"VERIFY_QUEUE_NOTES"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"id"
,
value
=
"QUEUE_ID"
,
required
=
true
,
dataType
=
"Int"
,
example
=
"100"
),
@ApiImplicitParam
(
name
=
"queue"
,
value
=
"YARN_QUEUE_NAME"
,
required
=
true
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"queueName"
,
value
=
"QUEUE_NAME"
,
required
=
true
,
dataType
=
"String"
)
@ApiImplicitParam
(
name
=
"id"
,
value
=
"QUEUE_ID"
,
required
=
true
,
dataType
=
"Int"
,
example
=
"100"
),
@ApiImplicitParam
(
name
=
"queue"
,
value
=
"YARN_QUEUE_NAME"
,
required
=
true
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"queueName"
,
value
=
"QUEUE_NAME"
,
required
=
true
,
dataType
=
"String"
)
})
@PostMapping
(
value
=
"/verify-queue"
)
@ResponseStatus
(
HttpStatus
.
OK
)
@ApiException
(
VERIFY_QUEUE_ERROR
)
public
Result
verifyQueue
(
@ApiIgnore
@RequestAttribute
(
value
=
Constants
.
SESSION_USER
)
User
loginUser
,
@RequestParam
(
value
=
"queue"
)
String
queue
,
@RequestParam
(
value
=
"queueName"
)
String
queueName
@RequestParam
(
value
=
"queue"
)
String
queue
,
@RequestParam
(
value
=
"queueName"
)
String
queueName
)
{
try
{
logger
.
info
(
"login user {}, verfiy queue: {} queue name: {}"
,
loginUser
.
getUserName
(),
queue
,
queueName
);
return
queueService
.
verifyQueue
(
queue
,
queueName
);
}
catch
(
Exception
e
){
logger
.
error
(
Status
.
VERIFY_QUEUE_ERROR
.
getMsg
(),
e
);
return
error
(
Status
.
VERIFY_QUEUE_ERROR
.
getCode
(),
Status
.
VERIFY_QUEUE_ERROR
.
getMsg
());
}
logger
.
info
(
"login user {}, verfiy queue: {} queue name: {}"
,
loginUser
.
getUserName
(),
queue
,
queueName
);
return
queueService
.
verifyQueue
(
queue
,
queueName
);
}
...
...
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ResourcesController.java
浏览文件 @
e2775c0d
此差异已折叠。
点击以展开。
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/SchedulerController.java
浏览文件 @
e2775c0d
此差异已折叠。
点击以展开。
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/TaskInstanceController.java
浏览文件 @
e2775c0d
此差异已折叠。
点击以展开。
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/TaskRecordController.java
浏览文件 @
e2775c0d
此差异已折叠。
点击以展开。
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/TenantController.java
浏览文件 @
e2775c0d
此差异已折叠。
点击以展开。
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/UsersController.java
浏览文件 @
e2775c0d
此差异已折叠。
点击以展开。
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/WorkerGroupController.java
浏览文件 @
e2775c0d
此差异已折叠。
点击以展开。
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/exceptions/ApiExceptionHandler.java
浏览文件 @
e2775c0d
...
...
@@ -36,12 +36,13 @@ public class ApiExceptionHandler {
@ExceptionHandler
(
Exception
.
class
)
public
Result
exceptionHandler
(
Exception
e
,
HandlerMethod
hm
)
{
logger
.
error
(
e
.
getMessage
(),
e
);
ApiException
ce
=
hm
.
getMethodAnnotation
(
ApiException
.
class
);
if
(
ce
==
null
)
{
logger
.
error
(
e
.
getMessage
(),
e
);
return
Result
.
errorWithArgs
(
Status
.
INTERNAL_SERVER_ERROR_ARGS
,
e
.
getMessage
());
}
Status
st
=
ce
.
value
();
logger
.
error
(
st
.
getMsg
(),
e
);
return
Result
.
error
(
st
);
}
...
...
dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/exceptions/ApiExceptionHandlerTest.java
浏览文件 @
e2775c0d
...
...
@@ -17,6 +17,7 @@
package
org.apache.dolphinscheduler.api.exceptions
;
import
org.apache.dolphinscheduler.api.controller.AccessTokenController
;
import
org.apache.dolphinscheduler.api.controller.ProcessDefinitionController
;
import
org.apache.dolphinscheduler.api.enums.Status
;
import
org.apache.dolphinscheduler.api.utils.Result
;
import
org.apache.dolphinscheduler.dao.entity.User
;
...
...
@@ -24,6 +25,7 @@ import org.junit.Assert;
import
org.junit.Test
;
import
org.springframework.web.method.HandlerMethod
;
import
javax.servlet.http.HttpServletResponse
;
import
java.lang.reflect.Method
;
import
static
org
.
junit
.
Assert
.*;
...
...
@@ -39,4 +41,14 @@ public class ApiExceptionHandlerTest {
Result
result
=
handler
.
exceptionHandler
(
new
RuntimeException
(
"test exception"
),
hm
);
Assert
.
assertEquals
(
Status
.
CREATE_ACCESS_TOKEN_ERROR
.
getCode
(),
result
.
getCode
().
intValue
());
}
@Test
public
void
exceptionHandlerRuntime
()
throws
NoSuchMethodException
{
ApiExceptionHandler
handler
=
new
ApiExceptionHandler
();
ProcessDefinitionController
controller
=
new
ProcessDefinitionController
();
Method
method
=
controller
.
getClass
().
getMethod
(
"exportProcessDefinitionById"
,
User
.
class
,
String
.
class
,
Integer
.
class
,
HttpServletResponse
.
class
);
HandlerMethod
hm
=
new
HandlerMethod
(
controller
,
method
);
Result
result
=
handler
.
exceptionHandler
(
new
RuntimeException
(
"test exception"
),
hm
);
Assert
.
assertEquals
(
Status
.
INTERNAL_SERVER_ERROR_ARGS
.
getCode
(),
result
.
getCode
().
intValue
());
}
}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录