当前位置: 首页>>代码示例>>Java>>正文


Java Payloads类代码示例

本文整理汇总了Java中org.jclouds.io.Payloads的典型用法代码示例。如果您正苦于以下问题:Java Payloads类的具体用法?Java Payloads怎么用?Java Payloads使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


Payloads类属于org.jclouds.io包,在下文中一共展示了Payloads类的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: uploadObjectFromFile

import org.jclouds.io.Payloads; //导入依赖的package包/类
/**
 * Upload an object from a File using the Swift API.
 */
private void uploadObjectFromFile() throws IOException {
   System.out.format("Upload Object From File%n");

   String filename = "uploadObjectFromFile";
   String suffix = ".txt";

   File tempFile = File.createTempFile(filename, suffix);

   try {
      Files.write("uploadObjectFromFile", tempFile, Charsets.UTF_8);

      ByteSource byteSource = Files.asByteSource(tempFile);
      Payload payload = Payloads.newByteSourcePayload(byteSource);

      cloudFiles.getObjectApi(REGION, CONTAINER)
         .put(filename + suffix, payload);

      System.out.format("  %s%s%n", filename, suffix);
   } finally {
      tempFile.delete();
   }
}
 
开发者ID:jclouds,项目名称:jclouds-examples,代码行数:26,代码来源:UploadObjectsWithServiceNet.java

示例2: uploadObjectFromStringWithMetadata

import org.jclouds.io.Payloads; //导入依赖的package包/类
/**
 * Upload an object from a String with metadata using the BlobStore API.
 */
private void uploadObjectFromStringWithMetadata() {
   System.out.format("Upload Object From String With Metadata%n");

   String filename = "uploadObjectFromStringWithMetadata.txt";

   Map<String, String> userMetadata = new HashMap<String, String>();
   userMetadata.put("key1", "value1");

   ByteSource source = ByteSource.wrap("uploadObjectFromString".getBytes());

   Blob blob = blobStore.blobBuilder(filename)
         .payload(Payloads.newByteSourcePayload(source))
         .userMetadata(userMetadata)
         .build();

   blobStore.putBlob(CONTAINER, blob);

   System.out.format("  %s%n", filename);
}
 
开发者ID:jclouds,项目名称:jclouds-examples,代码行数:23,代码来源:UploadObjectsWithServiceNet.java

示例3: uploadLargeObjectFromFile

import org.jclouds.io.Payloads; //导入依赖的package包/类
/**
 * Upload a large object from a File using the BlobStore API.
 *
 * @throws ExecutionException
 * @throws InterruptedException
 */
private void uploadLargeObjectFromFile(File largeFile) throws InterruptedException, ExecutionException {
   System.out.format("Upload Large Object From File%n");

   ByteSource source = Files.asByteSource(largeFile);
   // create the payload and set the content length
   Payload payload = Payloads.newByteSourcePayload(source);
   payload.getContentMetadata().setContentLength(largeFile.length());

   Blob blob = blobStore.blobBuilder(largeFile.getName())
         .payload(payload)
         .build();

   // configure the blobstore to use multipart uploading of the file
   String eTag = blobStore.putBlob(CONTAINER, blob, multipart());

   System.out.format("  Uploaded %s eTag=%s", largeFile.getName(), eTag);
}
 
开发者ID:jclouds,项目名称:jclouds-examples,代码行数:24,代码来源:UploadLargeObject.java

示例4: createObjectFromFile

import org.jclouds.io.Payloads; //导入依赖的package包/类
/**
 * This method will put a plain text object into the container.
 */
private void createObjectFromFile() throws IOException {
   System.out.format("Create Object From File%n");

   File tempFile = File.createTempFile(FILENAME, SUFFIX);

   try {
      Files.write("Hello Cloud Files", tempFile, Charsets.UTF_8);

      ObjectApi objectApi = cloudFiles.getObjectApi(REGION, CONTAINER_PUBLISH);

      ByteSource byteSource = Files.asByteSource(tempFile);
      Payload payload = Payloads.newByteSourcePayload(byteSource);

      objectApi.put(FILENAME + SUFFIX, payload);
   } finally {
      tempFile.delete();
   }
}
 
开发者ID:jclouds,项目名称:jclouds-examples,代码行数:22,代码来源:CloudFilesPublish.java

示例5: generatePutTempURL

