From 3e045798090455a5b105955ec279d6fbbee0d77f Mon Sep 17 00:00:00 2001 From: li-guohao Date: Fri, 30 Jun 2023 12:26:04 +0800 Subject: [PATCH] optimize: file client for api change. --- build.gradle | 5 ++- gradle.properties | 2 +- lib/api-0.3.0-sources.jar | Bin 36247 -> 36449 bytes lib/api-0.3.0.jar | Bin 90039 -> 90215 bytes .../plugin/baidupan/BaiDuPanClient.java | 9 ++-- .../plugin/baidupan/BaiDuPanFileHandler.java | 42 ++++++++---------- src/main/resources/plugin.yaml | 2 +- .../plugin/baidupan/BaiDuPanClientTest.java | 2 +- 8 files changed, 30 insertions(+), 32 deletions(-) diff --git a/build.gradle b/build.gradle index 61e9732..1edbb2d 100644 --- a/build.gradle +++ b/build.gradle @@ -18,14 +18,15 @@ ext { } - dependencies { compileOnly "org.springframework:spring-context:$springContext" compileOnly "org.pf4j:pf4j:$pf4j" compileOnly "io.projectreactor:reactor-core:3.5.1" compileOnly "org.springframework:spring-webflux:6.0.3" compileOnly "org.springdoc:springdoc-openapi-starter-webflux-api:2.0.2" + compileOnly files(libFile) + testImplementation files(libFile) testImplementation "org.springframework:spring-context:$springContext" testImplementation "org.pf4j:pf4j:$pf4j" @@ -34,7 +35,7 @@ dependencies { testImplementation "org.springdoc:springdoc-openapi-starter-webflux-api:2.0.2" testImplementation 'org.slf4j:slf4j-api:2.0.7' testImplementation 'org.slf4j:slf4j-simple:2.0.7' - testImplementation files(libFile) + // lombok compileOnly "org.projectlombok:lombok:$lombok" diff --git a/gradle.properties b/gradle.properties index 9ea6b14..a8569e3 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ group=run.ikaros.plugin.baidupan description=a bai du pan plugin for ikaros. -version=0.1.1 \ No newline at end of file +version=0.1.2 \ No newline at end of file diff --git a/lib/api-0.3.0-sources.jar b/lib/api-0.3.0-sources.jar index 272305875a48fbfa7f2578effc85f665d85f8234..0379d42eeaa8ae77f356f8fd54c6f18bc1ef3486 100644 GIT binary patch delta 5942 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 delta 5797 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 diff --git a/lib/api-0.3.0.jar b/lib/api-0.3.0.jar index 078e6aa201e3aa041bb873676722d6b357ca694e..f39774b925afc485d9ab649cc73eba9b243e809e 100644 GIT binary patch delta 12694 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 delta 12567 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 fsIdList, Path targetDirPath) { + public void download(String fsId, Path targetDirPath) { Assert.notNull(targetDirPath, "'targetDirPath' must not null."); - Assert.notNull(fsIdList, "'fsIdList' must not null."); + Assert.notNull(fsId, "'fsId' must not null."); - List list = fsIdList.stream().map(Long::valueOf).toList(); - log.debug("fsids: {}", list); + List list = Stream.of(fsId).map(Long::valueOf).toList(); + log.debug("fsids: {}", fsId); // 获取文件信息和下载链接 UriComponents uriComponents = diff --git a/src/main/java/run/ikaros/plugin/baidupan/BaiDuPanFileHandler.java b/src/main/java/run/ikaros/plugin/baidupan/BaiDuPanFileHandler.java index 243b4f8..6437d94 100644 --- a/src/main/java/run/ikaros/plugin/baidupan/BaiDuPanFileHandler.java +++ b/src/main/java/run/ikaros/plugin/baidupan/BaiDuPanFileHandler.java @@ -2,6 +2,7 @@ import org.pf4j.Extension; import org.springframework.stereotype.Component; +import org.springframework.util.Assert; import run.ikaros.api.core.file.RemoteFileChunk; import run.ikaros.api.core.file.RemoteFileHandler; import run.ikaros.plugin.baidupan.result.FileCreateResult; @@ -27,32 +28,27 @@ public String remote() { } @Override - public List push(Path path) { - File[] files = path.toFile().listFiles(); - if (files == null) { - throw new RuntimeException("has not files for path: " + path); - } - List remoteFileChunks = new ArrayList<>(); - for (File file : files) { - FileCreateResult fileCreateResult = client.uploadFile(file.toPath()); - RemoteFileChunk remoteFileChunk = new RemoteFileChunk(); - remoteFileChunk.setFileId(String.valueOf(fileCreateResult.getFsId())); - remoteFileChunk.setFileName(String.valueOf(fileCreateResult.getFilename())); - remoteFileChunk.setCategory(fileCreateResult.getCategory()); - remoteFileChunk.setPath(fileCreateResult.getPath()); - remoteFileChunk.setMd5(fileCreateResult.getMd5()); - remoteFileChunk.setIsDir(fileCreateResult.getIsDir() == 1); - remoteFileChunk.setSize(fileCreateResult.getSize()); - log.info("upload chunk file to remote[{}] for name: [{}].", - BaiDuPanConst.REMOTE, file.getName()); - remoteFileChunks.add(remoteFileChunk); - } - return remoteFileChunks; + public RemoteFileChunk push(Path path) { + Assert.notNull(path, "'path' must not null."); + File file = path.toFile(); + Assert.notNull(file, "'path file' must not null."); + FileCreateResult fileCreateResult = client.uploadFile(file.toPath()); + RemoteFileChunk remoteFileChunk = new RemoteFileChunk(); + remoteFileChunk.setFileId(String.valueOf(fileCreateResult.getFsId())); + remoteFileChunk.setFileName(String.valueOf(fileCreateResult.getFilename())); + remoteFileChunk.setCategory(fileCreateResult.getCategory()); + remoteFileChunk.setPath(fileCreateResult.getPath()); + remoteFileChunk.setMd5(fileCreateResult.getMd5()); + remoteFileChunk.setIsDir(fileCreateResult.getIsDir() == 1); + remoteFileChunk.setSize(fileCreateResult.getSize()); + log.info("upload chunk file to remote[{}] for name: [{}].", + BaiDuPanConst.REMOTE, file.getName()); + return remoteFileChunk; } @Override - public void pull(Path targetDirPath, List fsIdList) { - client.download(fsIdList, targetDirPath); + public void pull(Path targetDirPath, String fsId) { + client.download(fsId, targetDirPath); } @Override diff --git a/src/main/resources/plugin.yaml b/src/main/resources/plugin.yaml index 80acb91..559f556 100644 --- a/src/main/resources/plugin.yaml +++ b/src/main/resources/plugin.yaml @@ -4,7 +4,7 @@ name: PluginBaiDuPan # plugin entry class that extends BasePlugin clazz: run.ikaros.plugin.baidupan.BaiDuPanPlugin # plugin 'version' is a valid semantic version string (see semver.org). -version: 0.1.1 +version: 0.1.2 requires: ">=0.3.0" author: name: Ikaros OSS Team diff --git a/src/test/java/run/ikaros/plugin/baidupan/BaiDuPanClientTest.java b/src/test/java/run/ikaros/plugin/baidupan/BaiDuPanClientTest.java index 87b4389..f3e9d6e 100644 --- a/src/test/java/run/ikaros/plugin/baidupan/BaiDuPanClientTest.java +++ b/src/test/java/run/ikaros/plugin/baidupan/BaiDuPanClientTest.java @@ -58,7 +58,7 @@ void download() { configMap.putDataItem("refreshToken", System.getenv("TEST_REFRESH_TOKEN")); baiDuPanClient.init(configMap); - baiDuPanClient.download(List.of("190341088047736"), + baiDuPanClient.download("190341088047736", Path.of(new File("C:\\Develop\\test\\ikaros-plugin\\encrypt").toURI())); }