public int addObject(S3Object object) { int insertRow = Collections.binarySearch(objectList, object, new Comparator() { public int compare(Object o1, Object o2) { return ((S3Object)o1).getKey().compareToIgnoreCase(((S3Object)o2).getKey()); } }); if (insertRow >= 0) { // We already have an item with this key, replace it. objectList.remove(insertRow); this.removeRow(insertRow); } else { insertRow = (-insertRow) - 1; } // New object to insert. objectList.add(insertRow, object); this.insertRow(insertRow, new Object[] {object.getKey(), new Long(object.getContentLength()), object.getLastModifiedDate()}); return insertRow; }
public int addObject(S3Object object) { int insertRow = Collections.binarySearch(objectList, object, new Comparator() { public int compare(Object o1, Object o2) { return ((S3Object)o1).getKey().compareToIgnoreCase(((S3Object)o2).getKey()); } }); if (insertRow >= 0) { // We already have an item with this key, replace it. objectList.remove(insertRow); this.removeRow(insertRow); } else { insertRow = (-insertRow) - 1; } // New object to insert. objectList.add(insertRow, object); this.insertRow(insertRow, new Object[] {object.getKey(), new Long(object.getContentLength()), object.getLastModifiedDate()}); return insertRow; }
@Override public URI call() throws Exception { final S3Coords coords = new S3Coords(checkURI(uri)); long mostRecent = Long.MIN_VALUE; URI latest = null; S3Object[] objects = s3Client.listObjects(coords.bucket, coords.path, null); if (objects == null) { return null; } for (S3Object storageObject : objects) { storageObject.closeDataInputStream(); String keyString = storageObject.getKey().substring(coords.path.length()); if (keyString.startsWith("/")) { keyString = keyString.substring(1); } if (pattern != null && !pattern.matcher(keyString).matches()) { continue; } final long latestModified = storageObject.getLastModifiedDate().getTime(); if (latestModified >= mostRecent) { mostRecent = latestModified; latest = new URI(StringUtils.format("s3://%s/%s", storageObject.getBucketName(), storageObject.getKey())); } } return latest; } },
objectContentTypeTextField.setText(object.getContentType()); objectContentLengthTextField.setText(String.valueOf(object.getContentLength())); objectLastModifiedTextField.setText(String.valueOf(object.getLastModifiedDate())); objectETagTextField.setText(object.getETag()); bucketNameTextField.setText(object.getBucketName());
@Override public String toString() { return "S3Object [key=" + getKey() + ", bucket=" + (bucketName == null ? "<Unknown>" : bucketName) + ", lastModified=" + getLastModifiedDate() + ", dataInputStream=" + dataInputStream + (getStorageClass() != null ? ", storageClass=" + getStorageClass() : "") + ", Metadata=" + getMetadataMap() + "]"; }
@Override public String toString() { return "S3Object [key=" + getKey() + ", bucket=" + (bucketName == null ? "<Unknown>" : bucketName) + ", lastModified=" + getLastModifiedDate() + ", dataInputStream=" + dataInputStream + (getStorageClass() != null ? ", storageClass=" + getStorageClass() : "") + ", Metadata=" + getMetadataMap() + "]"; }
/** * * @param containerName * @return * @throws StorageCommunicationException * @see org.opencredo.cloud.storage.StorageOperations#listContainerObjectDetails(java.lang.String) */ public List<BlobDetails> listContainerObjectDetails(String containerName) throws StorageCommunicationException { Assert.notNull(containerName, "Bucket name cannot be null"); LOG.debug("Get objects list for bucket '{}'", containerName); try { S3Object[] s3Objects = this.s3Service.listObjects(new S3Bucket(containerName)); List<BlobDetails> keys = new ArrayList<BlobDetails>(s3Objects.length); for (S3Object s : s3Objects) { keys.add(new BlobDetails(s.getBucketName(), s.getKey(), s.getETag(), s.getLastModifiedDate())); } return keys; } catch (S3ServiceException e) { throw new StorageCommunicationException("Failed to get bucket " + containerName + " object details.", e); } }
objectLastModifiedTextField.setText(String.valueOf(currentObject.getLastModifiedDate())); objectETagTextField.setText(currentObject.getETag()); bucketLocationTextField.setText(currentObject.getBucketName());
objectLastModifiedTextField.setText(String.valueOf(currentObject.getLastModifiedDate())); objectETagTextField.setText(currentObject.getETag()); bucketLocationTextField.setText(currentObject.getBucketName());
public FileMetadata retrieveMetadata(String key) throws IOException { try { S3Object object = s3Service.getObjectDetails(bucket, key); return new FileMetadata(key, object.getContentLength(), object.getLastModifiedDate().getTime()); } catch (S3ServiceException e) { // Following is brittle. Is there a better way? if (e.getMessage().contains("ResponseCode=404")) { return null; } if (e.getCause() instanceof IOException) { throw (IOException) e.getCause(); } throw new S3Exception(e); } }
public FileMetadata retrieveMetadata(String key) throws IOException { try { S3Object object = s3Service.getObjectDetails(bucket, key); return new FileMetadata(key, object.getContentLength(), object.getLastModifiedDate().getTime()); } catch (S3ServiceException e) { // Following is brittle. Is there a better way? if (e.getMessage().contains("ResponseCode=404")) { return null; } if (e.getCause() instanceof IOException) { throw (IOException) e.getCause(); } throw new S3Exception(e); } }
private void setAttributes(org.jets3t.service.model.S3Object object) { setDirectory(object.getKey().endsWith("/")); setSize(object.getContentLength()); setDate(object.getLastModifiedDate().getTime()); setPermissions(DEFAULT_PERMISSIONS); // Note: owner is null for common prefix objects S3Owner owner = object.getOwner(); setOwner(owner==null?null:owner.getDisplayName()); }
return new MultipartPart(partNumber, object.getLastModifiedDate(), object.getETag(), object.getContentLength()); } catch (ServiceException se) {
public int addObject(S3Object object) { sanitizeObjectKey(object); int insertRow = Collections.binarySearch(objectList, object, new Comparator() { public int compare(Object o1, Object o2) { return ((S3Object)o1).getKey().compareToIgnoreCase(((S3Object)o2).getKey()); } }); String aclStatus = null; if (insertRow >= 0) { // Retain the object's ACL status if it's available. aclStatus = (String) this.getValueAt(insertRow, 3); // We already have an item with this key, replace it. objectList.remove(insertRow); this.removeRow(insertRow); } else { insertRow = (-insertRow) - 1; } if (object.getAcl() != null || aclStatus == null) { aclStatus = CockpitLite.getAclDescription(object.getAcl()); } // New object to insert. objectList.add(insertRow, object); this.insertRow(insertRow, new Object[] {object.getKey(), new Long(object.getContentLength()), object.getLastModifiedDate(), aclStatus}); return insertRow; }
public int addObject(S3Object object) { sanitizeObjectKey(object); int insertRow = Collections.binarySearch(objectList, object, new Comparator() { public int compare(Object o1, Object o2) { return ((S3Object)o1).getKey().compareToIgnoreCase(((S3Object)o2).getKey()); } }); String aclStatus = null; if (insertRow >= 0) { // Retain the object's ACL status if it's available. aclStatus = (String) this.getValueAt(insertRow, 3); // We already have an item with this key, replace it. objectList.remove(insertRow); this.removeRow(insertRow); } else { insertRow = (-insertRow) - 1; } if (object.getAcl() != null || aclStatus == null) { aclStatus = CockpitLite.getAclDescription(object.getAcl()); } // New object to insert. objectList.add(insertRow, object); this.insertRow(insertRow, new Object[] {object.getKey(), new Long(object.getContentLength()), object.getLastModifiedDate(), aclStatus}); return insertRow; }
null == part.getLastModifiedDate() ? new Date(System.currentTimeMillis()) : part.getLastModifiedDate(), null == part.getETag() ? StringUtils.EMPTY : part.getETag(), part.getContentLength());
private PartialListing list(String prefix, String delimiter, int maxListingLength, String priorLastKey) throws IOException { try { if (prefix.length() > 0 && !prefix.endsWith(PATH_DELIMITER)) { prefix += PATH_DELIMITER; } S3ObjectsChunk chunk = s3Service.listObjectsChunked(bucket.getName(), prefix, delimiter, maxListingLength, priorLastKey); FileMetadata[] fileMetadata = new FileMetadata[chunk.getObjects().length]; for (int i = 0; i < fileMetadata.length; i++) { S3Object object = chunk.getObjects()[i]; fileMetadata[i] = new FileMetadata(object.getKey(), object.getContentLength(), object.getLastModifiedDate().getTime()); } return new PartialListing(chunk.getPriorLastKey(), fileMetadata, chunk.getCommonPrefixes()); } catch (S3ServiceException e) { if (e.getCause() instanceof IOException) { throw (IOException) e.getCause(); } throw new S3Exception(e); } }
private PartialListing list(String prefix, String delimiter, int maxListingLength, String priorLastKey) throws IOException { try { if (prefix.length() > 0 && !prefix.endsWith(PATH_DELIMITER)) { prefix += PATH_DELIMITER; } S3ObjectsChunk chunk = s3Service.listObjectsChunked(bucket.getName(), prefix, delimiter, maxListingLength, priorLastKey); FileMetadata[] fileMetadata = new FileMetadata[chunk.getObjects().length]; for (int i = 0; i < fileMetadata.length; i++) { S3Object object = chunk.getObjects()[i]; fileMetadata[i] = new FileMetadata(object.getKey(), object.getContentLength(), object.getLastModifiedDate().getTime()); } return new PartialListing(chunk.getPriorLastKey(), fileMetadata, chunk.getCommonPrefixes()); } catch (S3ServiceException e) { if (e.getCause() instanceof IOException) { throw (IOException) e.getCause(); } throw new S3Exception(e); } }
sr.setObjectMetadata(objects[i].getMetadataMap()); sr.addObjectMetadata(S3Object.METADATA_HEADER_LAST_MODIFIED_DATE, ServiceUtils.formatIso8601Date(objects[i].getLastModifiedDate())); sr.setObjectKey(objects[i].getKey()); gatekeeperMessage.addSignatureRequest(sr);
sr.setObjectMetadata(objects[i].getMetadataMap()); sr.addObjectMetadata(S3Object.METADATA_HEADER_LAST_MODIFIED_DATE, ServiceUtils.formatIso8601Date(objects[i].getLastModifiedDate())); sr.setObjectKey(objects[i].getKey()); gatekeeperMessage.addSignatureRequest(sr);