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

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

Introduction

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

Prototype

public Integer getPartNumberMarker() 

Source Link

Document

Returns the optional part number marker specified in the original request to specify where in the results to begin listing parts.

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 www. jav  a2  s . co  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;
}