List of usage examples for com.amazonaws.services.s3.model GetObjectRequest setModifiedSinceConstraint
public void setModifiedSinceConstraint(Date date)
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); } }