List of usage examples for com.amazonaws.services.s3 AmazonS3Client listParts
@Override public PartListing listParts(ListPartsRequest listPartsRequest) throws SdkClientException, AmazonServiceException
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 w w. j av a2 s .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; }