fstn
10/23/2017, 8:07 PMoverride fun safeHandle(message: Message<MessageBody>, messageBody: MessageBody, validEvents: List<String>): Observable<ServiceTaskResult> {
return NodeManager.get(messageBody)
.filter{ it != null}
.flatMap { lastNode ->
val validEvents = FlowOrchestrator.getValidNextEvent(node, messageBody)
if (validEvents.isNotEmpty()) {
FlowOrchestrator.tryToDoNode(validEvents as MutableList<String>, lastNode, messageBody)
} else {
val eventName = lastNode.previousLinks.first().eventName
listOf(ServiceTaskResult(eventName, messageBody))
}.toObservable()
}
}