@Override public String getIdentifier(String relativePath, boolean directory) { if (relativePath == null || relativePath.length() == 0) return config.getKeyPrefix(); String identifier = config.getKeyPrefix() + relativePath; // append trailing slash for directories if (directory) identifier += "/"; return identifier; }
@Override public String getRelativePath(String identifier, boolean directory) { String relativePath = identifier; if (relativePath.startsWith(config.getKeyPrefix())) relativePath = relativePath.substring(config.getKeyPrefix().length()); // remove trailing slash from directories if (directory && relativePath.endsWith("/")) relativePath = relativePath.substring(0, relativePath.length() - 1); return relativePath; }
@Override public Iterator<ObjectSummary> iterator() { return new PrefixIterator(config.getKeyPrefix()); } };
@Override public Iterator<ObjectSummary> iterator() { return new CombinedIterator<>(Arrays.asList(new PrefixIterator(config.getKeyPrefix()), new DeletedObjectIterator(config.getKeyPrefix()))); } };
if (config.getKeyPrefix() == null) config.setKeyPrefix(""); // make sure keyPrefix isn't null
Assert.assertEquals("source port mismatch", -1, s3Source.getPort()); Assert.assertEquals("source bucket mismatch", sourceBucket, s3Source.getBucketName()); Assert.assertEquals(sourceKeyPrefix, s3Source.getKeyPrefix()); Assert.assertTrue("source url-encode-keys should be enabled", s3Source.isUrlEncodeKeys()); Assert.assertTrue("source vhost should be enabled", s3Source.isEnableVHosts()); Assert.assertEquals("target port mismatch", 9123, s3Target.getPort()); Assert.assertEquals("target bucket mismatch", targetBucket, s3Target.getBucketName()); Assert.assertEquals(targetKeyPrefix, s3Target.getKeyPrefix()); Assert.assertTrue("target vhost should be enabled", s3Target.isEnableVHosts()); Assert.assertFalse("target smart-client should be disabled", s3Target.isSmartClientEnabled());