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

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

Introduction

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

Prototype

public List<PartSummary> getParts() 

Source Link

Document

Returns the list of parts described in this part listing.

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());
    }//from ww  w.  j  a va  2s. c o m
    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;
}