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