You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by jo...@apache.org on 2020/03/17 02:20:18 UTC
[incubator-dolphinscheduler] branch dev-resource-tree updated: add
queryResourceJarList (#2192)
This is an automated email from the ASF dual-hosted git repository.
journey pushed a commit to branch dev-resource-tree
in repository https://gitbox.apache.org/repos/asf/incubator-dolphinscheduler.git
The following commit(s) were added to refs/heads/dev-resource-tree by this push:
new ab046dc add queryResourceJarList (#2192)
ab046dc is described below
commit ab046dcba79f60dc64a9d3c6d0a606f7977578e1
Author: lgcareer <18...@163.com>
AuthorDate: Tue Mar 17 10:20:06 2020 +0800
add queryResourceJarList (#2192)
* update resource service test
* Fix github action rerun failed
* add status of PARENT_RESOURCE_NOT_EXIST
* build resource process definition map
* update resource name also need update all the children full name
* need add queryResource
* add queryResourceJarList
* add queryResourceJarList
* add queryResourceJarList
---
.../api/controller/ResourcesController.java | 26 +++++++++++++++++++++
.../api/service/ResourcesService.java | 27 ++++++++++++++++++++++
2 files changed, 53 insertions(+)
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ResourcesController.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ResourcesController.java
index 31ec1f0..f9d3b1a 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ResourcesController.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ResourcesController.java
@@ -302,6 +302,32 @@ public class ResourcesController extends BaseController{
}
/**
+ * query resources jar list
+ *
+ * @param loginUser login user
+ * @param type resource type
+ * @return resource list
+ */
+ @ApiOperation(value = "queryResourceJarList", notes= "QUERY_RESOURCE_LIST_NOTES")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "type", value = "RESOURCE_TYPE", required = true, dataType ="ResourceType")
+ })
+ @GetMapping(value="/list/jar")
+ @ResponseStatus(HttpStatus.OK)
+ public Result queryResourceJarList(@ApiIgnore @RequestAttribute(value = Constants.SESSION_USER) User loginUser,
+ @RequestParam(value ="type") ResourceType type
+ ){
+ try{
+ logger.info("query resource list, login user:{}, resource type:{}", loginUser.getUserName(), type.toString());
+ Map<String, Object> result = resourceService.queryResourceJarList(loginUser, type);
+ return returnDataList(result);
+ }catch (Exception e){
+ logger.error(QUERY_RESOURCES_LIST_ERROR.getMsg(),e);
+ return error(Status.QUERY_RESOURCES_LIST_ERROR.getCode(), Status.QUERY_RESOURCES_LIST_ERROR.getMsg());
+ }
+ }
+
+ /**
* query resource by full name and type
*
* @param loginUser login user
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ResourcesService.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ResourcesService.java
index b8a53d1..49d12a2 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ResourcesService.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ResourcesService.java
@@ -517,6 +517,33 @@ public class ResourcesService extends BaseService {
}
/**
+ * query resource list
+ *
+ * @param loginUser login user
+ * @param type resource type
+ * @return resource list
+ */
+ public Map<String, Object> queryResourceJarList(User loginUser, ResourceType type) {
+
+ Map<String, Object> result = new HashMap<>(5);
+ List<Resource> resourceList;
+ int userId = loginUser.getId();
+ if(isAdmin(loginUser)){
+ userId = 0;
+ }
+ resourceList = resourcesMapper.queryResourceListAuthored(userId, type.ordinal());
+ List<Resource> resources = resourceList.stream().filter(t -> {
+ String alias = t.getAlias();
+ return alias.endsWith(".jar");
+ }).collect(Collectors.toList());
+ Visitor resourceTreeVisitor = new ResourceTreeVisitor(resources);
+ result.put(Constants.DATA_LIST, resourceTreeVisitor.visit().getChildren());
+ putMsg(result,Status.SUCCESS);
+
+ return result;
+ }
+
+ /**
* delete resource
*
* @param loginUser login user