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


Java GetOptions.getIfUnmodifiedSince方法代码示例

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


在下文中一共展示了GetOptions.getIfUnmodifiedSince方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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
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

示例3: 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


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