@@ -90,21 +90,17 @@ public BucketService(BucketStore bucketStore, ObjectStore objectStore) {
9090
9191 public boolean isBucketEmpty (String bucketName ) {
9292 var bucketMetadata = bucketStore .getBucketMetadata (bucketName );
93- if (bucketMetadata != null ) {
94- var objects = bucketMetadata .objects ();
95- if (!objects .isEmpty ()) {
96- for (var id : objects .values ()) {
97- var s3ObjectMetadata = objectStore .getS3ObjectMetadata (bucketMetadata , id , null );
98- if (s3ObjectMetadata != null && !s3ObjectMetadata .deleteMarker ()) {
99- return false ;
100- }
93+ var objects = bucketMetadata .objects ();
94+ if (!objects .isEmpty ()) {
95+ for (var id : objects .values ()) {
96+ var s3ObjectMetadata = objectStore .getS3ObjectMetadata (bucketMetadata , id , null );
97+ if (s3ObjectMetadata != null && !s3ObjectMetadata .deleteMarker ()) {
98+ return false ;
10199 }
102- return true ;
103100 }
104- return bucketMetadata .objects ().isEmpty ();
105- } else {
106- throw new IllegalStateException ("Requested Bucket does not exist: " + bucketName );
101+ return true ;
107102 }
103+ return bucketMetadata .objects ().isEmpty ();
108104 }
109105
110106 public boolean doesBucketExist (String bucketName ) {
@@ -122,7 +118,6 @@ public ListAllMyBucketsResult listBuckets(
122118 var buckets = bucketStore
123119 .listBuckets ()
124120 .stream ()
125- .filter (Objects ::nonNull )
126121 .filter (b -> b .name ().startsWith (normalizedPrefix ))
127122 .sorted (Comparator .comparing (BucketMetadata ::name ))
128123 .map (Bucket ::from )
@@ -174,29 +169,25 @@ public Bucket createBucket(
174169
175170 public boolean deleteBucket (String bucketName ) {
176171 var bucketMetadata = bucketStore .getBucketMetadata (bucketName );
177- if (bucketMetadata != null ) {
178- var objects = bucketMetadata .objects ();
179- if (!objects .isEmpty ()) {
180- for (var entry : objects .entrySet ()) {
181- var s3ObjectMetadata =
182- objectStore .getS3ObjectMetadata (bucketMetadata , entry .getValue (), null );
183- if (s3ObjectMetadata != null && s3ObjectMetadata .deleteMarker ()) {
184- // yes, we really want to delete the objects here, if they are delete markers, they
185- // do not officially exist.
186- objectStore .doDeleteObject (bucketMetadata , entry .getValue ());
187- bucketStore .removeFromBucket (entry .getKey (), bucketName );
188- }
172+ var objects = bucketMetadata .objects ();
173+ if (!objects .isEmpty ()) {
174+ for (var entry : objects .entrySet ()) {
175+ var s3ObjectMetadata =
176+ objectStore .getS3ObjectMetadata (bucketMetadata , entry .getValue (), null );
177+ if (s3ObjectMetadata != null && s3ObjectMetadata .deleteMarker ()) {
178+ // yes, we really want to delete the objects here, if they are delete markers, they
179+ // do not officially exist.
180+ objectStore .doDeleteObject (bucketMetadata , entry .getValue ());
181+ bucketStore .removeFromBucket (entry .getKey (), bucketName );
189182 }
190183 }
191- // check again if bucket is empty
192- bucketMetadata = bucketStore .getBucketMetadata (bucketName );
193- if (!bucketMetadata .objects ().isEmpty ()) {
194- throw new IllegalStateException ("Bucket is not empty: " + bucketName );
195- }
196- return bucketStore .deleteBucket (bucketName );
197- } else {
198- throw new IllegalStateException ("Requested Bucket does not exist: " + bucketName );
199184 }
185+ // check again if bucket is empty
186+ bucketMetadata = bucketStore .getBucketMetadata (bucketName );
187+ if (!bucketMetadata .objects ().isEmpty ()) {
188+ throw new IllegalStateException ("Bucket is not empty: " + bucketName );
189+ }
190+ return bucketStore .deleteBucket (bucketName );
200191 }
201192
202193 public void setVersioningConfiguration (String bucketName , VersioningConfiguration configuration ) {
@@ -255,7 +246,6 @@ public List<S3Object> getS3Objects(String bucketName, @Nullable String prefix) {
255246 var uuids = bucketStore .lookupIdsInBucket (prefix , bucketName );
256247 return uuids
257248 .stream ()
258- .filter (Objects ::nonNull )
259249 .map (uuid -> objectStore .getS3ObjectMetadata (bucketMetadata , uuid , null ))
260250 .filter (Objects ::nonNull )
261251 .map (S3Object ::from )
0 commit comments