Skip to content

Commit 0d94a5f

Browse files
committed
feature 16801
1 parent 6c2b7e0 commit 0d94a5f

File tree

13 files changed

+17
-20
lines changed

13 files changed

+17
-20
lines changed

dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/dto/resources/visitor/ResourceTreeVisitor.java

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import org.apache.dolphinscheduler.api.dto.resources.Directory;
2121
import org.apache.dolphinscheduler.api.dto.resources.FileLeaf;
2222
import org.apache.dolphinscheduler.api.dto.resources.ResourceComponent;
23-
import org.apache.dolphinscheduler.common.constants.Constants;
2423
import org.apache.dolphinscheduler.plugin.storage.api.StorageEntity;
2524

2625
import java.util.ArrayList;
@@ -124,15 +123,10 @@ private static ResourceComponent getResourceComponent(StorageEntity resource) {
124123
tempResourceComponent = new FileLeaf();
125124
}
126125

127-
String currentDir = "";
128-
if (resource.getFullName().contains(Constants.RESOURCE_TYPE_FILE)) {
129-
currentDir = resource.getFullName().split(Constants.RESOURCE_TYPE_FILE)[1].substring(1);
130-
}
131-
132126
tempResourceComponent.setName(resource.getFileName());
133127
tempResourceComponent.setFullName(resource.getFullName());
134128
tempResourceComponent.setType(resource.getType());
135-
tempResourceComponent.setCurrentDir(currentDir);
129+
tempResourceComponent.setCurrentDir(resource.getRelativePath());
136130
return tempResourceComponent;
137131
}
138132

dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/constants/Constants.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,6 @@ public final class Constants {
4343
public static final String FORMAT_S_S_COLON = "%s:%s";
4444
public static final String FOLDER_SEPARATOR = "/";
4545

46-
public static final String RESOURCE_TYPE_FILE = "resources";
47-
4846
public static final String EMPTY_STRING = "";
4947

5048
/**

dolphinscheduler-storage-plugin/dolphinscheduler-storage-api/src/main/java/org/apache/dolphinscheduler/plugin/storage/api/AbstractStorageOperator.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717

1818
package org.apache.dolphinscheduler.plugin.storage.api;
1919

20-
import org.apache.dolphinscheduler.common.constants.Constants;
2120
import org.apache.dolphinscheduler.common.utils.FileUtils;
2221
import org.apache.dolphinscheduler.common.utils.PropertyUtils;
2322
import org.apache.dolphinscheduler.plugin.storage.api.constants.StorageConstants;
@@ -86,7 +85,7 @@ public String getStorageBaseDirectory(String tenantCode, ResourceType resourceTy
8685
String resourceBaseDirectory;
8786
switch (resourceType) {
8887
case FILE:
89-
resourceBaseDirectory = FileUtils.concatFilePath(tenantBaseDirectory, Constants.RESOURCE_TYPE_FILE);
88+
resourceBaseDirectory = FileUtils.concatFilePath(tenantBaseDirectory, StorageOperator.FILE_FOLDER_NAME);
9089
break;
9190
case ALL:
9291
resourceBaseDirectory = tenantBaseDirectory;

dolphinscheduler-storage-plugin/dolphinscheduler-storage-api/src/main/java/org/apache/dolphinscheduler/plugin/storage/api/ResourceMetadata.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,5 +38,4 @@ public class ResourceMetadata {
3838
private String resourceRelativePath;
3939
private String resourceParentAbsolutePath;
4040
private boolean isDirectory;
41-
4241
}

dolphinscheduler-storage-plugin/dolphinscheduler-storage-api/src/main/java/org/apache/dolphinscheduler/plugin/storage/api/StorageEntity.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,5 @@ public class StorageEntity {
4646
private long size;
4747
private Date createTime;
4848
private Date updateTime;
49+
private String relativePath;
4950
}

dolphinscheduler-storage-plugin/dolphinscheduler-storage-api/src/main/java/org/apache/dolphinscheduler/plugin/storage/api/StorageOperator.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424

2525
public interface StorageOperator {
2626

27+
String FILE_FOLDER_NAME = "resources";
28+
2729
ResourceMetadata getResourceMetaData(String resourceAbsolutePath);
2830

2931
/**

dolphinscheduler-storage-plugin/dolphinscheduler-storage-cos/src/main/java/org/apache/dolphinscheduler/plugin/storage/cos/CosStorageOperator.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -306,6 +306,7 @@ protected StorageEntity transformCOSObjectToStorageEntity(COSObject object) {
306306
.type(resourceMetaData.getResourceType())
307307
.isDirectory(StringUtils.isEmpty(fileExtension))
308308
.size(metadata.getContentLength())
309+
.relativePath(resourceMetaData.getResourceRelativePath())
309310
.createTime(metadata.getLastModified())
310311
.updateTime(metadata.getLastModified())
311312
.build();

dolphinscheduler-storage-plugin/dolphinscheduler-storage-gcs/src/main/java/org/apache/dolphinscheduler/plugin/storage/gcs/GcsStorageOperator.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -273,6 +273,7 @@ private StorageEntity transformBlobToStorageEntity(Blob blob) {
273273
entity.setDirectory(resourceMetaData.isDirectory());
274274
entity.setType(resourceMetaData.getResourceType());
275275
entity.setSize(blob.getSize());
276+
entity.setRelativePath(resourceMetaData.getResourceRelativePath());
276277
entity.setCreateTime(Date.from(blob.getCreateTimeOffsetDateTime().toInstant()));
277278
entity.setUpdateTime(Date.from(blob.getUpdateTimeOffsetDateTime().toInstant()));
278279
return entity;

dolphinscheduler-storage-plugin/dolphinscheduler-storage-hdfs/src/main/java/org/apache/dolphinscheduler/plugin/storage/hdfs/HdfsStorageOperator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -268,14 +268,14 @@ private StorageEntity transformFileStatusToResourceMetadata(FileStatus fileStatu
268268
Path fileStatusPath = fileStatus.getPath();
269269
String fileAbsolutePath = fileStatusPath.toString();
270270
ResourceMetadata resourceMetaData = getResourceMetaData(fileAbsolutePath);
271-
272271
return StorageEntity.builder()
273272
.fileName(fileStatusPath.getName())
274273
.fullName(fileAbsolutePath)
275274
.pfullName(resourceMetaData.getResourceParentAbsolutePath())
276275
.type(resourceMetaData.getResourceType())
277276
.isDirectory(fileStatus.isDirectory())
278277
.size(fileStatus.getLen())
278+
.relativePath(resourceMetaData.getResourceRelativePath())
279279
.createTime(new Date(fileStatus.getModificationTime()))
280280
.updateTime(new Date(fileStatus.getModificationTime()))
281281
.build();

dolphinscheduler-storage-plugin/dolphinscheduler-storage-hdfs/src/test/java/org/apache/dolphinscheduler/plugin/storage/hdfs/LocalStorageOperatorTest.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import static com.google.common.truth.Truth.assertThat;
2121
import static org.junit.jupiter.api.Assertions.assertThrows;
2222

23-
import org.apache.dolphinscheduler.common.constants.Constants;
2423
import org.apache.dolphinscheduler.common.utils.FileUtils;
2524
import org.apache.dolphinscheduler.plugin.storage.api.ResourceMetadata;
2625
import org.apache.dolphinscheduler.plugin.storage.api.StorageEntity;
@@ -47,7 +46,7 @@ class LocalStorageOperatorTest {
4746
Paths.get(LocalStorageOperatorTest.class.getResource("/").getFile(), "localStorage").toString();
4847
private static final String tenantCode = "default";
4948
private static final String baseDir =
50-
Paths.get(resourceBaseDir, tenantCode, StorageConstants.RESOURCE_TYPE_FILE).toString();
49+
Paths.get(resourceBaseDir, tenantCode, StorageOperator.FILE_FOLDER_NAME).toString();
5150

5251
@SneakyThrows
5352
@BeforeEach
@@ -116,7 +115,7 @@ public void testGetStorageBaseDirectory_withTenant() {
116115
public void testGetStorageBaseDirectory_withTenant_withResourceTypeFile() {
117116
String storageBaseDirectory = storageOperator.getStorageBaseDirectory("default", ResourceType.FILE);
118117
assertThat(storageBaseDirectory)
119-
.isEqualTo("file:" + Paths.get(resourceBaseDir, tenantCode, Constants.RESOURCE_TYPE_FILE));
118+
.isEqualTo("file:" + Paths.get(resourceBaseDir, tenantCode, StorageOperator.FILE_FOLDER_NAME));
120119
}
121120

122121
@Test
@@ -143,21 +142,21 @@ public void testGetStorageBaseDirectory_withTenant_withEmptyResourceType() {
143142
public void testGetStorageFileAbsolutePath() {
144143
String fileAbsolutePath = storageOperator.getStorageFileAbsolutePath("default", "test.sh");
145144
assertThat(fileAbsolutePath).isEqualTo(
146-
"file:" + Paths.get(resourceBaseDir, tenantCode, Constants.RESOURCE_TYPE_FILE, "test.sh"));
145+
"file:" + Paths.get(resourceBaseDir, tenantCode, StorageOperator.FILE_FOLDER_NAME, "test.sh"));
147146
}
148147

149148
@SneakyThrows
150149
@Test
151150
public void testCreateStorageDir_notExists() {
152151
String testDirFileAbsolutePath =
153-
"file:" + Paths.get(resourceBaseDir, "root", Constants.RESOURCE_TYPE_FILE, "testDir");
152+
"file:" + Paths.get(resourceBaseDir, "root", StorageOperator.FILE_FOLDER_NAME, "testDir");
154153
try {
155154
storageOperator.createStorageDir(testDirFileAbsolutePath);
156155
StorageEntity storageEntity = storageOperator.getStorageEntity(testDirFileAbsolutePath);
157156
assertThat(storageEntity.getFullName()).isEqualTo(testDirFileAbsolutePath);
158157
assertThat(storageEntity.getFileName()).isEqualTo("testDir");
159158
assertThat(storageEntity.getPfullName())
160-
.isEqualTo("file:" + Paths.get(resourceBaseDir, "root", Constants.RESOURCE_TYPE_FILE));
159+
.isEqualTo("file:" + Paths.get(resourceBaseDir, "root", StorageOperator.FILE_FOLDER_NAME));
161160
assertThat(storageEntity.isDirectory()).isTrue();
162161
assertThat(storageEntity.getType()).isEqualTo(ResourceType.FILE);
163162
} finally {
@@ -169,7 +168,7 @@ public void testCreateStorageDir_notExists() {
169168
@Test
170169
public void testCreateStorageDir_exists() {
171170
String testDirFileAbsolutePath =
172-
"file:" + Paths.get(resourceBaseDir, "default", Constants.RESOURCE_TYPE_FILE, "sqlDirectory");
171+
"file:" + Paths.get(resourceBaseDir, "default", StorageOperator.FILE_FOLDER_NAME, "sqlDirectory");
173172
assertThrows(FileAlreadyExistsException.class, () -> storageOperator.createStorageDir(testDirFileAbsolutePath));
174173
}
175174

0 commit comments

Comments
 (0)