|
|
|
@ -399,19 +399,16 @@ public class S3ResourceRepository extends BaseResourceRepository {
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public boolean isDirectory(String path) { |
|
|
|
|
|
|
|
|
|
if (path.endsWith(DELIMITER) && exist(path)) { |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
ObjectListing listing = s3.listObjects(bucket, path); |
|
|
|
|
if (listing.getObjectSummaries().isEmpty()) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
if (listing.getObjectSummaries().size() > 1) { |
|
|
|
|
return true; |
|
|
|
|
if (path.endsWith(DELIMITER)) { |
|
|
|
|
return exist(path); |
|
|
|
|
} else { |
|
|
|
|
S3ObjectSummary summary = listing.getObjectSummaries().get(0); |
|
|
|
|
return !StringKit.equals(listing.getPrefix(), summary.getKey()); |
|
|
|
|
ObjectListing listing = s3.listObjects(bucket, path); |
|
|
|
|
List<S3ObjectSummary> objectSummaries = listing.getObjectSummaries(); |
|
|
|
|
if (objectSummaries.isEmpty()) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
String dirFormat = path + DELIMITER; |
|
|
|
|
return objectSummaries.stream().anyMatch(s3ObjectSummary -> StringUtils.equals(s3ObjectSummary.getKey(), dirFormat)); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|