From afc36615d037036a2bfebac752e428515daa757c Mon Sep 17 00:00:00 2001 From: LankyDan Date: Mon, 17 Jun 2019 16:04:05 +0100 Subject: [PATCH] ENT-3496 Address pr comments --- .../corda/client/jackson/StringToMethodCallParser.kt | 11 ++++++----- .../net/corda/node/services/rpc/CheckpointDumper.kt | 4 ++-- .../tools/shell/InteractiveShellIntegrationTest.kt | 10 ++++++++-- 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/client/jackson/src/main/kotlin/net/corda/client/jackson/StringToMethodCallParser.kt b/client/jackson/src/main/kotlin/net/corda/client/jackson/StringToMethodCallParser.kt index bb09724229..013fe8eebf 100644 --- a/client/jackson/src/main/kotlin/net/corda/client/jackson/StringToMethodCallParser.kt +++ b/client/jackson/src/main/kotlin/net/corda/client/jackson/StringToMethodCallParser.kt @@ -241,15 +241,16 @@ open class StringToMethodCallParser @JvmOverloads constructor( get() { return methodMap.entries().mapNotNull { entry -> val (name, args) = entry // TODO: Kotlin 1.1 - val argStr: String? = if (args.parameterCount == 0) "" else { - val paramNames = methodParamNames[name]?. let { params -> + if (args.parameterCount == 0) { + Pair(name, "") + } else { + methodParamNames[name]?. let { params -> val typeNames = args.parameters.map { it.type.simpleName } val paramTypes = params.zip(typeNames) - paramTypes.joinToString(", ") { "${it.first}: ${it.second}" } + val paramNames = paramTypes.joinToString(", ") { "${it.first}: ${it.second}" } + Pair(name, paramNames) } - paramNames } - if(argStr == null) null else Pair(name, argStr) }.toMap() } } diff --git a/node/src/main/kotlin/net/corda/node/services/rpc/CheckpointDumper.kt b/node/src/main/kotlin/net/corda/node/services/rpc/CheckpointDumper.kt index b07e7391f4..1535c88491 100644 --- a/node/src/main/kotlin/net/corda/node/services/rpc/CheckpointDumper.kt +++ b/node/src/main/kotlin/net/corda/node/services/rpc/CheckpointDumper.kt @@ -36,6 +36,7 @@ import net.corda.core.serialization.internal.checkpointDeserialize import net.corda.core.utilities.NonEmptySet import net.corda.core.utilities.ProgressTracker import net.corda.core.utilities.contextLogger +import net.corda.node.internal.NodeStartup import net.corda.node.services.api.CheckpointStorage import net.corda.node.services.api.ServiceHubInternal import net.corda.node.services.statemachine.* @@ -91,9 +92,8 @@ class CheckpointDumper(private val checkpointStorage: CheckpointStorage, private fun dump() { try { val now = serviceHub.clock.instant() - val file = serviceHub.configuration.baseDirectory / "logs" / "checkpoints_dump-${TIME_FORMATTER.format(now)}.zip" + val file = serviceHub.configuration.baseDirectory / NodeStartup.LOGS_DIRECTORY_NAME / "checkpoints_dump-${TIME_FORMATTER.format(now)}.zip" if (lock.getAndIncrement() == 0 && !file.exists()) { - file.parent.toFile().mkdirs() database.transaction { checkpointStorage.getAllCheckpoints().use { stream -> ZipOutputStream(file.outputStream()).use { zip -> diff --git a/tools/shell/src/integration-test/kotlin/net/corda/tools/shell/InteractiveShellIntegrationTest.kt b/tools/shell/src/integration-test/kotlin/net/corda/tools/shell/InteractiveShellIntegrationTest.kt index 0fa062553b..ca2ff63d58 100644 --- a/tools/shell/src/integration-test/kotlin/net/corda/tools/shell/InteractiveShellIntegrationTest.kt +++ b/tools/shell/src/integration-test/kotlin/net/corda/tools/shell/InteractiveShellIntegrationTest.kt @@ -14,6 +14,7 @@ import net.corda.client.rpc.RPCException import net.corda.core.flows.* import net.corda.core.identity.Party import net.corda.core.internal.div +import net.corda.core.internal.list import net.corda.core.internal.messaging.InternalCordaRPCOps import net.corda.core.messaging.ClientRpcSslOptions import net.corda.core.messaging.CordaRPCOps @@ -21,6 +22,7 @@ import net.corda.core.messaging.startFlow import net.corda.core.utilities.ProgressTracker import net.corda.core.utilities.getOrThrow import net.corda.core.utilities.unwrap +import net.corda.node.internal.NodeStartup import net.corda.node.services.Permissions import net.corda.node.services.Permissions.Companion.all import net.corda.node.services.config.shell.toShellConfig @@ -401,6 +403,9 @@ class InteractiveShellIntegrationTest { val bobNode = startNode(providedName = BOB_NAME, rpcUsers = listOf(user), startInSameProcess = true).getOrThrow() bobNode.stop() + // create logs directory since the driver is not creating it + (aliceNode.baseDirectory / NodeStartup.LOGS_DIRECTORY_NAME).toFile().mkdir() + val conf = ShellConfiguration(commandsDirectory = Files.createTempDir().toPath(), user = user.username, password = user.password, hostAndPort = aliceNode.rpcAddress) @@ -419,10 +424,11 @@ class InteractiveShellIntegrationTest { listOf("dumpCheckpoints"), output, mock(), aliceNode.rpc as InternalCordaRPCOps, inputObjectMapper) // assert that the checkpoint dump zip has been created - val zip = (aliceNode.baseDirectory / "logs").toFile().list().find { it.contains("checkpoints_dump-") } + val zip = (aliceNode.baseDirectory / NodeStartup.LOGS_DIRECTORY_NAME).list() + .find { it.toString().contains("checkpoints_dump-") } assertNotNull(zip) // assert that a json file has been created for the suspended flow - val json = ZipFile((aliceNode.baseDirectory / "logs" / zip!!).toFile()).entries().asSequence() + val json = ZipFile((zip!!).toFile()).entries().asSequence() .find { it.name.contains(SendFlow::class.simpleName!!) } assertNotNull(json) }