
nl.tweeenveertig.openstack.command.object.DownloadObjectAsByteArrayCommand Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of joss Show documentation
Show all versions of joss Show documentation
Java Client library for OpenStack Storage (Swift)
package nl.tweeenveertig.openstack.command.object;
import nl.tweeenveertig.openstack.command.identity.access.AccessImpl;
import nl.tweeenveertig.openstack.instructions.DownloadInstructions;
import nl.tweeenveertig.openstack.model.Account;
import nl.tweeenveertig.openstack.model.Container;
import nl.tweeenveertig.openstack.model.StoredObject;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.http.HttpEntity;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.util.EntityUtils;
import java.io.*;
public class DownloadObjectAsByteArrayCommand extends AbstractDownloadObjectCommand {
private byte[] result;
public DownloadObjectAsByteArrayCommand(Account account, HttpClient httpClient, AccessImpl access,
StoredObject object, DownloadInstructions downloadInstructions) {
super(account, httpClient, access, object, downloadInstructions);
}
@Override
protected void handleEntity(HttpEntity entity) throws IOException {
result = EntityUtils.toByteArray(entity);
}
@Override
protected String getMd5() throws IOException {
return DigestUtils.md5Hex(result);
}
@Override
protected byte[] getObjectAsReturnObject() {
return result;
}
}