@Override public Iterable<ObjectSummary> allObjects() { if (config.isIncludeVersions()) { return new Iterable<ObjectSummary>() { @Override public Iterator<ObjectSummary> iterator() { return new CombinedIterator<>(Arrays.asList(new PrefixIterator(config.getKeyPrefix()), new DeletedObjectIterator(config.getKeyPrefix()))); } }; } else { return new Iterable<ObjectSummary>() { @Override public Iterator<ObjectSummary> iterator() { return new PrefixIterator(config.getKeyPrefix()); } }; } }
@Override public SyncObject loadObject(String identifier) throws ObjectNotFoundException { return loadObject(identifier, config.isIncludeVersions()); }
if (config.isIncludeVersions() && sourceVersionList != null) { ListIterator<S3ObjectVersion> sourceVersions = sourceVersionList.listIterator(); ListIterator<S3ObjectVersion> targetVersions = loadVersions(identifier).listIterator();
if (bucketExists && config.isIncludeVersions()) { s3.createBucket(config.getBucketName()); bucketExists = true; if (config.isIncludeVersions()) { s3.setBucketVersioning(config.getBucketName(), new VersioningConfiguration().withStatus(VersioningConfiguration.Status.Enabled)); bucketHasVersions = true; if (config.isIncludeVersions()) { if (!(source instanceof AbstractS3Storage && target instanceof AbstractS3Storage)) throw new ConfigurationException("Version migration is only supported between two S3 plugins");
Assert.assertFalse("target smart-client should be disabled", s3Target.isSmartClientEnabled()); Assert.assertTrue("target apache-client should be enabled", s3Target.isApacheClientEnabled()); Assert.assertTrue("target versions should be enabled", s3Target.isIncludeVersions()); Assert.assertTrue("target preserveDirectories should be enabled", s3Target.isPreserveDirectories()); Assert.assertTrue("target MPU should be enabled", s3Target.isMpuEnabled());