import org.jclouds.io.Payloads; //导入依赖的package包/类
private void generatePutTempURL() throws IOException {
   System.out.format("Generate PUT Temp URL%n");

   // Create the Payload
   String data = "This object will be public for 10 minutes.";
   ByteSource source = ByteSource.wrap(data.getBytes());
   Payload payload = Payloads.newByteSourcePayload(source);

   // Create the Blob
   Blob blob = blobStore.blobBuilder(FILENAME).payload(payload).contentType("text/plain").build();
   HttpRequest request = blobStoreContext.getSigner(REGION).signPutBlob(CONTAINER, blob, TEN_MINUTES);

   System.out.format("  %s %s%n", request.getMethod(), request.getEndpoint());

   // PUT the file using jclouds
   HttpResponse response = blobStoreContext.utils().http().invoke(request);
   int statusCode = response.getStatusCode();

   if (statusCode >= 200 && statusCode < 299) {
      System.out.format("  PUT Success (%s)%n", statusCode);
   }
   else {
      throw new HttpResponseException(null, response);
   }
}
 
开发者ID:jclouds,项目名称:jclouds-examples,代码行数:26,代码来源:GenerateTempURL.java

示例6: copyFileToNode

import org.jclouds.io.Payloads; //导入依赖的package包/类
/**
 * Copies a file or a directory (TODO!) from local path to the node. If {@code remoteTarget} is null, the current working
 * directory on the remote machine is taken as a default destination.
 *
 * @param localSrc a path to a file on the local machine that is to be copied
 * @param remoteTarget a path on the target machine where the file is to be copied to
 * @throws OperationNotSupportedException if this node implementation doesn't provide ssh access
 * @throws NullPointerException if {@code localSrc} is null ({@code remoteTarget} has a default)
 * @throws IllegalArgumentException if {@code localSrc} is not a regular file
 * @throws FileNotFoundException if {@code localSrc} does not exist
 */
@Override
public void copyFileToNode(Path localSrc, String remoteTarget) throws OperationNotSupportedException,
        IllegalArgumentException, NullPointerException, IOException, InterruptedException {
    if (localSrc == null) {
        throw new NullPointerException("Local path to copy file from can't be null.");
    }
    if (!Files.exists(localSrc)) {
        throw new FileNotFoundException("Local path to copy file from doesn't exist: " + localSrc);
    }
    if (!Files.isRegularFile(localSrc)) {
        throw new IllegalArgumentException("Local path to copy file from has to be a single regular file: " + localSrc);
    }

    SunstoneCoreLogger.SSH.debug("Copying local path '{}' to remote target '{}' on node '{}'", localSrc, remoteTarget,
            getName());

    if (Strings.isNullOrEmpty(remoteTarget)) {
        remoteTarget = exec("sh", "-c", "echo -n $PWD").getOutput();
    }
    SshUtils.FileType remoteFileType = SshUtils.FileType
            .fromExitCode(exec("sh", "-c", SshUtils.FileType.getShellTestStr(remoteTarget)).getExitCode());

    if (remoteFileType == SshUtils.FileType.DIRECTORY) {
        remoteTarget = remoteTarget + "/" + localSrc.getFileName();
    }

    SshClient sshClient = null;
    try {
        sshClient = getSsh();
        sshClient.put(remoteTarget, Payloads.newPayload(localSrc.toFile()));
        SunstoneCoreLogger.SSH.debug("Copied local path '{}' to remote target '{}' on node '{}'", localSrc, remoteTarget,
                getName());
    } finally {
        if (sshClient != null) {
            sshClient.disconnect();
        }
    }
}
 
开发者ID:wildfly-extras,项目名称:sunstone,代码行数:50,代码来源:AbstractJCloudsNode.java

示例7: saveInputStream

import org.jclouds.io.Payloads; //导入依赖的package包/类
/**
 * {@inheritDoc}
 */
@Override
    public long saveInputStream(String id, String root, String filePath, InputStream stream) throws IOException {
        if(stream == null){
            return 0L;
        }
        ContainerAndName can = getContainerAndName(id, root, filePath);
        createContainerIfNotExist(can.container);

        InputStream in = markableInputStream(stream);
        long size = markableStreamLength(in);

        Payload payload = Payloads.newInputStreamPayload(in);

        try {
            BlobStore store = getBlobStore();
            String asciiID = Base64.encodeBase64String(id.getBytes("UTF8"));

            Blob blob = store.blobBuilder(can.name)
                .payload(payload)
                .contentLength(size)
                .userMetadata(ImmutableMap.of("id", asciiID, "path", filePath))
                .build();
            store.putBlob(can.container, blob);
        } finally {
            payload.release();
            Closeables.close(stream, true);
            Closeables.close(in, true);
        }

        return size;
    }
 
