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


Java GetOptions类代码示例

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


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

示例1: conditionalGetSatisified

import org.jclouds.blobstore.options.GetOptions; //导入依赖的package包/类
private Response conditionalGetSatisified(GetOptions options, String etag, Date mtime) {
    if (options.getIfMatch() != null && !eTagsEqual(etag, options.getIfMatch())) {
        return Response.status(Response.Status.PRECONDITION_FAILED).build();
    }

    if (options.getIfNoneMatch() != null && eTagsEqual(etag, options.getIfNoneMatch())) {
        return Response.notModified().build();
    }

    if (options.getIfModifiedSince() != null && mtime.compareTo(options.getIfModifiedSince()) <= 0) {
        return Response.notModified().build();
    }

    if (options.getIfUnmodifiedSince() != null && mtime.compareTo(options.getIfUnmodifiedSince()) > 0) {
        return Response.status(Response.Status.PRECONDITION_FAILED).build();
    }

    return null;
}
 
开发者ID:bouncestorage,项目名称:swiftproxy,代码行数:20,代码来源:ObjectResource.java

示例2: getBlob

import org.jclouds.blobstore.options.GetOptions; //导入依赖的package包/类
@Override
@Nullable
public Blob getBlob(String container, String name, GetOptions options) {
    Blob blob = super.getBlob(container, name, options);
    if (blob == null) {
        return null;
    }

    byte[] array;
    try (InputStream is = blob.getPayload().openStream()) {
        array = ByteStreams.toByteArray(is);
    } catch (IOException ioe) {
        throw new RuntimeException(ioe);
    }

    long length = Longs.fromByteArray(array);
    ByteSourcePayload payload = new ByteSourcePayload(
            new NullByteSource().slice(0, length));
    payload.setContentMetadata(blob.getPayload().getContentMetadata());
    payload.getContentMetadata().setContentLength(length);
    payload.getContentMetadata().setContentMD5((HashCode) null);
    blob.setPayload(payload);
    return blob;
}
 
开发者ID:gaul,项目名称:s3proxy,代码行数:25,代码来源:NullBlobStore.java

示例3: testUnbounce

import org.jclouds.blobstore.options.GetOptions; //导入依赖的package包/类
@Test
public void testUnbounce() throws Exception {
    String blobName = "blob";
    Blob blob = UtilsTest.makeBlob(farBlobStore, blobName);
    nearBlobStore.putBlob(containerName, blob);
    Utils.copyBlobAndCreateBounceLink(nearBlobStore, farBlobStore,
            containerName, blobName);

    assertThat(nearBlobStore.blobExists(containerName, blobName)).isTrue();
    assertThat(farBlobStore.blobExists(containerName, blobName)).isTrue();
    Blob nearBlob = nearBlobStore.getBlob(containerName, blobName);
    assertThat(BounceLink.isLink(nearBlob.getMetadata())).isTrue();

    policy.getBlob(containerName, blobName, GetOptions.NONE);
    assertThat(nearBlobStore.blobExists(containerName, blobName)).isTrue();
    assertThat(farBlobStore.blobExists(containerName, blobName)).isTrue();
    nearBlob = nearBlobStore.getBlob(containerName, blobName);
    assertThat(BounceLink.isLink(nearBlob.getMetadata())).isFalse();
    Blob farBlob = farBlobStore.getBlob(containerName, blobName);
    UtilsTest.assertEqualBlobs(nearBlob, blob);
    UtilsTest.assertEqualBlobs(farBlob, blob);
}
 
开发者ID:bouncestorage,项目名称:bouncestorage,代码行数:23,代码来源:BounceTest.java

示例4: getBlob

import org.jclouds.blobstore.options.GetOptions; //导入依赖的package包/类
@Override
public Blob getBlob(String container, String name, GetOptions options) {
    GridFSIdentifier identifier = parseGridFSIdentifier(container);
    if (!identifier.storeExists(mongo)) {
        throw new ContainerNotFoundException(container, "could not find expected collections in database");
    }
    // TODO: support get options
    if (options != null && (
            options.getIfMatch() != null || options.getIfNoneMatch() != null ||
                    options.getIfModifiedSince() != null || options.getIfUnmodifiedSince() != null ||
                    !options.getRanges().isEmpty()
    )) {
        throw new IllegalArgumentException("Get options are not currently supported by this provider");
    }
    GridFS gridFS = identifier.connect(mongo); // TODO: cache
    GridFSDBFile dbFile = gridFS.findOne(name);
    if (dbFile == null) {
        return null;
    }
    Blob blob = dbFileToBlob.apply(dbFile);
    blob.getMetadata().setContainer(container);
    return blob;
}
 
开发者ID:mhurne,项目名称:jclouds-gridfs-blobstore,代码行数:24,代码来源:GridFSBlobStore.java

示例5: testClassKeyBuilderCreatesAKeyWithShiftedIntegerHashCodesIntoASingleLong

