From fbd4f0bc6ab367fdc1a0ac5b7a4ffb53dbb957c6 Mon Sep 17 00:00:00 2001 From: Chris Rankin Date: Wed, 22 Feb 2017 11:48:26 +0000 Subject: [PATCH] CORPRIV-687: Refactor RPCOp getCashBalances() into separate branch. --- .../net/corda/client/CordaRPCClientTest.kt | 36 ++----------------- .../net/corda/core/messaging/CordaRPCOps.kt | 8 ----- .../corda/node/internal/CordaRPCOpsImpl.kt | 8 ----- .../node/services/messaging/RPCStructures.kt | 1 - 4 files changed, 3 insertions(+), 50 deletions(-) diff --git a/client/src/integration-test/kotlin/net/corda/client/CordaRPCClientTest.kt b/client/src/integration-test/kotlin/net/corda/client/CordaRPCClientTest.kt index c363202be2..4d43730ea3 100644 --- a/client/src/integration-test/kotlin/net/corda/client/CordaRPCClientTest.kt +++ b/client/src/integration-test/kotlin/net/corda/client/CordaRPCClientTest.kt @@ -10,6 +10,9 @@ import net.corda.core.random63BitValue import net.corda.core.serialization.OpaqueBytes import net.corda.flows.CashIssueFlow import net.corda.flows.CashPaymentFlow +import net.corda.node.driver.DriverBasedTest +import net.corda.node.driver.NodeHandle +import net.corda.node.driver.driver import net.corda.node.internal.Node import net.corda.node.services.User import net.corda.node.services.config.configureTestSSL @@ -19,11 +22,8 @@ import net.corda.node.services.transactions.ValidatingNotaryService import net.corda.testing.node.NodeBasedTest import org.apache.activemq.artemis.api.core.ActiveMQSecurityException import org.assertj.core.api.Assertions.assertThatExceptionOfType -import org.junit.After import org.junit.Before import org.junit.Test -import java.util.* -import kotlin.test.assertEquals class CordaRPCClientTest : NodeBasedTest() { private val rpcUser = User("user1", "test", permissions = setOf( @@ -39,11 +39,6 @@ class CordaRPCClientTest : NodeBasedTest() { client = CordaRPCClient(node.configuration.artemisAddress, configureTestSSL()) } - @After - fun done() { - client.close() - } - @Test fun `log in with valid username and password`() { client.start(rpcUser.username, rpcUser.password) @@ -93,29 +88,4 @@ class CordaRPCClientTest : NodeBasedTest() { handle.returnValue.getOrThrow() } } - - @Test - fun `get cash balances`() { - println("Starting client") - client.start(rpcUser.username, rpcUser.password) - println("Creating proxy") - val proxy = client.proxy() - - val startCash = proxy.getCashBalances() - assert(startCash.isEmpty(), {"Should not start with any cash"}) - - val flowHandle = proxy.startFlow(::CashIssueFlow, - 123.DOLLARS, OpaqueBytes.of(0), - node.info.legalIdentity, node.info.legalIdentity - ) - println("Started issuing cash, waiting on result") - flowHandle.progress.subscribe { - println("CashIssue PROGRESS $it") - } - - val finishCash = proxy.getCashBalances() - println("Cash Balances: $finishCash") - assertEquals(1, finishCash.size) - assertEquals(123.DOLLARS, finishCash.get(Currency.getInstance("USD"))) - } } diff --git a/core/src/main/kotlin/net/corda/core/messaging/CordaRPCOps.kt b/core/src/main/kotlin/net/corda/core/messaging/CordaRPCOps.kt index c7b7e12b2f..d72a7a8f1c 100644 --- a/core/src/main/kotlin/net/corda/core/messaging/CordaRPCOps.kt +++ b/core/src/main/kotlin/net/corda/core/messaging/CordaRPCOps.kt @@ -1,7 +1,6 @@ package net.corda.core.messaging import com.google.common.util.concurrent.ListenableFuture -import net.corda.core.contracts.Amount import net.corda.core.contracts.ContractState import net.corda.core.contracts.StateAndRef import net.corda.core.contracts.UpgradedContract @@ -18,7 +17,6 @@ import net.corda.core.transactions.SignedTransaction import rx.Observable import java.io.InputStream import java.time.Instant -import java.util.* data class StateMachineInfo( val id: StateMachineRunId, @@ -96,12 +94,6 @@ interface CordaRPCOps : RPCOps { */ fun getVaultTransactionNotes(txnId: SecureHash): Iterable - /* - * Returns a map of how much cash we have in each currency, ignoring details like issuer. Note: currencies for - * which we have no cash evaluate to null (not present in map), not 0. - */ - fun getCashBalances(): Map> - /** * Checks whether an attachment with the given hash is stored on the node. */ diff --git a/node/src/main/kotlin/net/corda/node/internal/CordaRPCOpsImpl.kt b/node/src/main/kotlin/net/corda/node/internal/CordaRPCOpsImpl.kt index ea82d6e513..b4bb235f74 100644 --- a/node/src/main/kotlin/net/corda/node/internal/CordaRPCOpsImpl.kt +++ b/node/src/main/kotlin/net/corda/node/internal/CordaRPCOpsImpl.kt @@ -1,6 +1,5 @@ package net.corda.node.internal -import net.corda.core.contracts.Amount import net.corda.core.contracts.ContractState import net.corda.core.contracts.StateAndRef import net.corda.core.contracts.UpgradedContract @@ -28,7 +27,6 @@ import org.jetbrains.exposed.sql.Database import rx.Observable import java.io.InputStream import java.time.Instant -import java.util.* /** * Server side implementations of RPCs available to MQ based client tools. Execution takes place on the server @@ -92,12 +90,6 @@ class CordaRPCOpsImpl( } } - override fun getCashBalances(): Map> { - return databaseTransaction(database) { - services.vaultService.cashBalances - } - } - // TODO: Check that this flow is annotated as being intended for RPC invocation override fun startFlowDynamic(logicType: Class>, vararg args: Any?): FlowHandle { requirePermission(startFlowPermission(logicType)) diff --git a/node/src/main/kotlin/net/corda/node/services/messaging/RPCStructures.kt b/node/src/main/kotlin/net/corda/node/services/messaging/RPCStructures.kt index 4d507006e5..d602a5ac3d 100644 --- a/node/src/main/kotlin/net/corda/node/services/messaging/RPCStructures.kt +++ b/node/src/main/kotlin/net/corda/node/services/messaging/RPCStructures.kt @@ -183,7 +183,6 @@ private class RPCKryo(observableSerializer: Serializer>? = null) register(UUID::class.java) register(UniqueIdentifier::class.java) register(LinkedHashSet::class.java) - register(HashMap::class.java) register(StateAndRef::class.java) register(setOf().javaClass) // EmptySet register(StateRef::class.java)