开发者ID:sakaiproject,项目名称:sakai,代码行数:35,代码来源:BlobStoreFileSystemHandler.java

示例8: call

import org.jclouds.io.Payloads; //导入依赖的package包/类
public BlobDetail call() throws Exception {
   ByteSource byteSource = Files.asByteSource(toBeUploadedBlobDetail.getLocalFile());

   Blob blob = blobStore.blobBuilder(toBeUploadedBlobDetail.getRemoteBlobName())
         .payload(Payloads.newByteSourcePayload(byteSource))
         .contentType("") // allows Cloud Files to determine the content type
         .build();
   String eTag = blobStore.putBlob(container, blob);
   BlobDetail uploadedBlobDetail = new BlobDetail(
         toBeUploadedBlobDetail.getRemoteBlobName(), toBeUploadedBlobDetail.getLocalFile(), eTag);

   return uploadedBlobDetail;
}
 
开发者ID:jclouds,项目名称:jclouds-examples,代码行数:14,代码来源:UploadDirectoryToCDN.java

示例9: apply

import org.jclouds.io.Payloads; //导入依赖的package包/类
@Override
public Blob apply(GridFSDBFile input) {
    MutableBlobMetadata blobMetadata = dbFileToBlobMetadata.apply(input);
    Payload payload = Payloads.newInputStreamPayload(input.getInputStream());
    payload.setContentMetadata(blobMetadata.getContentMetadata());
    Blob blob = blobFactory.create(blobMetadata);
    blob.setPayload(payload);
    return blob;
}
 
开发者ID:mhurne,项目名称:jclouds-gridfs-blobstore,代码行数:10,代码来源:DBFileToBlob.java

示例10: put

import org.jclouds.io.Payloads; //导入依赖的package包/类
@Override
public void put(String path, Supplier<InputStream> data) {
    jclouds.put(path, Payloads.newInputStreamPayload(data.get()));
}
 
开发者ID:wildfly-extras,项目名称:sunstone,代码行数:5,代码来源:JCloudsSshClient.java

示例11: uploadFile

import org.jclouds.io.Payloads; //导入依赖的package包/类
private void uploadFile( byte[] object, String filename, String container )
{
    log.info( "Uploading file {} on {}", filename, container );
    Payload payload = Payloads.newByteSourcePayload( ByteSource.wrap( object ) );
    api.getBlobStore().putBlob( container, api.getBlobStore().blobBuilder( filename ).payload( payload ).build() );
}
 
开发者ID:ClouDesire,项目名称:janine,代码行数:7,代码来源:BlobStoreServiceImpl.java

示例12: handlePut

import org.jclouds.io.Payloads; //导入依赖的package包/类
@Override
public void handlePut(HttpExchange request, Map<String, String> params) throws IOException {
    if (!params.containsKey("upload")) {
        Util.sendNotFound("Upload", params.get("upload"), request);
        return;
    }

    for (String header : REQUIRED_PUT_HEADERS) {
        if (!request.getRequestHeaders().containsKey(header)) {
            Util.sendBadRequest(String.format("Header %s not found", header), request);
            return;
        }
    }

    UUID uploadId = UUID.fromString(params.get("upload"));
    Upload upload = proxy.getUpload(params.get("vault"), uploadId);
    if (upload == null) {
        Util.sendNotFound("Upload", params.get("upload"), request);
        return;
    }
    Matcher rangeMatcher = CONTENT_RANGE_RE.matcher(request.getRequestHeaders().getFirst("Content-Range"));
    if (!rangeMatcher.matches()) {
        Util.sendBadRequest("Invalid content range", request);
        return;
    }
    String startRangeString = rangeMatcher.group("start");
    String endRangeString = rangeMatcher.group("end");
    long start;
    long end;
    try {
        start = Long.parseLong(startRangeString);
        end = Long.parseLong(endRangeString);
    } catch (NumberFormatException e) {
        Util.sendBadRequest("Invalid range", request);
        return;
    }
    long size = end - start + 1;
    if (size > upload.partSize) {
        Util.sendBadRequest(String.format("Part size must be smaller than %s", upload.partSize), request);
        return;
    }

    if (start % upload.partSize != 0) {
        Util.sendBadRequest(String.format("Starting part range does not align %d", start), request);
        return;
    }

    if (upload.parts.size() > 10000) {
        Util.sendBadRequest("Cannot have more than 10000 parts", request);
        return;
    }

    // parts are 1-indexed
    int partNumber = (int) (start/upload.partSize + 1);

    Payload payload = Payloads.newInputStreamPayload(request.getRequestBody());
    MultipartPart uploadedPart = proxy.getBlobStore().uploadMultipartPart(upload.jcloudsUpload, partNumber,
            payload);
    if (uploadedPart == null) {
        Util.sendServerError("Failed to save the part", request);
        return;
    }
    String sha256TreeHash = request.getRequestHeaders().getFirst("x-amz-sha256-tree-hash");
    upload.parts.add(new UploadPart(sha256TreeHash, size));

    request.getResponseHeaders().put("x-amz-sha256-tree-hash",
            request.getRequestHeaders().get("x-amz-sha256-tree-hash"));
    request.sendResponseHeaders(Response.Status.NO_CONTENT.getStatusCode(), -1);
}
 
