本文整理汇总了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;
}
示例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;
}
示例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;
}