public class AsyncUploadCache extends Object
asyncUploadMap which is Map
 of file path vs lastModified of upload. The second toBeDeleted is
 Set of upload which is marked for delete, while it is already
 in progress. Before starting an asynchronous upload, it requires to invoke
 add(String) to add entry to asyncUploadMap. After
 asynchronous upload completes, it requires to invoke
 remove(String) to remove entry from
 asyncUploadMap Any modification to this class are immediately
 persisted to local file system. asyncUploadMap is persisted to /
 homeDir/ PENDIND_UPLOAD_FILE. toBeDeleted is
 persisted to / homeDir/ TO_BE_DELETED_UPLOAD_FILE. The /
 homeDir refer to ${rep.home}.| Constructor and Description | 
|---|
AsyncUploadCache()  | 
| Modifier and Type | Method and Description | 
|---|---|
AsyncUploadCacheResult | 
add(String fileName)
This methods checks if file can be added to  
asyncUploadMap. | 
void | 
delete(String fileName)
This methods deletes asynchronous upload for @param fileName if there
 exists asynchronous upload for @param fileName. 
 | 
Set<String> | 
deleteOlderThan(long min)
Delete in progress asynchronous uploads which are older than @param min. 
 | 
Set<String> | 
getAll()
This methods returns the in progress asynchronous uploads which are not
 marked for delete. 
 | 
long | 
getLastModified(String fileName)
Returns lastModified from  
asyncUploadMap if found else returns
 0. | 
boolean | 
hasEntry(String fileName,
        boolean touch)
This methos checks if asynchronous upload is in progress for @param
 fileName. 
 | 
void | 
init(String homeDir,
    String path,
    int asyncUploadLimit)  | 
AsyncUploadCacheResult | 
remove(String fileName)
This methods removes file (if found) from  
asyncUploadMap. | 
void | 
reset()
 | 
public AsyncUploadCacheResult add(String fileName) throws IOException
asyncUploadMap. If
 yes it adds to asyncUploadMap and
 serializeAsyncUploadMap() the asyncUploadMap to disk.AsyncUploadCacheResult if successfully added to
         asynchronous uploads it sets
         AsyncUploadCacheResult.setAsyncUpload(boolean) to true
         else sets to false.IOExceptionpublic AsyncUploadCacheResult remove(String fileName) throws IOException
asyncUploadMap. If
 file is found, it immediately serializes the asyncUploadMap to
 disk. This method sets
 AsyncUploadCacheResult.setRequiresDelete(boolean) to true, if
 asynchronous upload found to be in toBeDeleted set i.e. marked
 for delete.IOExceptionpublic Set<String> getAll()
public boolean hasEntry(String fileName, boolean touch) throws IOException
IOExceptionpublic long getLastModified(String fileName)
asyncUploadMap if found else returns
 0.public void delete(String fileName) throws IOException
IOExceptionpublic Set<String> deleteOlderThan(long min) throws IOException
asyncUploadMapIOExceptionpublic void init(String homeDir, String path, int asyncUploadLimit) throws IOException, ClassNotFoundException
homeDir - home directory of repository.path - path of the LocalCacheasyncUploadLimit - the maximum number of asynchronous uploadsIOExceptionClassNotFoundExceptionpublic void reset()
           throws IOException
IOExceptionCopyright © 2004–2024 The Apache Software Foundation. All rights reserved.