mirror of https://github.com/zlatinb/muwire
introduce UI results event and publish local results to it
parent
23432dbdd5
commit
264598f159
|
@ -171,7 +171,7 @@ class Core {
|
|||
eventBus.register(SearchEvent.class, fileManager)
|
||||
|
||||
log.info "initializing results sender"
|
||||
ResultsSender resultsSender = new ResultsSender()
|
||||
ResultsSender resultsSender = new ResultsSender(eventBus, me)
|
||||
|
||||
log.info "initializing search manager"
|
||||
SearchManager searchManager = new SearchManager(eventBus, resultsSender)
|
||||
|
@ -193,6 +193,7 @@ class Core {
|
|||
def binding = new Binding()
|
||||
def shell = new GroovyShell(binding)
|
||||
binding.setProperty('eventBus', eventBus)
|
||||
binding.setProperty('me', me)
|
||||
// TOOD: other bindings?
|
||||
def script = shell.parse(f)
|
||||
script.run()
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
package com.muwire.core.files
|
||||
|
||||
import com.muwire.core.Event
|
||||
import com.muwire.core.search.ResultsEvent
|
||||
|
||||
class UIResultEvent extends Event {
|
||||
ResultsEvent resultsEvent
|
||||
}
|
|
@ -1,6 +1,9 @@
|
|||
package com.muwire.core.search
|
||||
|
||||
import com.muwire.core.SharedFile
|
||||
import com.muwire.core.files.UIResultEvent
|
||||
import com.muwire.core.Persona
|
||||
import com.muwire.core.EventBus
|
||||
|
||||
import groovy.util.logging.Log
|
||||
import net.i2p.data.Destination
|
||||
|
@ -8,7 +11,20 @@ import net.i2p.data.Destination
|
|||
@Log
|
||||
class ResultsSender {
|
||||
|
||||
private final Persona me
|
||||
private final EventBus eventBus
|
||||
|
||||
ResultsSender(EventBus eventBus, Persona me) {
|
||||
this.eventBus = eventBus
|
||||
this.me = me
|
||||
}
|
||||
|
||||
void sendResults(UUID uuid, SharedFile[] results, Destination target) {
|
||||
log.info("Sending $results.length results for uuid $uuid to ${target.toBase32()}")
|
||||
log.info("Sending $results.length results for uuid $uuid to ${target.toBase32()}")
|
||||
if (target.equals(me.destination)) {
|
||||
def resultEvent = new ResultsEvent( uuid : uuid, results : results )
|
||||
def uiResultEvent = new UIResultEvent(resultsEvent : resultEvent)
|
||||
eventBus.publish(uiResultEvent)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue