Example usage for com.amazonaws.services.s3.model GetObjectRequest setModifiedSinceConstraint

List of usage examples for com.amazonaws.services.s3.model GetObjectRequest setModifiedSinceConstraint

Introduction

In this page you can find the example usage for com.amazonaws.services.s3.model GetObjectRequest setModifiedSinceConstraint.

Prototype

public void setModifiedSinceConstraint(Date date) 

Source Link

Document

Sets the optional modified constraint that restricts this request to executing only if the object has been modified after the specified date.

Usage

From source file:com.eucalyptus.objectstorage.providers.s3.S3ProviderClient.java

License:Open Source License

@Override
public GetObjectExtendedResponseType getObjectExtended(final GetObjectExtendedType request) throws S3Exception {
    User requestUser = getRequestUser(request);
    OsgInternalS3Client internalS3Client = null;

    Boolean getMetaData = request.getGetMetaData();
    Long byteRangeStart = request.getByteRangeStart();
    Long byteRangeEnd = request.getByteRangeEnd();
    Date ifModifiedSince = request.getIfModifiedSince();
    Date ifUnmodifiedSince = request.getIfUnmodifiedSince();
    String ifMatch = request.getIfMatch();
    String ifNoneMatch = request.getIfNoneMatch();

    GetObjectRequest getRequest = new GetObjectRequest(request.getBucket(), request.getKey());
    if (byteRangeStart == null) {
        byteRangeStart = 0L;/* www .  ja va2s .c  om*/
    }
    if (byteRangeEnd != null) {
        getRequest.setRange(byteRangeStart, byteRangeEnd);
    }
    if (getMetaData != null) {
        //Get object metadata
    }
    if (ifModifiedSince != null) {
        getRequest.setModifiedSinceConstraint(ifModifiedSince);
    }
    if (ifUnmodifiedSince != null) {
        getRequest.setUnmodifiedSinceConstraint(ifUnmodifiedSince);
    }
    if (ifMatch != null) {
        List matchList = new ArrayList();
        matchList.add(ifMatch);
        getRequest.setMatchingETagConstraints(matchList);
    }
    if (ifNoneMatch != null) {
        List nonMatchList = new ArrayList();
        nonMatchList.add(ifNoneMatch);
        getRequest.setNonmatchingETagConstraints(nonMatchList);
    }
    try {
        internalS3Client = getS3Client(requestUser);
        AmazonS3Client s3Client = internalS3Client.getS3Client();
        S3Object response = s3Client.getObject(getRequest);

        GetObjectExtendedResponseType reply = request.getReply();
        populateResponseMetadata(reply, response.getObjectMetadata());
        reply.setDataInputStream(response.getObjectContent());
        reply.setByteRangeStart(request.getByteRangeStart());
        reply.setByteRangeEnd(request.getByteRangeEnd());
        return reply;
    } catch (AmazonServiceException e) {
        LOG.debug("Error from backend", e);
        throw S3ExceptionMapper.fromAWSJavaSDK(e);
    }
}

From source file:org.mule.module.s3.simpleapi.ConditionalConstraints.java

License:Open Source License

public void populate(@NotNull GetObjectRequest request) {
    request.setModifiedSinceConstraint(modifiedSince);
    request.setUnmodifiedSinceConstraint(unmodifiedSince);
}

From source file:ws.salient.aws.s3.AmazonS3Wagon.java

License:Apache License

private boolean getIfModifiedSince(String path, File file, Date lastModified)
        throws TransferFailedException, ResourceDoesNotExistException, AuthorizationException {
    GetObjectRequest getObject = new GetObjectRequest(repository.getHost(), getKey(path));
    try {/* w  ww .j ava 2  s. com*/
        if (lastModified != null) {
            getObject.setModifiedSinceConstraint(lastModified);
        }
        S3Object s3Object = s3.getObject(getObject);

        if (s3Object != null) {
            log.info(file.getAbsolutePath() + ": "
                    + String.valueOf(s3Object.getObjectMetadata().getContentLength()));
            try (InputStream in = s3Object.getObjectContent();
                    FileOutputStream fileOut = new FileOutputStream(file)) {
                IOUtils.copy(in, fileOut);
            }
            return true;
        }
        return false;
    } catch (AmazonS3Exception ex) {
        if (ex.getErrorCode().equals("NoSuchKey") || ex.getErrorCode().equals("AccessDenied")) {
            log.warn("s3://" + getObject.getBucketName() + "/" + getObject.getKey(), ex);
            throw new ResourceDoesNotExistException(
                    "s3://" + getObject.getBucketName() + "/" + getObject.getKey(), ex);
        }
        throw new TransferFailedException(ex.getMessage(), ex);
    } catch (IOException ex) {
        throw new TransferFailedException(ex.getMessage(), ex);
    }
}