use of org.jclouds.blobstore.BlobStore in project legacy-jclouds-examples by jclouds.
the class MainApp method upload.
/**
* @param provider
* @param identity
* @param credential
* @param hdfsUrl
* @param containerName
* @param objectName
* @param plainhttp
* @param threadcount
* @throws IOException
*/
private void upload(String provider, String identity, String credential, String hdfsUrl, String containerName, String objectName, boolean plainhttp, String threadcount) throws IOException {
// Init
Properties overrides = new Properties();
if (plainhttp)
// default is https
overrides.putAll(PLAIN_HTTP_ENDPOINTS);
if (threadcount != null)
// without setting,
overrides.setProperty("jclouds.mpu.parallel.degree", threadcount);
// default is 4 threads
overrides.setProperty(provider + ".identity", identity);
overrides.setProperty(provider + ".credential", credential);
BlobStoreContext context = new BlobStoreContextFactory().createContext(provider, HDFS_MODULES, overrides);
try {
long start = System.currentTimeMillis();
Configuration conf = getConf();
if (conf == null) {
conf = new Configuration();
setConf(conf);
}
// Create Container
// it can be changed to sync
BlobStore blobStore = context.getBlobStore();
// BlobStore
blobStore.createContainerInLocation(null, containerName);
Blob blob = blobStore.blobBuilder(objectName).payload(new HdfsPayload(new Path(hdfsUrl), conf)).contentType(MediaType.APPLICATION_OCTET_STREAM).contentDisposition(objectName).build();
long length = blob.getPayload().getContentMetadata().getContentLength();
blobStore.putBlob(containerName, blob, multipart());
printSpeed("Sucessfully uploaded", start, length);
} finally {
// Close connection
context.close();
}
}
use of org.jclouds.blobstore.BlobStore in project legacy-jclouds-examples by jclouds.
the class BlobStoreServiceImpl method write.
public void write(String bucket, String blobName, Object object) {
context = new BlobStoreContextFactory().createContext(provider, accessKeyId, secretKey);
if (context != null) {
BlobStore blobStore = context.getBlobStore();
Blob blob = blobStore.blobBuilder(blobName).build();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = null;
try {
oos = new ObjectOutputStream(baos);
oos.writeObject(object);
blob.setPayload(baos.toByteArray());
blobStore.putBlob(bucket, blob);
} catch (IOException e) {
logger.error("Error while writing blob", e);
} finally {
if (oos != null) {
try {
oos.close();
} catch (IOException e) {
}
}
if (baos != null) {
try {
baos.close();
} catch (IOException e) {
}
}
}
} else
logger.warn("Blob store context is null.");
}
use of org.jclouds.blobstore.BlobStore in project artifact-manager-s3-plugin by jenkinsci.
the class JCloudsArtifactManager method clearAllStashes.
@Override
public void clearAllStashes(TaskListener listener) throws IOException, InterruptedException {
String prefix = getBlobPath("stashes/", PREFIX, key, id);
BlobStore blobStore = getContext(BLOB_CONTAINER).getBlobStore();
Iterator<StorageMetadata> it = new JCloudsBlobStore.PageSetIterable(blobStore, BLOB_CONTAINER, ListContainerOptions.Builder.prefix(prefix).recursive());
while (it.hasNext()) {
StorageMetadata sm = it.next();
String path = sm.getName();
assert path.startsWith(prefix);
LOGGER.fine("deleting " + path);
blobStore.removeBlob(BLOB_CONTAINER, path);
}
// TODO print some summary to listener
}
use of org.jclouds.blobstore.BlobStore in project wildfly-camel by wildfly-extras.
the class JCloudsBlobStoreIntegrationTest method testBlobStoreProducer.
@Test
public void testBlobStoreProducer() throws Exception {
BlobStore blobStore = getBlobStore();
CamelContext camelctx = new DefaultCamelContext();
camelctx.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
from("direct:start").setHeader(JcloudsConstants.BLOB_NAME, constant(BLOB_NAME_WITH_DIR)).setHeader(JcloudsConstants.CONTAINER_NAME, constant(CONTAINER_NAME_WITH_DIR)).to("jclouds:blobstore:transient");
}
});
List<BlobStore> blobStores = new ArrayList<>();
blobStores.add(blobStore);
JcloudsComponent jclouds = camelctx.getComponent("jclouds", JcloudsComponent.class);
jclouds.setBlobStores(blobStores);
camelctx.start();
try {
ProducerTemplate template = camelctx.createProducerTemplate();
String result = template.requestBody("direct:start", "Hello Kermit", String.class);
Assert.assertEquals("Hello Kermit", result);
} finally {
camelctx.stop();
}
}
use of org.jclouds.blobstore.BlobStore in project legacy-jclouds-examples by jclouds.
the class BlobStoreServiceImpl method read.
public Object read(String bucket, String blobName) {
Object result = null;
ObjectInputStream ois = null;
context = new BlobStoreContextFactory().createContext(provider, accessKeyId, secretKey);
if (context != null) {
BlobStore blobStore = context.getBlobStore();
blobStore.createContainerInLocation(null, bucket);
InputStream is = blobStore.getBlob(bucket, blobName).getPayload().getInput();
try {
ois = new ObjectInputStream(is);
result = ois.readObject();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} finally {
if (ois != null) {
try {
ois.close();
} catch (IOException e) {
}
}
if (is != null) {
try {
is.close();
} catch (IOException e) {
}
}
}
} else
logger.warn("Blob store context is null.");
return result;
}
Aggregations