This commit is contained in:
zhouxin5253@163.com 2021-01-22 20:36:17 +08:00
parent f1920c54f0
commit e51fb4fc96
5 changed files with 22 additions and 20 deletions

View File

@ -10,7 +10,7 @@
</parent> </parent>
<groupId>com.github.zxbu</groupId> <groupId>com.github.zxbu</groupId>
<artifactId>webdav-teambition</artifactId> <artifactId>webdav-teambition</artifactId>
<version>0.0.2-SNAPSHOT</version> <version>1.0.0</version>
<name>webdav-teambition</name> <name>webdav-teambition</name>
<description>Demo project for Spring Boot</description> <description>Demo project for Spring Boot</description>

View File

@ -2,6 +2,7 @@ package com.github.zxbu.webdavteambition.client;
import com.github.zxbu.webdavteambition.config.TeambitionProperties; import com.github.zxbu.webdavteambition.config.TeambitionProperties;
import com.github.zxbu.webdavteambition.util.JsonUtil; import com.github.zxbu.webdavteambition.util.JsonUtil;
import net.sf.webdav.exceptions.WebdavException;
import okhttp3.*; import okhttp3.*;
import okio.BufferedSink; import okio.BufferedSink;
import org.slf4j.Logger; import org.slf4j.Logger;
@ -69,7 +70,7 @@ public class TeambitionClient {
response = okHttpClient.newCall(request).execute(); response = okHttpClient.newCall(request).execute();
return response.body().byteStream(); return response.body().byteStream();
} catch (IOException e) { } catch (IOException e) {
throw new RuntimeException(e); throw new WebdavException(e);
} }
} }
@ -81,10 +82,10 @@ public class TeambitionClient {
LOGGER.info("post {}, code {}", url, response.code()); LOGGER.info("post {}, code {}", url, response.code());
if (!response.isSuccessful()) { if (!response.isSuccessful()) {
LOGGER.error("请求失败url={}, code={}, body={}", url, response.code(), response.body().string()); LOGGER.error("请求失败url={}, code={}, body={}", url, response.code(), response.body().string());
throw new RuntimeException("请求失败:" + url); throw new WebdavException("请求失败:" + url);
} }
} catch (IOException e) { } catch (IOException e) {
throw new RuntimeException(e); throw new WebdavException(e);
} }
} }
@ -96,11 +97,11 @@ public class TeambitionClient {
LOGGER.info("post {}, code {}", url, response.code()); LOGGER.info("post {}, code {}", url, response.code());
if (!response.isSuccessful()) { if (!response.isSuccessful()) {
LOGGER.error("请求失败url={}, code={}, body={}", url, response.code(), response.body().string()); LOGGER.error("请求失败url={}, code={}, body={}", url, response.code(), response.body().string());
throw new RuntimeException("请求失败:" + url); throw new WebdavException("请求失败:" + url);
} }
return toString(response.body()); return toString(response.body());
} catch (IOException e) { } catch (IOException e) {
throw new RuntimeException(e); throw new WebdavException(e);
} }
} }
@ -112,11 +113,11 @@ public class TeambitionClient {
LOGGER.info("put {}, code {}", url, response.code()); LOGGER.info("put {}, code {}", url, response.code());
if (!response.isSuccessful()) { if (!response.isSuccessful()) {
LOGGER.error("请求失败url={}, code={}, body={}", url, response.code(), response.body().string()); LOGGER.error("请求失败url={}, code={}, body={}", url, response.code(), response.body().string());
throw new RuntimeException("请求失败:" + url); throw new WebdavException("请求失败:" + url);
} }
return toString(response.body()); return toString(response.body());
} catch (IOException e) { } catch (IOException e) {
throw new RuntimeException(e); throw new WebdavException(e);
} }
} }
@ -129,13 +130,13 @@ public class TeambitionClient {
try (Response response = okHttpClient.newCall(request).execute()){ try (Response response = okHttpClient.newCall(request).execute()){
LOGGER.info("get {}, code {}", urlBuilder.build(), response.code()); LOGGER.info("get {}, code {}", urlBuilder.build(), response.code());
if (!response.isSuccessful()) { if (!response.isSuccessful()) {
throw new RuntimeException("请求失败:" + urlBuilder.build().toString()); throw new WebdavException("请求失败:" + urlBuilder.build().toString());
} }
return toString(response.body()); return toString(response.body());
} }
} catch (Exception e) { } catch (Exception e) {
throw new RuntimeException(e); throw new WebdavException(e);
} }
} }

