make modified file a multi-file event

java-i2p-warning
Zlatin Balevsky 2022-09-10 21:00:04 +03:00
parent db221b4501
commit 8fa96432a9
No known key found for this signature in database
GPG Key ID: A72832072D525E41
6 changed files with 13 additions and 10 deletions

View File

@ -196,7 +196,7 @@ class DirectoryWatcher {
SharedFile sf = fileManager.fileToSharedFile.get(file)
if (sf != null) {
log.fine ("modified shared $file")
eventBus.publish(new FileModifiedEvent(sharedFile: sf))
eventBus.publish(new FileModifiedEvent(sharedFiles: [sf]))
return
}
}

View File

@ -207,7 +207,8 @@ class FileManager {
}
void onFileModifiedEvent(FileModifiedEvent event) {
unshareFile(event.sharedFile, false)
for(SharedFile sf : event.sharedFiles)
unshareFile(sf, false)
}
private void unshareFile(SharedFile sf, boolean deleted) {

View File

@ -4,5 +4,5 @@ import com.muwire.core.Event
import com.muwire.core.SharedFile
class FileModifiedEvent extends Event {
SharedFile sharedFile
SharedFile[] sharedFiles
}

View File

@ -97,9 +97,11 @@ class HasherService {
}
void onFileModifiedEvent(FileModifiedEvent event) {
File f = event.sharedFile.getFile()
File canonical = f.getCanonicalFile()
throttlerExecutor.execute({throttle(f, canonical, true)})
for (SharedFile sharedFile : event.sharedFiles) {
File f = sharedFile.getFile()
File canonical = f.getCanonicalFile()
throttlerExecutor.execute({ throttle(f, canonical, true) })
}
}
private synchronized void throttle(File f, File canonical, boolean forceHash) {

View File

@ -148,9 +148,9 @@ class PersisterFolderService extends BasePersisterService {
}
void onFileModifiedEvent(FileModifiedEvent event) {
persisterExecutor.submit( {
unshareFile(event.sharedFile)
} as Runnable)
// shortcut
def unsharedEvent = new FileUnsharedEvent(unsharedFiles: event.sharedFiles)
onFileUnsharedEvent(unsharedEvent)
}
private void unshareFile(SharedFile sharedFile) {

View File

@ -615,7 +615,7 @@ class MainFrameModel {
void onFileModifiedEvent(FileModifiedEvent event) {
// shortcut
FileUnsharedEvent e = new FileUnsharedEvent(
unsharedFiles: new SharedFile[]{event.sharedFile},
unsharedFiles: event.sharedFiles,
deleted: false,
implicit: false
)