public static GetObjectHeadsEvent newInProgressEvent(ThreadWatcher threadWatcher, StorageObject[] completedObjects, Object uniqueOperationId) { GetObjectHeadsEvent event = new GetObjectHeadsEvent(EVENT_IN_PROGRESS, uniqueOperationId); event.setThreadWatcher(threadWatcher); event.setObjects(completedObjects); return event; }
/** * @return * the {@link StorageObject}s that have been retrieved since the last progress event was fired. * @throws IllegalStateException * completed objects are only available from EVENT_IN_PROGRESS events. */ public StorageObject[] getCompletedObjects() throws IllegalStateException { if (getEventCode() != EVENT_IN_PROGRESS) { throw new IllegalStateException("Completed Objects are only available from EVENT_IN_PROGRESS events"); } return objects; }
public static GetObjectHeadsEvent newIgnoredErrorsEvent(ThreadWatcher threadWatcher, Throwable[] ignoredErrors, Object uniqueOperationId) { GetObjectHeadsEvent event = new GetObjectHeadsEvent(EVENT_IGNORED_ERRORS, uniqueOperationId); event.setIgnoredErrors(ignoredErrors); return event; }
public static GetObjectHeadsEvent newErrorEvent(Throwable t, Object uniqueOperationId) { GetObjectHeadsEvent event = new GetObjectHeadsEvent(EVENT_ERROR, uniqueOperationId); event.setErrorCause(t); return event; }
public static GetObjectHeadsEvent newStartedEvent(ThreadWatcher threadWatcher, Object uniqueOperationId) { GetObjectHeadsEvent event = new GetObjectHeadsEvent(EVENT_STARTED, uniqueOperationId); event.setThreadWatcher(threadWatcher); return event; }
@Override public void event(GetObjectHeadsEvent event) { if (GetObjectHeadsEvent.EVENT_IN_PROGRESS == event.getEventCode()) { StorageObject[] finishedObjects = event.getCompletedObjects(); if (finishedObjects.length > 0) { objectsCompleteList.addAll(Arrays.asList(finishedObjects)); } } else if (GetObjectHeadsEvent.EVENT_ERROR == event.getEventCode()) { serviceExceptions[0] = new ServiceException( "Failed to retrieve detailed information about all objects", event.getErrorCause()); } } });
@Override public void event(GetObjectHeadsEvent event) { super.event(event); if (ServiceEvent.EVENT_IN_PROGRESS == event.getEventCode()) { objectList.addAll(Arrays.asList(event.getCompletedObjects())); } }; };
@Override public void event(GetObjectHeadsEvent event) { super.event(event); displayIgnoredErrors(event); if (ServiceEvent.EVENT_IN_PROGRESS == event.getEventCode()) { displayProgressStatus("Retrieving object details from service: ", event.getThreadWatcher()); } }
public static GetObjectHeadsEvent newCancelledEvent(StorageObject[] incompletedObjects, Object uniqueOperationId) { GetObjectHeadsEvent event = new GetObjectHeadsEvent(EVENT_CANCELLED, uniqueOperationId); event.setObjects(incompletedObjects); return event; }
@Override public void fireCompletedEvent() { fireServiceEvent(GetObjectHeadsEvent.newCompletedEvent(uniqueOperationId)); } @Override
@Override public void fireIgnoredErrorsEvent(ThreadWatcher threadWatcher, Throwable[] ignoredErrors) { success[0] = false; fireServiceEvent(GetObjectHeadsEvent.newIgnoredErrorsEvent(threadWatcher, ignoredErrors, uniqueOperationId)); } }).run();
public static GetObjectHeadsEvent newCompletedEvent(Object uniqueOperationId) { GetObjectHeadsEvent event = new GetObjectHeadsEvent(EVENT_COMPLETED, uniqueOperationId); return event; }
@Override public void fireErrorEvent(Throwable throwable) { success[0] = false; fireServiceEvent(GetObjectHeadsEvent.newErrorEvent(throwable, uniqueOperationId)); } @Override
@Override public void fireProgressEvent(ThreadWatcher threadWatcher, List completedResults) { StorageObject[] completedObjects = (StorageObject[]) completedResults .toArray(new StorageObject[completedResults.size()]); for (int i = 0; i < completedObjects.length; i++) { pendingObjectKeysList.remove(completedObjects[i].getKey()); } fireServiceEvent(GetObjectHeadsEvent.newInProgressEvent(threadWatcher, completedObjects, uniqueOperationId)); } @Override
@Override public void fireCancelEvent() { List cancelledObjectsList = new ArrayList(); Iterator iter = pendingObjectKeysList.iterator(); while (iter.hasNext()) { String key = (String) iter.next(); cancelledObjectsList.add(new StorageObject(key)); } StorageObject[] cancelledObjects = (StorageObject[]) cancelledObjectsList .toArray(new StorageObject[cancelledObjectsList.size()]); success[0] = false; fireServiceEvent(GetObjectHeadsEvent.newCancelledEvent(cancelledObjects, uniqueOperationId)); } @Override
@Override public void event(GetObjectHeadsEvent event) { if (GetObjectHeadsEvent.EVENT_IN_PROGRESS == event.getEventCode()) { StorageObject[] finishedObjects = event.getCompletedObjects(); if (finishedObjects.length > 0) { objectsCompleteList.addAll(Arrays.asList(finishedObjects)); } } else if (GetObjectHeadsEvent.EVENT_ERROR == event.getEventCode()) { serviceExceptions[0] = new ServiceException( "Failed to retrieve detailed information about all objects", event.getErrorCause()); } } });
public static GetObjectHeadsEvent newIgnoredErrorsEvent(ThreadWatcher threadWatcher, Throwable[] ignoredErrors, Object uniqueOperationId) { GetObjectHeadsEvent event = new GetObjectHeadsEvent(EVENT_IGNORED_ERRORS, uniqueOperationId); event.setIgnoredErrors(ignoredErrors); return event; }
@Override public void event(GetObjectHeadsEvent event) { super.event(event); if (ServiceEvent.EVENT_IN_PROGRESS == event.getEventCode()) { objectList.addAll(Arrays.asList(event.getCompletedObjects())); } }; };
public static GetObjectHeadsEvent newErrorEvent(Throwable t, Object uniqueOperationId) { GetObjectHeadsEvent event = new GetObjectHeadsEvent(EVENT_ERROR, uniqueOperationId); event.setErrorCause(t); return event; }
@Override public void event(GetObjectHeadsEvent event) { super.event(event); displayIgnoredErrors(event); if (ServiceEvent.EVENT_IN_PROGRESS == event.getEventCode()) { displayProgressStatus("Retrieving object details from service: ", event.getThreadWatcher()); } }