import org.jclouds.blobstore.options.GetOptions; //导入依赖的package包/类
@Test
public void testClassKeyBuilderCreatesAKeyWithShiftedIntegerHashCodesIntoASingleLong() {
	String fileAttributeValue = Long.toBinaryString(GetOptionFileAttribute.class.hashCode());
	String getOptionsValue = Long.toBinaryString(GetOptions.class.hashCode());
	String result = Long.toBinaryString(FileAttributeLookupMap.classKeyBuilder(GetOptionFileAttribute.class, GetOptions.class));
	Assert.assertTrue(result.startsWith(fileAttributeValue));
	Assert.assertTrue(result.endsWith(getOptionsValue));
	//System.out.println(result);
}
 
开发者ID:brdara,项目名称:java-cloud-filesystem-provider,代码行数:10,代码来源:FileAttributeLookupMapTest.java

示例6: getBlob

import org.jclouds.blobstore.options.GetOptions; //导入依赖的package包/类
@Override
public Blob getBlob(String container, String name, GetOptions options) {
   OSS oss = api.getOSSClient(OSSApi.DEFAULT_REGION);
   String region = oss.getBucketLocation(container);
   oss = api.getOSSClient(region);
   GetObjectRequest req = new GetObjectRequest(container, name);
   OSSObject object = oss.getObject(req);
   String filename = object.getKey();
   return blobBuilder(container)
         .name(filename)
         .payload(object.getObjectContent())
         .build();
}
 
开发者ID:aliyun-beta,项目名称:aliyun-jclouds,代码行数:14,代码来源:OSSBlobStore.java

示例7: addRanges

import org.jclouds.blobstore.options.GetOptions; //导入依赖的package包/类
private static GetOptions addRanges(GetOptions options, List<Pair<Long, Long>> ranges) {
    ranges.forEach(rangeSpec -> {
        if (rangeSpec.getFirst() == null) {
            if (rangeSpec.getSecond() == 0) {
                throw new ClientErrorException(Response.Status.REQUESTED_RANGE_NOT_SATISFIABLE);
            }
            options.tail(rangeSpec.getSecond());
        } else if (rangeSpec.getSecond() == null) {
            options.startAt(rangeSpec.getFirst());
        } else {
            options.range(rangeSpec.getFirst(), rangeSpec.getSecond());
        }
    });
    return options;
}
 
开发者ID:bouncestorage,项目名称:swiftproxy,代码行数:16,代码来源:ObjectResource.java

示例8: getDloObject

import org.jclouds.blobstore.options.GetOptions; //导入依赖的package包/类
private Response getDloObject(BlobStore blobStore, BlobMetadata meta, GetOptions options, List<Pair<Long, Long>> ranges) {
    String manifest = meta.getUserMetadata().get(DYNAMIC_OBJECT_MANIFEST);
    Pair<String, String> param = validateCopyParam(manifest);
    String dloContainer = param.getFirst();
    String objectsPrefix = param.getSecond();
    List<ManifestEntry> segments = getDLOSegments(blobStore, dloContainer, objectsPrefix);
    Pair<Long, String> sizeAndEtag = getManifestTotalSizeAndETag(segments);

    Response cond = conditionalGetSatisified(options,
            sizeAndEtag.getSecond(), meta.getLastModified());
    if (cond != null) {
        return cond;
    }

    logger.debug("getting DLO object: {}", sizeAndEtag);

    InputStream combined = new ManifestObjectInputStream(blobStore, segments);
    long size = sizeAndEtag.getFirst();
    if (ranges != null) {
        combined = new HttpRangeInputStream(combined, sizeAndEtag.getFirst(), ranges);
        size = getTotalRangesLength(ranges, size);
        logger.debug("range request for {} bytes", size);
    }
    return addObjectHeaders(Response.ok(combined), meta,
            Optional.of(overwriteSizeAndETag(size, sizeAndEtag.getSecond())))
            .build();
}
 
开发者ID:bouncestorage,项目名称:swiftproxy,代码行数:28,代码来源:ObjectResource.java

示例9: openNextStream

import org.jclouds.blobstore.options.GetOptions; //导入依赖的package包/类
void openNextStream() throws IOException {
    if (currentStream != null) {
        currentResp.close();
        currentResp = null;
        currentStream = null;
        availableBytes = 0;
    }
    if (!entries.hasNext()) {
        return;
    }

    ManifestEntry entry = entries.next();
    logger.info("opening {}/{}", entry.container, entry.object);
    Response resp = getObject(blobStore, entry.container, entry.object, GetOptions.NONE, null, false);
    if (!resp.getStatusInfo().getFamily().equals(Response.Status.Family.SUCCESSFUL)) {
        resp.close();
        throw new ClientErrorException(Response.Status.CONFLICT);
    }
    availableBytes = Long.parseLong(resp.getHeaderString(HttpHeaders.CONTENT_LENGTH));
    currentStream = (InputStream) resp.getEntity();
    currentResp = resp;
    String etag = resp.getHeaderString(HttpHeaders.ETAG);

    if (entry.size_bytes != availableBytes || !eTagsEqual(entry.etag, etag)) {
        logger.error("409 conflict: {}/{} {} {} != {} {}",
                entry.container, entry.object, entry.etag, entry.size_bytes,
                etag, availableBytes);
        throw new ClientErrorException(Response.Status.CONFLICT);
    }
}
 
