Skip to content

Commit

Permalink
fix npe
Browse files Browse the repository at this point in the history
  • Loading branch information
imndx committed Nov 4, 2020
1 parent 31ce105 commit 2445c91
Showing 1 changed file with 62 additions and 60 deletions.
122 changes: 62 additions & 60 deletions src/main/java/cn/wildfirechat/app/ServiceImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -922,72 +922,74 @@ public RestResult putFavoriteItem(FavoriteItem request) {
Subject subject = SecurityUtils.getSubject();
String userId = (String) subject.getSession().getAttribute("userId");

try {
//收藏时需要把对象拷贝到收藏bucket。
URL mediaURL = new URL(request.url);

String bucket = null;
if (mediaURL.getHost().equals(new URL(ossGeneralBucketDomain).getHost())) {
bucket = ossGeneralBucket;
} else if (mediaURL.getHost().equals(new URL(ossImageBucketDomain).getHost())) {
bucket = ossImageBucket;
} else if (mediaURL.getHost().equals(new URL(ossVoiceBucketDomain).getHost())) {
bucket = ossVoiceBucket;
} else if (mediaURL.getHost().equals(new URL(ossVideoBucketDomain).getHost())) {
bucket = ossVideoBucket;
} else if (mediaURL.getHost().equals(new URL(ossFileBucketDomain).getHost())) {
bucket = ossFileBucket;
} else if (mediaURL.getHost().equals(new URL(ossMomentsBucketDomain).getHost())) {
bucket = ossMomentsBucket;
} else if (mediaURL.getHost().equals(new URL(ossStickerBucketDomain).getHost())) {
bucket = ossStickerBucket;
} else if (mediaURL.getHost().equals(new URL(ossFavoriteBucketDomain).getHost())) {
//It's already in fav bucket, no need to copy
//bucket = ossFavoriteBucket;
}
if(!StringUtils.isEmpty(request.url)){
try {
//收藏时需要把对象拷贝到收藏bucket。
URL mediaURL = new URL(request.url);

String bucket = null;
if (mediaURL.getHost().equals(new URL(ossGeneralBucketDomain).getHost())) {
bucket = ossGeneralBucket;
} else if (mediaURL.getHost().equals(new URL(ossImageBucketDomain).getHost())) {
bucket = ossImageBucket;
} else if (mediaURL.getHost().equals(new URL(ossVoiceBucketDomain).getHost())) {
bucket = ossVoiceBucket;
} else if (mediaURL.getHost().equals(new URL(ossVideoBucketDomain).getHost())) {
bucket = ossVideoBucket;
} else if (mediaURL.getHost().equals(new URL(ossFileBucketDomain).getHost())) {
bucket = ossFileBucket;
} else if (mediaURL.getHost().equals(new URL(ossMomentsBucketDomain).getHost())) {
bucket = ossMomentsBucket;
} else if (mediaURL.getHost().equals(new URL(ossStickerBucketDomain).getHost())) {
bucket = ossStickerBucket;
} else if (mediaURL.getHost().equals(new URL(ossFavoriteBucketDomain).getHost())) {
//It's already in fav bucket, no need to copy
//bucket = ossFavoriteBucket;
}

if (bucket != null) {
String path = mediaURL.getPath();
if (ossType == 1) {
Configuration cfg = new Configuration(Region.region0());
String fromKey = path.substring(1);
Auth auth = Auth.create(ossAccessKey, ossSecretKey);

String toBucket = ossFavoriteBucket;
String toKey = fromKey;
if (!toKey.startsWith(userId)) {
toKey = userId + "-" + toKey;
}
if (bucket != null) {
String path = mediaURL.getPath();
if (ossType == 1) {
Configuration cfg = new Configuration(Region.region0());
String fromKey = path.substring(1);
Auth auth = Auth.create(ossAccessKey, ossSecretKey);

String toBucket = ossFavoriteBucket;
String toKey = fromKey;
if (!toKey.startsWith(userId)) {
toKey = userId + "-" + toKey;
}

BucketManager bucketManager = new BucketManager(auth, cfg);
bucketManager.copy(bucket, fromKey, toBucket, toKey);
request.url = ossFavoriteBucketDomain + "/" + fromKey;
} else if (ossType == 2) {
OSS ossClient = new OSSClient(ossUrl, ossAccessKey, ossSecretKey);
path = path.substring(1);
String objectName = path;
String toKey = path;
if (!toKey.startsWith(userId)) {
toKey = userId + "-" + toKey;
}
BucketManager bucketManager = new BucketManager(auth, cfg);
bucketManager.copy(bucket, fromKey, toBucket, toKey);
request.url = ossFavoriteBucketDomain + "/" + fromKey;
} else if (ossType == 2) {
OSS ossClient = new OSSClient(ossUrl, ossAccessKey, ossSecretKey);
path = path.substring(1);
String objectName = path;
String toKey = path;
if (!toKey.startsWith(userId)) {
toKey = userId + "-" + toKey;
}

ossClient.copyObject(bucket, objectName, ossFavoriteBucket, toKey);
request.url = ossFavoriteBucketDomain + "/" + toKey;
ossClient.shutdown();
} else if (ossType == 3) {
path = path.substring(bucket.length() + 2);
String objectName = path;
String toKey = path;
if (!toKey.startsWith(userId)) {
toKey = userId + "-" + toKey;
ossClient.copyObject(bucket, objectName, ossFavoriteBucket, toKey);
request.url = ossFavoriteBucketDomain + "/" + toKey;
ossClient.shutdown();
} else if (ossType == 3) {
path = path.substring(bucket.length() + 2);
String objectName = path;
String toKey = path;
if (!toKey.startsWith(userId)) {
toKey = userId + "-" + toKey;
}
MinioClient minioClient = new MinioClient(ossUrl, ossAccessKey, ossSecretKey);
minioClient.copyObject(ossFavoriteBucket, toKey, null, null, bucket, objectName, null, null);
request.url = ossFavoriteBucketDomain + "/" + toKey;
}
MinioClient minioClient = new MinioClient(ossUrl, ossAccessKey, ossSecretKey);
minioClient.copyObject(ossFavoriteBucket, toKey, null, null, bucket, objectName, null, null);
request.url = ossFavoriteBucketDomain + "/" + toKey;
}
} catch (Exception e) {
e.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
}

request.userId = userId;
Expand Down

0 comments on commit 2445c91

Please sign in to comment.