@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()))); } };
try { if ("".equals(config.getKeyPrefix() + object.getRelativePath())) { log.debug("Target is bucket root; skipping"); return;
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.assertNull("source keyPrefix should be null", s3Source.getKeyPrefix()); Assert.assertTrue("source includeVersions should be enabled", s3Source.isIncludeVersions()); Assert.assertEquals("target port mismatch", targetPort, s3Target.getPort()); Assert.assertEquals("target bucket mismatch", targetBucket, s3Target.getBucketName()); Assert.assertEquals("target keyPrefix mismatch", targetKeyPrefix, s3Target.getKeyPrefix()); Assert.assertTrue("target createBucket should be enabled", s3Target.isCreateBucket()); Assert.assertTrue("target disableVhost should be true", s3Target.isDisableVHosts());