metadata and content metadata should have the same length

for range get in a LocalBlobStore, metadata.getSize() has the
original blob size and contentMetadata.getContentLength() has
the actual payload size. Other blobstores have the same size
in both
This commit is contained in:
Ka-Hing Cheung 2015-05-26 16:07:24 -07:00
parent 5095590d60
commit bbafc34d46
2 changed files with 4 additions and 1 deletions

View File

@ -655,7 +655,9 @@ public final class LocalBlobStore implements BlobStore {
byte[] byteArray = out.toByteArray();
blob.setPayload(byteArray);
HttpUtils.copy(cmd, blob.getPayload().getContentMetadata());
blob.getPayload().getContentMetadata().setContentLength(Long.valueOf(byteArray.length));
Long size = Long.valueOf(byteArray.length);
blob.getPayload().getContentMetadata().setContentLength(size);
blob.getMetadata().setSize(size);
}
}
checkNotNull(blob.getPayload(), "payload " + blob);

View File

@ -284,6 +284,7 @@ public class BaseBlobStoreIntegrationTest extends BaseViewLiveTest<BlobStoreCont
protected <T extends BlobMetadata> T validateMetadata(T md, String container, String name) {
assertEquals(md.getName(), name);
assertEquals(md.getContainer(), container);
assertEquals(md.getSize(), md.getContentMetadata().getContentLength());
return md;
}