Example usage for com.amazonaws.services.s3.model PartListing getOwner

List of usage examples for com.amazonaws.services.s3.model PartListing getOwner

Introduction

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

Prototype

public Owner getOwner() 

Source Link

Document

Returns details on the user who owns the associated multipart upload.

Usage

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

License:Open Source License

@Override
public ListPartsResponseType listParts(ListPartsType request) throws S3Exception {
    ListPartsResponseType reply = request.getReply();
    User requestUser = getRequestUser(request);
    OsgInternalS3Client internalS3Client = null;

    String bucketName = request.getBucket();
    String key = request.getKey();
    String uploadId = request.getUploadId();
    ListPartsRequest listPartsRequest = new ListPartsRequest(bucketName, key, uploadId);
    if (request.getMaxParts() != null) {
        listPartsRequest.setMaxParts(request.getMaxParts());
    }//w  ww  .  jav a 2 s . c  om
    if (request.getPartNumberMarker() != null) {
        listPartsRequest.setPartNumberMarker(request.getPartNumberMarker());
    }
    try {
        internalS3Client = getS3Client(requestUser);
        AmazonS3Client s3Client = internalS3Client.getS3Client();

        PartListing listing = s3Client.listParts(listPartsRequest);
        reply.setBucket(bucketName);
        reply.setKey(key);
        reply.setUploadId(uploadId);
        Initiator initiator = new Initiator(listing.getInitiator().getId(),
                listing.getInitiator().getDisplayName());
        reply.setInitiator(initiator);
        CanonicalUser owner = new CanonicalUser(listing.getOwner().getId(),
                listing.getOwner().getDisplayName());
        reply.setOwner(owner);
        reply.setStorageClass(listing.getStorageClass());
        reply.setPartNumberMarker(listing.getPartNumberMarker());
        reply.setNextPartNumberMarker(listing.getNextPartNumberMarker());
        reply.setMaxParts(listing.getMaxParts());
        reply.setIsTruncated(listing.isTruncated());
        List<PartSummary> parts = listing.getParts();
        List<Part> replyParts = reply.getParts();
        for (PartSummary part : parts) {
            replyParts.add(
                    new Part(part.getPartNumber(), part.getETag(), part.getLastModified(), part.getSize()));
        }
    } catch (AmazonServiceException ex) {
        LOG.debug("Got service error from backend: " + ex.getMessage(), ex);
        throw S3ExceptionMapper.fromAWSJavaSDK(ex);
    }
    return reply;
}