diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index d639c80f07..32e4442732 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -59,6 +59,8 @@
+
+
diff --git a/core/src/main/kotlin/net/corda/flows/CollectSignaturesFlow.kt b/core/src/main/kotlin/net/corda/flows/CollectSignaturesFlow.kt
index 531841381a..d718251c74 100644
--- a/core/src/main/kotlin/net/corda/flows/CollectSignaturesFlow.kt
+++ b/core/src/main/kotlin/net/corda/flows/CollectSignaturesFlow.kt
@@ -25,8 +25,6 @@ import java.security.PublicKey
* **WARNING**: This flow ONLY works with [ServiceHub.legalIdentityKey]s and WILL break if used with randomly generated
* keys by the [ServiceHub.keyManagementService].
*
- * **IMPORTANT** This flow NEEDS to be called with the 'shareParentSessions" parameter of [subFlow] set to true.
- *
* Usage:
*
* - Call the [CollectSignaturesFlow] flow as a [subFlow] and pass it a [SignedTransaction] which has at least been
@@ -58,9 +56,7 @@ import java.security.PublicKey
* val stx = subFlow(CollectSignaturesFlow(ptx))
*
* @param partiallySignedTx Transaction to collect the remaining signatures for
- *
*/
-
// TODO: AbstractStateReplacementFlow needs updating to use this flow.
// TODO: TwoPartyTradeFlow needs updating to use this flow.
// TODO: Update this flow to handle randomly generated keys when that works is complete.
@@ -149,11 +145,11 @@ class CollectSignaturesFlow(val partiallySignedTx: SignedTransaction,
*
* - Subclass [SignTransactionFlow] - this can be done inside an existing flow (as shown below)
* - Override the [checkTransaction] method to add some custom verification logic
- * - Call the flow via subFlow with "shareParentSessions" set to true
+ * - Call the flow via [FlowLogic.subFlow]
* - The flow returns the fully signed transaction once it has been committed to the ledger
*
- * Example - checking and signing a transaction involving a [DummyContract], see CollectSignaturesFlowTests.Kt for
- * further examples:
+ * Example - checking and signing a transaction involving a [net.corda.core.contracts.DummyContract], see
+ * CollectSignaturesFlowTests.kt for further examples:
*
* class Responder(val otherParty: Party): FlowLogic() {
* @Suspendable override fun call(): SignedTransaction {
@@ -167,14 +163,13 @@ class CollectSignaturesFlow(val partiallySignedTx: SignedTransaction,
* }
*
* // Invoke the subFlow, in response to the counterparty calling [CollectSignaturesFlow].
- * val stx = subFlow(flow, shareParentSessions = true)
+ * val stx = subFlow(flow)
*
* return waitForLedgerCommit(stx.id)
* }
* }
*
* @param otherParty The counter-party which is providing you a transaction to sign.
- *
*/
abstract class SignTransactionFlow(val otherParty: Party,
override val progressTracker: ProgressTracker = tracker()) : FlowLogic() {
@@ -224,7 +219,7 @@ abstract class SignTransactionFlow(val otherParty: Party,
}
/**
- * The [CheckTransaction] method allows the caller of this flow to provide some additional checks over the proposed
+ * The [checkTransaction] method allows the caller of this flow to provide some additional checks over the proposed
* transaction received from the counter-party. For example:
*
* - Ensuring that the transaction you are receiving is the transaction you *EXPECT* to receive. I.e. is has the
diff --git a/node/build.gradle b/node/build.gradle
index f6ca57406d..ad3926adf7 100644
--- a/node/build.gradle
+++ b/node/build.gradle
@@ -151,7 +151,7 @@ dependencies {
compile "io.requery:requery-kotlin:$requery_version"
// FastClasspathScanner: classpath scanning
- compile 'io.github.lukehutch:fast-classpath-scanner:2.0.19'
+ compile 'io.github.lukehutch:fast-classpath-scanner:2.0.20'
// Integration test helpers
integrationTestCompile "junit:junit:$junit_version"
diff --git a/node/src/main/kotlin/net/corda/node/internal/AbstractNode.kt b/node/src/main/kotlin/net/corda/node/internal/AbstractNode.kt
index 7c8ffea39d..0986ad7017 100644
--- a/node/src/main/kotlin/net/corda/node/internal/AbstractNode.kt
+++ b/node/src/main/kotlin/net/corda/node/internal/AbstractNode.kt
@@ -6,7 +6,6 @@ import com.google.common.util.concurrent.ListenableFuture
import com.google.common.util.concurrent.MoreExecutors
import com.google.common.util.concurrent.SettableFuture
import io.github.lukehutch.fastclasspathscanner.FastClasspathScanner
-import io.github.lukehutch.fastclasspathscanner.scanner.ClassInfo
import net.corda.core.*
import net.corda.core.crypto.*
import net.corda.core.flows.FlowInitiator
@@ -352,12 +351,8 @@ abstract class AbstractNode(open val configuration: NodeConfiguration,
}
}
- val classpathURLsField = ClassInfo::class.java.getDeclaredField("classpathElementURLs").apply { isAccessible = true }
-
flowClasses.groupBy {
- val classInfo = scanResult.classNameToClassInfo[it.name]
- @Suppress("UNCHECKED_CAST")
- (classpathURLsField.get(classInfo) as Set).first()
+ scanResult.classNameToClassInfo[it.name]!!.classpathElementURLs.first()
}.forEach { url, classes ->
log.info("Found flows in plugin ${url.pluginName()}: ${classes.joinToString { it.name }}")
}