|
|
|
@ -60,10 +60,15 @@ public class S3ResourceRepository extends BaseResourceRepository {
|
|
|
|
|
GetObjectRequest request = new GetObjectRequest(bucket, path); |
|
|
|
|
try { |
|
|
|
|
S3Object s3Object = s3.getObject(request); |
|
|
|
|
return s3Object2FileEntry(s3Object, path); |
|
|
|
|
try { |
|
|
|
|
return s3Object2FileEntry(s3Object, path); |
|
|
|
|
} finally { |
|
|
|
|
s3Object.close(); |
|
|
|
|
} |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
LogKit.info("{} not exist!", path); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return null; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -116,7 +121,12 @@ public class S3ResourceRepository extends BaseResourceRepository {
|
|
|
|
|
public InputStream read(String filePath) throws ResourceIOException { |
|
|
|
|
GetObjectRequest request = new GetObjectRequest(bucket, filePath); |
|
|
|
|
try { |
|
|
|
|
return s3.getObject(request).getObjectContent(); |
|
|
|
|
S3Object s3Object = s3.getObject(request); |
|
|
|
|
try { |
|
|
|
|
return s3Object.getObjectContent(); |
|
|
|
|
} finally { |
|
|
|
|
s3Object.close(); |
|
|
|
|
} |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
return new ByteArrayInputStream(new byte[0]); |
|
|
|
|
} |
|
|
|
@ -224,30 +234,48 @@ public class S3ResourceRepository extends BaseResourceRepository {
|
|
|
|
|
if (listing.getObjectSummaries().isEmpty()) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
if (listing.getObjectSummaries().size() > 1) { |
|
|
|
|
if (listing.getObjectSummaries().size() > 1) { |
|
|
|
|
return true; |
|
|
|
|
} else { |
|
|
|
|
S3ObjectSummary summary = listing.getObjectSummaries().get(0); |
|
|
|
|
return !StringKit.equals(listing.getPrefix(), summary.getKey()); |
|
|
|
|
return !StringKit.equals(listing.getPrefix(), summary.getKey()); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public long lastModified(String path) { |
|
|
|
|
S3Object s3Object = s3.getObject(bucket, path); |
|
|
|
|
if (s3Object == null) { |
|
|
|
|
return -1L; |
|
|
|
|
try { |
|
|
|
|
S3Object s3Object = s3.getObject(bucket, path); |
|
|
|
|
if (s3Object != null) { |
|
|
|
|
try { |
|
|
|
|
return s3Object.getObjectMetadata().getLastModified().getTime(); |
|
|
|
|
} finally { |
|
|
|
|
s3Object.close(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
LogKit.info("{} not exist!", path); |
|
|
|
|
} |
|
|
|
|
return s3Object.getObjectMetadata().getLastModified().getTime(); |
|
|
|
|
|
|
|
|
|
return -1L; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public long length(String path) { |
|
|
|
|
S3Object s3Object = s3.getObject(bucket, path); |
|
|
|
|
if (s3Object == null) { |
|
|
|
|
return -1L; |
|
|
|
|
try { |
|
|
|
|
S3Object s3Object = s3.getObject(bucket, path); |
|
|
|
|
if (s3Object != null) { |
|
|
|
|
try { |
|
|
|
|
return s3Object.getObjectMetadata().getContentLength(); |
|
|
|
|
} finally { |
|
|
|
|
s3Object.close(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
LogKit.info("{} not exist!", path); |
|
|
|
|
} |
|
|
|
|
return s3Object.getObjectMetadata().getContentLength(); |
|
|
|
|
|
|
|
|
|
return -1L; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|