Example usage for com.amazonaws.services.s3.model ObjectListing setPrefix

List of usage examples for com.amazonaws.services.s3.model ObjectListing setPrefix

Introduction

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

Prototype

public void setPrefix(String prefix) 

Source Link

Document

For internal use only.

Usage

From source file:com.upplication.s3fs.util.AmazonS3ClientMock.java

License:Open Source License

/**
 * list all objects without and return ObjectListing with all elements
 * and with truncated to false//  w ww  .  ja va2  s. c om
 */
@Override
public ObjectListing listObjects(ListObjectsRequest listObjectsRequest) throws AmazonClientException {

    ObjectListing objectListing = new ObjectListing();
    objectListing.setBucketName(listObjectsRequest.getBucketName());
    objectListing.setPrefix(listObjectsRequest.getPrefix());
    objectListing.setMarker(listObjectsRequest.getMarker());
    objectListing.setDelimiter(listObjectsRequest.getDelimiter());

    Bucket bucket = find(listObjectsRequest.getBucketName());
    Iterator<S3Element> iterator = objects.get(bucket).iterator();

    int i = 0;

    while (iterator.hasNext()) {

        S3Element elem = iterator.next();

        // TODO. add delimiter and marker support
        if (listObjectsRequest.getPrefix() != null
                && elem.getS3Object().getKey().startsWith(listObjectsRequest.getPrefix())) {

            S3ObjectSummary s3ObjectSummary = parseToS3ObjectSummary(elem);
            objectListing.getObjectSummaries().add(s3ObjectSummary);

            if (i + 1 == LIMIT_AWS_MAX_ELEMENTS && iterator.hasNext()) {
                objectListing.setTruncated(true);
                objectListing.setNextMarker(iterator.next().getS3Object().getKey());
                return objectListing;
            } else {
                objectListing.setTruncated(false);
            }

            i++;
        }

    }

    return objectListing;
}

From source file:com.upplication.s3fs.util.AmazonS3ClientMock.java

License:Open Source License

@Override
public ObjectListing listNextBatchOfObjects(ObjectListing previousObjectListing) {

    ObjectListing objectListing = new ObjectListing();
    objectListing.setBucketName(previousObjectListing.getBucketName());
    objectListing.setPrefix(previousObjectListing.getPrefix());
    objectListing.setMarker(previousObjectListing.getMarker());
    objectListing.setDelimiter(previousObjectListing.getDelimiter());

    if (!previousObjectListing.isTruncated() || previousObjectListing.getNextMarker() == null) {
        return objectListing;
    }/*from   ww w . java  2  s  .co m*/

    Bucket bucket = find(previousObjectListing.getBucketName());
    Iterator<S3Element> iterator = objects.get(bucket).iterator();

    int i = 0;
    boolean continueElement = false;

    while (iterator.hasNext()) {

        S3Element elem = iterator.next();

        if (!continueElement && elem.getS3Object().getKey().equals(previousObjectListing.getNextMarker())) {
            continueElement = true;
        }

        if (continueElement) {
            // TODO. add delimiter and marker support
            if (previousObjectListing.getPrefix() != null
                    && elem.getS3Object().getKey().startsWith(previousObjectListing.getPrefix())) {

                S3ObjectSummary s3ObjectSummary = parseToS3ObjectSummary(elem);
                objectListing.getObjectSummaries().add(s3ObjectSummary);
                // max 1000 elements at same time.
                if (i + 1 == LIMIT_AWS_MAX_ELEMENTS && iterator.hasNext()) {
                    objectListing.setTruncated(true);
                    objectListing.setNextMarker(iterator.next().getS3Object().getKey());
                    return objectListing;
                } else {
                    objectListing.setTruncated(false);
                }

                i++;
            }
        }
    }

    return objectListing;
}