/** * This implementation invokes {@link #clearContainer} then {@link S3Client#deleteBucketIfEmpty} * until it is true. */ public void clearAndDeleteContainer(final String container) { try { if (!Assertions.eventuallyTrue( new Supplier<Boolean>() { public Boolean get() { clearContainer(container); return sync.deleteBucketIfEmpty(container); } }, 30000)) { throw new IllegalStateException(container + " still exists after deleting!"); } } catch (InterruptedException e) { new IllegalStateException(container + " interrupted during deletion!", e); } }
protected void deleteAndEnsurePathGone(final String container) { try { if (!Assertions.eventuallyTrue( new Supplier<Boolean>() { public Boolean get() { try { clearContainer(container, recursive()); return deleteAndVerifyContainerGone(container); } catch (ContainerNotFoundException e) { return true; } } }, 30000)) { throw new IllegalStateException(container + " still exists after deleting!"); } } catch (InterruptedException e) { throw new IllegalStateException(container + " interrupted during deletion!", e); } }