This is an automated email from the ASF dual-hosted git repository.

journey pushed a commit to branch 1.3.2-release
in repository https://gitbox.apache.org/repos/asf/incubator-dolphinscheduler.git


The following commit(s) were added to refs/heads/1.3.2-release by this push:
     new 0505ebf  [Fix-3536][api]If user didn't have tenant,create resource 
directory will NPE (#3537)
0505ebf is described below

commit 0505ebf45d93fc1518386804ceffa6b36595f9c5
Author: lgcareer <18610854...@163.com>
AuthorDate: Tue Aug 18 13:48:54 2020 +0800

    [Fix-3536][api]If user didn't have tenant,create resource directory will 
NPE (#3537)
    
    * [Fix-3536][api]If user didn't have tenant,create resource will NPE
    
    * [Fix-3536][api]If user didn't have tenant,create resource directory will 
NPE
---
 .../dolphinscheduler/api/service/ResourcesService.java       | 12 ++++--------
 .../dolphinscheduler/api/service/ResourcesServiceTest.java   |  4 ++++
 2 files changed, 8 insertions(+), 8 deletions(-)

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 f66e035..632c75c 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
@@ -103,7 +103,10 @@ public class ResourcesService extends BaseService {
             return result;
         }
         String fullName = currentDir.equals("/") ? 
String.format("%s%s",currentDir,name):String.format("%s/%s",currentDir,name);
-
+        result = verifyResourceName(fullName,type,loginUser);
+        if (!result.getCode().equals(Status.SUCCESS.getCode())) {
+            return result;
+        }
         if (pid != -1) {
             Resource parentResource = resourcesMapper.selectById(pid);
 
@@ -118,13 +121,6 @@ public class ResourcesService extends BaseService {
             }
         }
 
-
-        if (checkResourceExists(fullName, 0, type.ordinal())) {
-            logger.error("resource directory {} has exist, can't recreate", 
fullName);
-            putMsg(result, Status.RESOURCE_EXIST);
-            return result;
-        }
-
         Date now = new Date();
 
         Resource resource = new 
Resource(pid,name,fullName,true,description,name,loginUser.getId(),type,0,now,now);
diff --git 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/ResourcesServiceTest.java
 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/ResourcesServiceTest.java
index 1e3c95d..9594723 100644
--- 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/ResourcesServiceTest.java
+++ 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/ResourcesServiceTest.java
@@ -138,6 +138,10 @@ public class ResourcesServiceTest {
         Assert.assertEquals(Status.HDFS_NOT_STARTUP.getMsg(),result.getMsg());
 
         //PARENT_RESOURCE_NOT_EXIST
+        user.setId(1);
+        user.setTenantId(1);
+        Mockito.when(userMapper.selectById(1)).thenReturn(getUser());
+        Mockito.when(tenantMapper.queryById(1)).thenReturn(getTenant());
         
PowerMockito.when(PropertyUtils.getResUploadStartupState()).thenReturn(true);
         
Mockito.when(resourcesMapper.selectById(Mockito.anyInt())).thenReturn(null);
         result = 
resourcesService.createDirectory(user,"directoryTest","directory 
test",ResourceType.FILE,1,"/");

Reply via email to