From 0695374d7210a7050aa6f75209d37f52686c94fa Mon Sep 17 00:00:00 2001 From: Matthew Nesbit Date: Thu, 30 Mar 2017 09:44:33 +0100 Subject: [PATCH] Tactical fix for Explorer crash issue under Kotlin 1.1.1. Original code compiles, but then throws a typecast expression at runtime when trying to process the lambdas. Update docs --- .../net/corda/client/jfx/utils/ObservableUtilities.kt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/client/jfx/src/main/kotlin/net/corda/client/jfx/utils/ObservableUtilities.kt b/client/jfx/src/main/kotlin/net/corda/client/jfx/utils/ObservableUtilities.kt index 6b7b3f3e71..5ccc04a7c4 100644 --- a/client/jfx/src/main/kotlin/net/corda/client/jfx/utils/ObservableUtilities.kt +++ b/client/jfx/src/main/kotlin/net/corda/client/jfx/utils/ObservableUtilities.kt @@ -111,8 +111,14 @@ fun ObservableList.filter(predicate: ObservableValue<(A) -> Boolean>) * val owners: ObservableList = dogs.map(Dog::owner).filterNotNull() */ fun ObservableList.filterNotNull(): ObservableList { + //TODO This is a tactical work round for an issue with SAM conversion (https://youtrack.jetbrains.com/issue/ALL-1552) so that the M10 explorer works. @Suppress("UNCHECKED_CAST") - return filtered { it != null } as ObservableList + return (this as ObservableList).filtered(object : Predicate { + override fun test(t: A?): Boolean { + return t != null + + } + }) as ObservableList } /**