Example usage for com.amazonaws.services.s3.model MultipartUploadListing getMaxUploads

List of usage examples for com.amazonaws.services.s3.model MultipartUploadListing getMaxUploads

Introduction

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

Prototype

public int getMaxUploads() 

Source Link

Document

Returns the optional maximum number of uploads to be listed, as specified in the original request.

Usage

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

License:Open Source License

@Override
public ListMultipartUploadsResponseType listMultipartUploads(ListMultipartUploadsType request)
        throws S3Exception {
    ListMultipartUploadsResponseType reply = request.getReply();
    User requestUser = getRequestUser(request);
    OsgInternalS3Client internalS3Client = null;

    String bucketName = request.getBucket();
    ListMultipartUploadsRequest listMultipartUploadsRequest = new ListMultipartUploadsRequest(bucketName);
    listMultipartUploadsRequest.setMaxUploads(request.getMaxUploads());
    listMultipartUploadsRequest.setKeyMarker(request.getKeyMarker());
    listMultipartUploadsRequest.setDelimiter(request.getDelimiter());
    listMultipartUploadsRequest.setPrefix(request.getPrefix());
    listMultipartUploadsRequest.setUploadIdMarker(request.getUploadIdMarker());
    try {/* www  . j  a v  a 2 s.  c o m*/
        internalS3Client = getS3Client(requestUser);
        AmazonS3Client s3Client = internalS3Client.getS3Client();

        MultipartUploadListing listing = s3Client.listMultipartUploads(listMultipartUploadsRequest);
        reply.setBucket(listing.getBucketName());
        reply.setKeyMarker(listing.getKeyMarker());
        reply.setUploadIdMarker(listing.getUploadIdMarker());
        reply.setNextKeyMarker(listing.getNextKeyMarker());
        reply.setNextUploadIdMarker(listing.getNextUploadIdMarker());
        reply.setMaxUploads(listing.getMaxUploads());
        reply.setIsTruncated(listing.isTruncated());
        reply.setPrefix(listing.getPrefix());
        reply.setDelimiter(listing.getDelimiter());

        List<String> commonPrefixes = listing.getCommonPrefixes();
        List<MultipartUpload> multipartUploads = listing.getMultipartUploads();

        List<com.eucalyptus.storage.msgs.s3.Upload> uploads = reply.getUploads();
        List<CommonPrefixesEntry> prefixes = reply.getCommonPrefixes();

        for (MultipartUpload multipartUpload : multipartUploads) {
            uploads.add(new com.eucalyptus.storage.msgs.s3.Upload(multipartUpload.getKey(),
                    multipartUpload.getUploadId(),
                    new Initiator(multipartUpload.getInitiator().getId(),
                            multipartUpload.getInitiator().getDisplayName()),
                    new CanonicalUser(multipartUpload.getOwner().getId(),
                            multipartUpload.getOwner().getDisplayName()),
                    multipartUpload.getStorageClass(), multipartUpload.getInitiated()));
        }
        for (String commonPrefix : commonPrefixes) {
            prefixes.add(new CommonPrefixesEntry(commonPrefix));
        }
        return reply;
    } catch (AmazonServiceException e) {
        LOG.debug("Error from backend", e);
        throw S3ExceptionMapper.fromAWSJavaSDK(e);
    }
}