开发者ID:bouncestorage,项目名称:swiftproxy,代码行数:31,代码来源:ObjectResource.java

示例10: getBlob

import org.jclouds.blobstore.options.GetOptions; //导入依赖的package包/类
@Override
public Blob getBlob(String containerName, String blobName, GetOptions options) {
    Date startTime = new Date();
    Blob blob = delegate().getBlob(containerName, blobName, options);

    if (blob != null) {
        app.getBounceStats().logOperation(HttpMethod.GET, getProviderId(), containerName, blobName,
                blob.getMetadata().getSize(), startTime.getTime());
    }
    return blob;
}
 
开发者ID:bouncestorage,项目名称:bouncestorage,代码行数:12,代码来源:LoggingBlobStore.java

示例11: getBlob

import org.jclouds.blobstore.options.GetOptions; //导入依赖的package包/类
@Override
public Blob getBlob(String container, String blobName, GetOptions options) {
    Blob blob = super.getBlob(container, blobName, options);
    if (blob != null) {
        updateLRU(container, blobName, blob.getMetadata().getSize());
    }
    return blob;
}
 
开发者ID:bouncestorage,项目名称:bouncestorage,代码行数:9,代码来源:LRUStoragePolicy.java

示例12: maybeConditionalGet

import org.jclouds.blobstore.options.GetOptions; //导入依赖的package包/类
private GetOptions maybeConditionalGet(String container, String blobName, GetOptions options) {
    if (options.getIfMatch() != null || options.getIfNoneMatch() != null ||
            options.getIfModifiedSince() != null || options.getIfUnmodifiedSince() != null) {

        BlobMetadata meta = blobMetadata(container, blobName);
        HttpResponseException ex = null;

        if (options.getIfMatch() != null && !eTagsEqual(options.getIfMatch(), meta.getETag())) {
            throw new ClientErrorException(Response.Status.PRECONDITION_FAILED);
        }

        if (options.getIfNoneMatch() != null && eTagsEqual(options.getIfNoneMatch(), meta.getETag())) {
            throw new WebApplicationException(Response.Status.NOT_MODIFIED);
        }

        if (options.getIfModifiedSince() != null &&
                meta.getLastModified().compareTo(options.getIfModifiedSince()) <= 0) {
            throw new WebApplicationException(Response.Status.NOT_MODIFIED);
        }

        if (options.getIfUnmodifiedSince() != null &&
                meta.getLastModified().compareTo(options.getIfUnmodifiedSince()) > 0) {
            throw new ClientErrorException(Response.Status.PRECONDITION_FAILED);
        }

        return new GetOptions() {
            @Override
            public List<String> getRanges() {
                return options.getRanges();
            }
        };
    }

    return options;
}
 
开发者ID:bouncestorage,项目名称:bouncestorage,代码行数:36,代码来源:WriteBackPolicy.java

示例13: getBlob

import org.jclouds.blobstore.options.GetOptions; //导入依赖的package包/类
@Override
public Blob getBlob(String container, String blobName, GetOptions options) {
    for (BlobStore blobStore : getCheckedStores()) {
        Blob blob = blobStore.getBlob(container, blobName, options);
        if (blob != null) {
            return blob;
        }
    }
    return null;
}
 
开发者ID:bouncestorage,项目名称:bouncestorage,代码行数:11,代码来源:MigrationPolicy.java

示例14: BlobStoreByteSource

import org.jclouds.blobstore.options.GetOptions; //导入依赖的package包/类
public BlobStoreByteSource(BlobStore blobStore, Blob blob, GetOptions options, long size) throws IOException {
    requireNonNull(blob);
    this.blobStore = requireNonNull(blobStore);
    this.container = blob.getMetadata().getContainer();
    this.blobName = blob.getMetadata().getName();
    this.size = size;
    this.options = requireNonNull(options);
    this.payload = blob.getPayload();
    this.isStreamRepeatable = blob.getPayload().isRepeatable();
}
 
开发者ID:bouncestorage,项目名称:bouncestorage,代码行数:11,代码来源:BlobStoreByteSource.java

示例15: slice

import org.jclouds.blobstore.options.GetOptions; //导入依赖的package包/类
@Override
public ByteSource slice(long offset, long length) {
    long remaining = Math.min(size - offset, length);
    GetOptions getOptions = new GetOptions().range(offset, offset + remaining - 1);

    try {
        return new BlobStoreByteSource(blobStore,
                blobStore.getBlob(container, blobName, getOptions), getOptions, remaining);
    } catch (IOException e) {
        throw propagate(e);
    }
}
 
开发者ID:bouncestorage,项目名称:bouncestorage,代码行数:13,代码来源:BlobStoreByteSource.java


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