S3StorageProvider extends StorageProviderBase { public List<String> getSpaceContentsChunked(String spaceId, String prefix, long maxResults, String marker) { log.debug("getSpaceContentsChunked(" + spaceId + ", " + prefix + ", " + maxResults + ", " + marker + ")"); String bucketName = getBucketName(spaceId); if (maxResults <= 0) { maxResults = StorageProvider.DEFAULT_MAX_RESULTS; } return getCompleteBucketContents(bucketName, prefix, maxResults, marker); } S3StorageProvider(String accessKey, String secretKey);  S3StorageProvider(String accessKey,
                             String secretKey,
                             Map<String, String> options);  S3StorageProvider(AmazonS3 s3Client,
                             String accessKey,
                             Map<String, String> options); @Override StorageProviderType getStorageProviderType(); Iterator<String> getSpaces(); Iterator<String> getSpaceContents(String spaceId,
                                             String prefix); List<String> getSpaceContentsChunked(String spaceId,
                                                String prefix,
                                                long maxResults,
                                                String marker); void createSpace(String spaceId); String createHiddenSpace(String spaceId, int expirationInDays); void setSpaceLifecycle(String bucketName,
                                  BucketLifecycleConfiguration config); void removeSpace(String spaceId); String addHiddenContent(String spaceId,
                                   String contentId,
                                   String contentMimeType,
                                   InputStream content); String addContent(String spaceId,
                             String contentId,
                             String contentMimeType,
                             Map<String, String> userProperties,
                             long contentSize,
                             String contentChecksum,
                             InputStream content); @Override String copyContent(String sourceSpaceId,
                              String sourceContentId,
                              String destSpaceId,
                              String destContentId); RetrievedContent getContent(String spaceId, String contentId); RetrievedContent getContent(String spaceId, String contentId, String range); void deleteContent(String spaceId, String contentId); void setContentProperties(String spaceId,
                                     String contentId,
                                     Map<String, String> contentProperties); Map<String, String> getContentProperties(String spaceId,
                                                    String contentId); @Override Map<String, String> getSpaceProperties(String spaceId); String getBucketName(String spaceId); static final String HIDDEN_SPACE_PREFIX; }
@Test public void testGetSpaceContentsChunked() throws Exception { setupS3Client(); String prefix = null; long maxResults = 2; String marker = null; addListBucketsMock(); ObjectListing objectListing = createMock("ObjectListing", ObjectListing.class); setUpListObjects(objectListing, 1); replay(s3Client, objectListing); S3StorageProvider provider = getProvider(); List<String> contentIds = provider.getSpaceContentsChunked(spaceId, prefix, maxResults, marker); Assert.assertNotNull(contentIds); Assert.assertEquals("item0", contentIds.get(0)); verify(s3Client, objectListing); }