View File

@ -9,6 +9,7 @@ import com.github.zxbu.webdavteambition.model.result.ListResult;
import com.github.zxbu.webdavteambition.model.result.TFile; import com.github.zxbu.webdavteambition.model.result.TFile;
import com.github.zxbu.webdavteambition.model.result.UploadPreResult; import com.github.zxbu.webdavteambition.model.result.UploadPreResult;
import com.github.zxbu.webdavteambition.util.JsonUtil; import com.github.zxbu.webdavteambition.util.JsonUtil;
import net.sf.webdav.exceptions.WebdavException;
import org.apache.tomcat.util.http.fileupload.IOUtils; import org.apache.tomcat.util.http.fileupload.IOUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -83,7 +84,7 @@ public class TeambitionClientService {
}); });
return stringMap; return stringMap;
} catch (Exception e) { } catch (Exception e) {
throw new RuntimeException(e); throw new WebdavException(e);
} }
} }
@ -129,7 +130,7 @@ public class TeambitionClientService {
LOGGER.info("文件正在上传。文件名:{},当前进度:{}/{}", path, (i+1), uploadUrl.size()); LOGGER.info("文件正在上传。文件名:{},当前进度:{}/{}", path, (i+1), uploadUrl.size());
} catch (IOException e) { } catch (IOException e) {
throw new RuntimeException(e); throw new WebdavException(e);
} }
} }

View File

@ -5,6 +5,7 @@ import com.github.zxbu.webdavteambition.model.result.TFile;
import net.sf.webdav.ITransaction; import net.sf.webdav.ITransaction;
import net.sf.webdav.IWebdavStore; import net.sf.webdav.IWebdavStore;
import net.sf.webdav.StoredObject; import net.sf.webdav.StoredObject;
import net.sf.webdav.exceptions.WebdavException;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.RequestContextHolder;
@ -140,7 +141,7 @@ public class TeambitionFileSystemStore implements IWebdavStore {
teambitionClientService.move(sourcePath, destinationPathInfo.getParentPath()); teambitionClientService.move(sourcePath, destinationPathInfo.getParentPath());
} else { } else {
if (!destinationPathInfo.getParentPath().equals(sourcePathInfo.getParentPath())) { if (!destinationPathInfo.getParentPath().equals(sourcePathInfo.getParentPath())) {
throw new RuntimeException("不支持目录和名字同时修改"); throw new WebdavException("不支持目录和名字同时修改");
} }
// 名字不同说明是修改名字不考虑目录和名字同时修改的情况 // 名字不同说明是修改名字不考虑目录和名字同时修改的情况
teambitionClientService.rename(sourcePath, destinationPathInfo.getName()); teambitionClientService.rename(sourcePath, destinationPathInfo.getName());

View File

@ -1,13 +1,12 @@
package com.github.zxbu.webdavteambition.util; package com.github.zxbu.webdavteambition.util;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import net.sf.webdav.exceptions.WebdavException;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
@ -20,7 +19,7 @@ public class JsonUtil {
try { try {
return objectMapper.writeValueAsString(o); return objectMapper.writeValueAsString(o);
} catch (JsonProcessingException e) { } catch (JsonProcessingException e) {
throw new RuntimeException(e); throw new WebdavException(e);
} }
} }
@ -28,7 +27,7 @@ public class JsonUtil {
try { try {
return objectMapper.readValue(json, valueTypeRef); return objectMapper.readValue(json, valueTypeRef);
} catch (IOException e) { } catch (IOException e) {
throw new RuntimeException(e); throw new WebdavException(e);
} }
} }
@ -37,7 +36,7 @@ public class JsonUtil {
try { try {
return objectMapper.readValue(json, valueType); return objectMapper.readValue(json, valueType);
} catch (IOException e) { } catch (IOException e) {
throw new RuntimeException(e); throw new WebdavException(e);
} }
} }
@ -65,7 +64,7 @@ public class JsonUtil {
} }
return objectMapper.treeToValue(jsonNode, Object.class); return objectMapper.treeToValue(jsonNode, Object.class);
} catch (Exception e) { } catch (Exception e) {
throw new RuntimeException(e); throw new WebdavException(e);
} }
} }
@ -115,7 +114,7 @@ public class JsonUtil {
try { try {
return objectMapper.readTree(responseBody); return objectMapper.readTree(responseBody);
} catch (JsonProcessingException e) { } catch (JsonProcessingException e) {
throw new RuntimeException(e); throw new WebdavException(e);
} }
} }