public List<URI> listObjects(URI storageArea) { S3StorageHelper.checkValidS3Uri(storageArea); String s3Path = getS3ObjectKey(storageArea); Iterable<S3ObjectSummary> objectListing = new S3ObjectListing( s3Service, new ListObjectsRequest(getS3Bucket(storageArea), s3Path, null, "/", null)); ImmutableList.Builder<URI> builder = ImmutableList.builder(); for (S3ObjectSummary summary : objectListing) { builder.add(buildS3Location(storageArea, summary.getKey().substring(s3Path.length()))); } return builder.build(); }
public List<URI> listDirectoriesNewestFirst(URI storageArea) { S3StorageHelper.checkValidS3Uri(storageArea); String bucket = getS3Bucket(storageArea); String key = getS3ObjectKey(storageArea); Iterator<String> iter = new S3PrefixListing(s3Service, new ListObjectsRequest(bucket, key, null, "/", null)) .iterator(); ImmutableList.Builder<URI> builder = ImmutableList.builder(); while (iter.hasNext()) { builder.add(buildS3Location("s3://", bucket, iter.next())); } return builder.build().reverse(); }