@Nonnull @Override public Iterable<OfflineStoreRequest> listRequests(@Nonnull final String bucket) throws CloudException, InternalException { final String regionId = getContext().getRegionId(); if (regionId == null) { throw new CloudException( "No region ID was specified"); // TODO: doesn't look like it's needed though } getProvider().hold(); PopulatorThread<OfflineStoreRequest> populator = new PopulatorThread<OfflineStoreRequest>( new JiteratorPopulator<OfflineStoreRequest>() { public void populate(@Nonnull Jiterator<OfflineStoreRequest> iterator) throws CloudException, InternalException { try { listRequests(bucket, iterator); } finally { getProvider().release(); } } }); populator.populate(); return populator.getResult(); }
@Override public @Nonnull Collection<Blob> list(final @Nullable String bucket) throws CloudException, InternalException { PopulatorThread<Blob> populator; final String regionId = getContext().getRegionId(); if (regionId == null) { throw new CloudException("No region ID was specified"); } getProvider().hold(); populator = new PopulatorThread<Blob>( new JiteratorPopulator<Blob>() { public void populate(@Nonnull Jiterator<Blob> iterator) throws CloudException, InternalException { try { list(regionId, bucket, iterator); } finally { getProvider().release(); } } }); populator.populate(); return populator.getResult(); }