From 5dee9a4ffc1260320af6faadca7c0ad0668b5363 Mon Sep 17 00:00:00 2001 From: jeffwang0516 Date: Mon, 7 Mar 2022 13:49:31 +0800 Subject: [PATCH] Support list operation for s3 storage --- .../intel/cosbench/api/S3Stor/S3Storage.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/dev/cosbench-s3/src/com/intel/cosbench/api/S3Stor/S3Storage.java b/dev/cosbench-s3/src/com/intel/cosbench/api/S3Stor/S3Storage.java index 509c56be..48afbce3 100644 --- a/dev/cosbench-s3/src/com/intel/cosbench/api/S3Stor/S3Storage.java +++ b/dev/cosbench-s3/src/com/intel/cosbench/api/S3Stor/S3Storage.java @@ -3,6 +3,7 @@ import static com.intel.cosbench.client.S3Stor.S3Constants.*; import java.io.*; +import java.util.List; import org.apache.http.HttpStatus; @@ -101,6 +102,26 @@ public InputStream getObject(String container, String object, Config config) { } return stream; } + + @Override + public InputStream getList(String container, String prefix, Config config) { + super.getList(container, prefix, config); + InputStream stream; + try { + ObjectListing s3ObjList = client.listObjects(container, prefix); + List objSummaries = s3ObjList.getObjectSummaries(); + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + for (S3ObjectSummary s : objSummaries) { + baos.write(s.toString().getBytes()); + } + byte[] bytes = baos.toByteArray(); + stream = new ByteArrayInputStream(bytes); + + } catch (Exception e) { + throw new StorageException(e); + } + return stream; + } @Override public void createContainer(String container, Config config) {