check that changed storages list is not empty

This commit is contained in:
Vladimir Krivosheev
2019-04-11 21:08:12 +02:00
parent 305278afa4
commit ce627ce81c
2 changed files with 11 additions and 2 deletions
@@ -53,7 +53,7 @@ class StorageVirtualFileTracker(private val messageBus: MessageBus) {
private fun addVfsChangesListener() {
messageBus.connect().subscribe(VirtualFileManager.VFS_CHANGES, object : BulkFileListener {
override fun after(events: MutableList<out VFileEvent>) {
val storageEvents = LinkedHashMap<ComponentManager, LinkedHashSet<StateStorage>>()
var storageEvents: LinkedHashMap<ComponentManager, LinkedHashSet<StateStorage>>? = null
eventLoop@ for (event in events) {
var storage: StateStorage?
if (event is VFilePropertyChangeEvent && VirtualFile.PROP_NAME == event.propertyName) {
@@ -110,11 +110,16 @@ class StorageVirtualFileTracker(private val messageBus: MessageBus) {
if (isFireStorageFileChangedEvent(event)) {
val componentManager = storage.storageManager.componentManager!!
if (storageEvents == null) {
storageEvents = LinkedHashMap()
}
storageEvents.getOrPut(componentManager) { LinkedHashSet() }.add(storage)
}
}
StoreReloadManager.getInstance().storageFilesChanged(storageEvents)
if (storageEvents != null) {
StoreReloadManager.getInstance().storageFilesChanged(storageEvents)
}
}
})
}
@@ -158,6 +158,10 @@ internal class StoreReloadManagerImpl : StoreReloadManager, Disposable {
}
override fun storageFilesChanged(componentManagerToStorages: Map<ComponentManager, Collection<StateStorage>>) {
if (componentManagerToStorages.isEmpty()) {
return
}
if (LOG.isDebugEnabled) {
LOG.debug("[RELOAD] registering to reload: ${componentManagerToStorages.map { "${it.key}: ${it.value.joinToString()}" }.joinToString("\n")}", Exception())
}