public Collection<StorageItem> list( boolean fromTask, ResourceStoreRequest request ) throws IllegalOperationException, ItemNotFoundException, StorageException { if ( getLogger().isDebugEnabled() ) { getLogger().debug( getId() + ".list() :: " + request.toString() ); } if ( !getLocalStatus().shouldServiceRequest() ) { throw new RepositoryNotAvailableException( this ); } request.addProcessedRepository( this ); StorageItem item = retrieveItem( fromTask, request ); if ( item instanceof StorageCollectionItem ) { return list( fromTask, (StorageCollectionItem) item ); } else { throw new ItemNotFoundException( request, this ); } }
request.addProcessedRepository( this );
@Override public StorageItem call() throws IllegalOperationException, ItemNotFoundException, IOException { final ResourceStoreRequest newreq = new ResourceStoreRequest( getRequest() ); newreq.setRequestLocalOnly( getRequest().isRequestLocalOnly() ); newreq.setRequestRemoteOnly( getRequest().isRequestRemoteOnly() ); try { return getRepository().retrieveItem( false, newreq ); } finally { getRequest().addProcessedRepository( getRepository() ); } }
@Override public StorageItem call() throws ItemNotFoundException, IllegalOperationException, IOException, AccessDeniedException { final ResourceStoreRequest newreq = new ResourceStoreRequest( getRequest() ); newreq.setRequestLocalOnly( getRequest().isRequestLocalOnly() ); newreq.setRequestRemoteOnly( getRequest().isRequestRemoteOnly() ); StorageItem item = getRepository().retrieveItem( newreq ); getRequest().addProcessedRepository( getRepository() ); if ( item instanceof StorageCollectionItem ) { item = new DefaultStorageCollectionItem( groupRepository, newreq, true, false ); } return item; }