Example usage for com.amazonaws.services.s3.model CompleteMultipartUploadResult getLocation

List of usage examples for com.amazonaws.services.s3.model CompleteMultipartUploadResult getLocation

Introduction

In this page you can find the example usage for com.amazonaws.services.s3.model CompleteMultipartUploadResult getLocation.

Prototype

public String getLocation() 

Source Link

Document

Returns the URL identifying the new multipart object.

Usage

From source file:com.eucalyptus.objectstorage.providers.s3.S3ProviderClient.java

License:Open Source License

@Override
public CompleteMultipartUploadResponseType completeMultipartUpload(CompleteMultipartUploadType request)
        throws S3Exception {
    CompleteMultipartUploadResponseType reply = request.getReply();
    User requestUser = getRequestUser(request);
    OsgInternalS3Client internalS3Client = null;

    String bucketName = request.getBucket();
    String key = request.getKey();
    String uploadId = request.getUploadId();
    List<Part> parts = request.getParts();
    List<PartETag> partETags = new ArrayList<>();
    for (Part part : parts) {
        PartETag partETag = new PartETag(part.getPartNumber(), part.getEtag());
        partETags.add(partETag);/*ww w. j a  v  a 2  s.  c  om*/
    }
    CompleteMultipartUploadRequest multipartRequest = new CompleteMultipartUploadRequest(bucketName, key,
            uploadId, partETags);
    try {
        internalS3Client = getS3Client(requestUser);
        AmazonS3Client s3Client = internalS3Client.getS3Client();

        CompleteMultipartUploadResult result = s3Client.completeMultipartUpload(multipartRequest);
        reply.setEtag(result.getETag());
        reply.setBucket(bucketName);
        reply.setKey(key);
        reply.setLocation(result.getLocation());
        reply.setLastModified(new Date());
    } catch (AmazonServiceException e) {
        LOG.debug("Error from backend", e);
        throw S3ExceptionMapper.fromAWSJavaSDK(e);
    }
    return reply;
}