private void getNextBatch() {
if (listing == null) {
listing = time(new Function<ListObjectsResult>() {
@Override
public ListObjectsResult call() {
ListObjectsRequest request = new ListObjectsRequest(config.getBucketName());
request.setPrefix("".equals(prefix) ? null : prefix);
if (config.isUrlEncodeKeys()) request.setEncodingType(EncodingType.url);
return s3.listObjects(request);
}
}, OPERATION_LIST_OBJECTS);
} else {
log.info("getting next page of objects [prefix: {}, marker: {}, nextMarker: {}, encodingType: {}, maxKeys: {}]",
listing.getPrefix(), listing.getMarker(), listing.getNextMarker(), listing.getEncodingType(), listing.getMaxKeys());
listing = time(new Function<ListObjectsResult>() {
@Override
public ListObjectsResult call() {
return s3.listMoreObjects(listing);
}
}, OPERATION_LIST_OBJECTS);
}
objectIterator = listing.getObjects().iterator();
}
}