Skip to content

Commit 8a7ae75

Browse files
authored
Fix GCP sdk problem with cleaner (#1741) (#1742)
1 parent 5b81e15 commit 8a7ae75

File tree

2 files changed

+16
-14
lines changed

2 files changed

+16
-14
lines changed

multiapps-controller-persistence/src/main/java/org/cloudfoundry/multiapps/controller/persistence/services/GcpObjectStoreFileStorage.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
import com.google.cloud.storage.StorageException;
2727
import com.google.cloud.storage.StorageOptions;
2828
import com.google.cloud.storage.StorageRetryStrategy;
29-
import org.cloudfoundry.multiapps.common.util.MiscUtil;
3029
import org.cloudfoundry.multiapps.controller.persistence.Messages;
3130
import org.cloudfoundry.multiapps.controller.persistence.model.FileEntry;
3231
import org.cloudfoundry.multiapps.controller.persistence.util.ObjectStoreFilter;
@@ -200,17 +199,21 @@ public Set<Blob> getAllEntries() {
200199
.collect(Collectors.toSet());
201200
}
202201

203-
protected int removeBlobsByFilter(Predicate<? super Blob> filter) {
202+
private int removeBlobsByFilter(Predicate<? super Blob> filter) {
204203
List<BlobId> blobIds = getEntryNames(filter).stream()
205204
.map(entry -> BlobId.of(bucketName, entry))
206205
.toList();
207206
List<Boolean> deletedBlobsResults = new ArrayList<>();
208207
if (!blobIds.isEmpty()) {
209-
deletedBlobsResults = storage.delete(blobIds);
208+
deletedBlobsResults = deleteBlobs(blobIds);
210209
}
211-
return MiscUtil.cast(deletedBlobsResults.stream()
212-
.filter(Boolean::booleanValue)
213-
.count());
210+
211+
deletedBlobsResults.removeIf(Boolean.FALSE::equals);
212+
return deletedBlobsResults.size();
213+
}
214+
215+
protected List<Boolean> deleteBlobs(List<BlobId> blobIds) {
216+
return storage.delete(blobIds);
214217
}
215218

216219
protected Set<String> getEntryNames(Predicate<? super Blob> filter) {

multiapps-controller-persistence/src/test/java/org/cloudfoundry/multiapps/controller/persistence/services/GcpObjectStoreFileStorageTest.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
import java.nio.file.Files;
44
import java.nio.file.Path;
55
import java.nio.file.Paths;
6+
import java.util.ArrayList;
7+
import java.util.List;
68
import java.util.Map;
7-
import java.util.Set;
89
import java.util.UUID;
9-
import java.util.function.Predicate;
1010

1111
import com.google.cloud.storage.Blob;
1212
import com.google.cloud.storage.BlobId;
@@ -38,13 +38,12 @@ protected Storage createObjectStoreStorage(Map<String, Object> credentials) {
3838
}
3939

4040
@Override
41-
protected int removeBlobsByFilter(Predicate<? super Blob> filter) {
42-
Set<String> entries = getEntryNames(filter);
43-
for (String entry : entries) {
44-
storage.delete(CONTAINER, entry);
41+
protected List<Boolean> deleteBlobs(List<BlobId> blobIds) {
42+
List<Boolean> deletedBlobsResults = new ArrayList<>();
43+
for (BlobId blobId : blobIds) {
44+
deletedBlobsResults.add(storage.delete(blobId));
4545
}
46-
47-
return entries.size();
46+
return deletedBlobsResults;
4847
}
4948
};
5049
spaceId = UUID.randomUUID()

0 commit comments

Comments
 (0)