/** * @throws Exception * throws first error thrown by an event, or does nothing if no error occurred. */ public void throwErrorIfPresent() throws Exception { if (this.wasErrorThrown()) { Throwable thrown = this.getErrorThrown(); if (thrown instanceof Exception) { throw (Exception) thrown; } else { throw new Exception(thrown); } } }
public void event(ListObjectsEvent event) { storeThrowable(event); }
/** * Creates multiple buckets. * * @param bucketNames * name of the buckets to create. * @return * the created buckets. * @throws ServiceException */ public StorageBucket[] createBuckets(final String[] bucketNames) throws ServiceException { final List<StorageBucket> bucketList = new ArrayList<StorageBucket>(); StorageServiceEventAdaptor adaptor = new StorageServiceEventAdaptor() { @Override public void event(CreateBucketsEvent event) { super.event(event); if (ServiceEvent.EVENT_IN_PROGRESS == event.getEventCode()) { bucketList.addAll(Arrays.asList(event.getCreatedBuckets())); } }; }; (new ThreadedStorageService(service, adaptor)).createBuckets(bucketNames); throwError(adaptor); return bucketList.toArray(new StorageBucket[bucketList.size()]); }
@Override public void event(CreateObjectsEvent event) { super.event(event); if (ServiceEvent.EVENT_IN_PROGRESS == event.getEventCode()) { objectList.addAll(Arrays.asList(event.getCreatedObjects())); } }; };
/** * Creates multiple buckets. * * @param bucketNames * name of the buckets to create. * @return * the created buckets. * @throws ServiceException */ public StorageBucket[] createBuckets(final String[] bucketNames) throws ServiceException { final List<StorageBucket> bucketList = new ArrayList<StorageBucket>(); StorageServiceEventAdaptor adaptor = new StorageServiceEventAdaptor() { @Override public void event(CreateBucketsEvent event) { super.event(event); if (ServiceEvent.EVENT_IN_PROGRESS == event.getEventCode()) { bucketList.addAll(Arrays.asList(event.getCreatedBuckets())); } }; }; (new ThreadedStorageService(service, adaptor)).createBuckets(bucketNames); throwError(adaptor); return bucketList.toArray(new StorageBucket[bucketList.size()]); }
@Override public void event(CreateObjectsEvent event) { super.event(event); if (ServiceEvent.EVENT_IN_PROGRESS == event.getEventCode()) { objectList.addAll(Arrays.asList(event.getCreatedObjects())); } }; };
public void event(UpdateACLEvent event) { storeThrowable(event); }
/** * Retrieves Access Control List (ACL) settings for multiple objects. * * @param bucketName * name of the bucket containing the objects. * @param objects * the objects whose ACLs will be retrieved. * @return * objects including the ACL information retrieved. * @throws ServiceException */ public StorageObject[] getObjectACLs(String bucketName, final StorageObject[] objects) throws ServiceException { final List<StorageObject> objectList = new ArrayList<StorageObject>(); StorageServiceEventAdaptor adaptor = new StorageServiceEventAdaptor() { @Override public void event(LookupACLEvent event) { super.event(event); if (ServiceEvent.EVENT_IN_PROGRESS == event.getEventCode()) { objectList.addAll(Arrays.asList(event.getObjectsWithACL())); } }; }; (new ThreadedStorageService(service, adaptor)).getObjectACLs(bucketName, objects); throwError(adaptor); return objectList.toArray(new StorageObject[objectList.size()]); }
@Override public void event(DeleteObjectsEvent event) { super.event(event); if (ServiceEvent.EVENT_IN_PROGRESS == event.getEventCode()) { objectList.addAll(Arrays.asList(event.getDeletedObjects())); } }; };
/** * @throws Exception * throws first error thrown by an event, or does nothing if no error occurred. */ public void throwErrorIfPresent() throws Exception { if (this.wasErrorThrown()) { Throwable thrown = this.getErrorThrown(); if (thrown instanceof Exception) { throw (Exception) thrown; } else { throw new Exception(thrown); } } }
public void event(CreateBucketsEvent event) { storeThrowable(event); }
/** * Updates/sets Access Control List (ACL) settings for multiple objects. * * @param bucketName * name of the bucket containing the objects. * @param objects * objects containing ACL settings that will be updated/set. * @return * objects whose ACL settings were updated/set. * @throws ServiceException */ public StorageObject[] putACLs(String bucketName, final StorageObject[] objects) throws ServiceException { final List<StorageObject> objectList = new ArrayList<StorageObject>(); StorageServiceEventAdaptor adaptor = new StorageServiceEventAdaptor() { @Override public void event(UpdateACLEvent event) { super.event(event); if (ServiceEvent.EVENT_IN_PROGRESS == event.getEventCode()) { objectList.addAll(Arrays.asList(event.getObjectsWithUpdatedACL())); } }; }; (new ThreadedStorageService(service, adaptor)).putACLs(bucketName, objects); throwError(adaptor); return objectList.toArray(new StorageObject[objectList.size()]); }
@Override public void event(DownloadObjectsEvent event) { super.event(event); if (ServiceEvent.EVENT_IN_PROGRESS == event.getEventCode()) { objectList.addAll(Arrays.asList(event.getDownloadedObjects())); } }; };
/** * Utility method to check an {@link StorageServiceEventAdaptor} for the occurrence of an error, * and if one is present to throw it. * * @param adaptor * @throws ServiceException */ protected void throwError(StorageServiceEventAdaptor adaptor) throws ServiceException { if (adaptor.wasErrorThrown()) { Throwable thrown = adaptor.getErrorThrown(); if (thrown instanceof ServiceException) { throw (ServiceException) thrown; } else { throw new ServiceException(thrown); } } }
public void event(GetObjectsEvent event) { storeThrowable(event); }
/** * Creates/uploads multiple objects. * * @param bucketName * the bucket where objects will be stored. * @param objects * the objects to create/upload. * @return * the created/uploaded objects. * @throws ServiceException */ public StorageObject[] putObjects(String bucketName, final StorageObject[] objects) throws ServiceException { final List<StorageObject> objectList = new ArrayList<StorageObject>(); StorageServiceEventAdaptor adaptor = new StorageServiceEventAdaptor() { @Override public void event(CreateObjectsEvent event) { super.event(event); if (ServiceEvent.EVENT_IN_PROGRESS == event.getEventCode()) { objectList.addAll(Arrays.asList(event.getCreatedObjects())); } }; }; (new ThreadedStorageService(service, adaptor)).putObjects(bucketName, objects); throwError(adaptor); return objectList.toArray(new StorageObject[objectList.size()]); }
@Override public void event(GetObjectHeadsEvent event) { super.event(event); if (ServiceEvent.EVENT_IN_PROGRESS == event.getEventCode()) { objectList.addAll(Arrays.asList(event.getCompletedObjects())); } }; };
/** * Utility method to check an {@link StorageServiceEventAdaptor} for the occurrence of an error, * and if one is present to throw it. * * @param adaptor * @throws ServiceException */ protected void throwError(StorageServiceEventAdaptor adaptor) throws ServiceException { if (adaptor.wasErrorThrown()) { Throwable thrown = adaptor.getErrorThrown(); if (thrown instanceof ServiceException) { throw (ServiceException) thrown; } else { throw new ServiceException(thrown); } } }
public void event(LookupACLEvent event) { storeThrowable(event); }
/** * Retrieves Access Control List (ACL) settings for multiple objects. * * @param bucketName * name of the bucket containing the objects. * @param objects * the objects whose ACLs will be retrieved. * @return * objects including the ACL information retrieved. * @throws ServiceException */ public StorageObject[] getObjectACLs(String bucketName, final StorageObject[] objects) throws ServiceException { final List<StorageObject> objectList = new ArrayList<StorageObject>(); StorageServiceEventAdaptor adaptor = new StorageServiceEventAdaptor() { @Override public void event(LookupACLEvent event) { super.event(event); if (ServiceEvent.EVENT_IN_PROGRESS == event.getEventCode()) { objectList.addAll(Arrays.asList(event.getObjectsWithACL())); } }; }; (new ThreadedStorageService(service, adaptor)).getObjectACLs(bucketName, objects); throwError(adaptor); return objectList.toArray(new StorageObject[objectList.size()]); }