@Override
public void onSuccess(RewriteResponse rewriteResponse, HttpHeaders responseHeaders) {
String srcString = StorageResourceId.createReadableString(srcBucketName, srcObjectName);
String dstString = StorageResourceId.createReadableString(dstBucketName, dstObjectName);
if (rewriteResponse.getDone()) {
logger.atFine().log("Successfully copied %s to %s", srcString, dstString);
} else {
logger.atFine().log(
"Copy (%s to %s) did not complete. Resuming...", srcString, dstString);
try {
Storage.Objects.Rewrite rewriteObjectWithToken =
configureRequest(
gcs.objects()
.rewrite(
srcBucketName, srcObjectName, dstBucketName, dstObjectName, null),
srcBucketName);
if (storageOptions.getMaxBytesRewrittenPerCall() > 0) {
rewriteObjectWithToken.setMaxBytesRewrittenPerCall(
storageOptions.getMaxBytesRewrittenPerCall());
}
rewriteObjectWithToken.setRewriteToken(rewriteResponse.getRewriteToken());
batchHelper.queue(rewriteObjectWithToken, this);
} catch (IOException e) {
innerExceptions.add(e);
}
}
}