/** * Returns true if the specified download request can use parallel part * downloads for increased performance. * * @param getObjectRequest * The request to check. * * @param s3 * The Amazon s3 client. * * @return True if this request can use parallel part downloads. */ public static boolean isDownloadParallelizable(final AmazonS3 s3, final GetObjectRequest getObjectRequest, Integer partCount) { ValidationUtils.assertNotNull(s3, "S3 client"); ValidationUtils.assertNotNull(getObjectRequest, "GetObjectRequest"); if (s3 instanceof AmazonS3Encryption || getObjectRequest.getRange() != null || getObjectRequest.getPartNumber() != null || partCount == null) { return false; } return true; } }
if (isStrict() && (desiredRange != null || req.getPartNumber() != null)) throw new SecurityException("Range get and getting a part are not allowed in strict crypto mode"); long[] adjustedCryptoRange = getAdjustedCryptoRange(desiredRange);
/** * Creates a #GetObjectMetadataRequest by copying values for common members * from the input #GetObjectRequest. */ public static GetObjectMetadataRequest createGetObjectMetadataRequestFrom(GetObjectRequest getObjectRequest) { return new GetObjectMetadataRequest(getObjectRequest.getBucketName(), getObjectRequest.getKey()) .withVersionId(getObjectRequest.getVersionId()) .withRequesterPays(getObjectRequest.isRequesterPays()) .withSSECustomerKey(getObjectRequest.getSSECustomerKey()) .withPartNumber(getObjectRequest.getPartNumber()); } }
addPartNumberIfNotNull(request, getObjectRequest.getPartNumber());
if (isStrict() && (desiredRange != null || req.getPartNumber() != null)) { throw new SecurityException("Range get and getting a part are not allowed in strict crypto mode");
public File call() throws Exception { partFile = File.createTempFile( destinationFile.getName() + "-tmp", TEMP_FILE_MIDDLE_NAME + getPartRequest.getPartNumber().toString(), new File(destinationFilePath.substring(0, destinationFilePath.lastIndexOf(File.separator)))); try { partFile.deleteOnExit(); } catch (SecurityException exception) { LOG.warn("SecurityException denied delete access to file " + partFile.getAbsolutePath()); } if (s3.getObject(getPartRequest, partFile) == null) { throw new SdkClientException( "There is no object in S3 satisfying this request. The getObject method returned null"); } return partFile; } }
/** * Returns true if the specified download request can use parallel part * downloads for increased performance. * * @param getObjectRequest * The request to check. * * @param s3 * The Amazon s3 client. * * @return True if this request can use parallel part downloads. */ public static boolean isDownloadParallelizable(final AmazonS3 s3, final GetObjectRequest getObjectRequest, Integer partCount) { ValidationUtils.assertNotNull(s3, "S3 client"); ValidationUtils.assertNotNull(getObjectRequest, "GetObjectRequest"); if (s3 instanceof AmazonS3Encryption || getObjectRequest.getRange() != null || getObjectRequest.getPartNumber() != null || partCount == null) { return false; } return true; } }
if (isStrict() && (desiredRange != null || req.getPartNumber() != null)) throw new SecurityException("Range get and getting a part are not allowed in strict crypto mode"); long[] adjustedCryptoRange = getAdjustedCryptoRange(desiredRange);
if (isStrict() && (desiredRange != null || req.getPartNumber() != null)) { throw new SecurityException("Range get and getting a part are not allowed in strict crypto mode");
/** * Creates a #GetObjectMetadataRequest by copying values for common members * from the input #GetObjectRequest. */ public static GetObjectMetadataRequest createGetObjectMetadataRequestFrom(GetObjectRequest getObjectRequest) { return new GetObjectMetadataRequest(getObjectRequest.getBucketName(), getObjectRequest.getKey()) .withVersionId(getObjectRequest.getVersionId()) .withRequesterPays(getObjectRequest.isRequesterPays()) .withSSECustomerKey(getObjectRequest.getSSECustomerKey()) .withPartNumber(getObjectRequest.getPartNumber()); } }
addPartNumberIfNotNull(request, getObjectRequest.getPartNumber());