开发者ID:bouncestorage,项目名称:glacier-proxy,代码行数:70,代码来源:Multipart.java

示例13: testCreateMultipartBlobGetBlob

import org.jclouds.io.Payloads; //导入依赖的package包/类
@Test
public void testCreateMultipartBlobGetBlob() throws Exception {
    String blobName = "multipart-upload";
    BlobMetadata blobMetadata = makeBlob(nullBlobStore, blobName)
            .getMetadata();
    MultipartUpload mpu = nullBlobStore.initiateMultipartUpload(
            containerName, blobMetadata, new PutOptions());

    ByteSource byteSource = TestUtils.randomByteSource().slice(
            0, nullBlobStore.getMinimumMultipartPartSize() + 1);
    ByteSource byteSource1 = byteSource.slice(
            0, nullBlobStore.getMinimumMultipartPartSize());
    ByteSource byteSource2 = byteSource.slice(
            nullBlobStore.getMinimumMultipartPartSize(), 1);
    Payload payload1 = Payloads.newByteSourcePayload(byteSource1);
    Payload payload2 = Payloads.newByteSourcePayload(byteSource2);
    payload1.getContentMetadata().setContentLength(byteSource1.size());
    payload2.getContentMetadata().setContentLength(byteSource2.size());
    MultipartPart part1 = nullBlobStore.uploadMultipartPart(mpu, 1,
            payload1);
    MultipartPart part2 = nullBlobStore.uploadMultipartPart(mpu, 2,
            payload2);

    List<MultipartPart> parts = nullBlobStore.listMultipartUpload(mpu);
    assertThat(parts.get(0).partNumber()).isEqualTo(1);
    assertThat(parts.get(0).partSize()).isZero();
    assertThat(parts.get(0).partETag()).isEqualTo(part1.partETag());
    assertThat(parts.get(1).partNumber()).isEqualTo(2);
    assertThat(parts.get(1).partSize()).isZero();
    assertThat(parts.get(1).partETag()).isEqualTo(part2.partETag());

    nullBlobStore.completeMultipartUpload(mpu, ImmutableList.of(part1,
            part2));

    Blob newBlob = nullBlobStore.getBlob(containerName, blobName);
    validateBlobMetadata(newBlob.getMetadata(), byteSource);

    // content differs, only compare length
    try (InputStream actual = newBlob.getPayload().openStream();
            InputStream expected = byteSource.openStream()) {
        long actualLength = ByteStreams.copy(actual,
                ByteStreams.nullOutputStream());
        long expectedLength = ByteStreams.copy(expected,
                ByteStreams.nullOutputStream());
        assertThat(actualLength).isEqualTo(expectedLength);
    }
}
 
开发者ID:gaul,项目名称:s3proxy,代码行数:48,代码来源:NullBlobStoreTest.java

示例14: uploadObjectFromString

import org.jclouds.io.Payloads; //导入依赖的package包/类
/**
 * Upload an object from a String using the Swift API.
 */
private void uploadObjectFromString() {
   System.out.format("Upload Object From String%n");

   String filename = "uploadObjectFromString.txt";

   ByteSource source = ByteSource.wrap("uploadObjectFromString".getBytes());
   Payload payload = Payloads.newByteSourcePayload(source);

   cloudFiles.getObjectApi(REGION, CONTAINER).put(filename, payload);

   System.out.format("  %s%n", filename);
}
 
开发者ID:jclouds,项目名称:jclouds-examples,代码行数:16,代码来源:UploadObjectsWithServiceNet.java


注:本文中的org.jclouds.io.Payloads类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。