From e2404e58bb31825e4ca7f2647d92d05ea39ba6ed Mon Sep 17 00:00:00 2001 From: Arthersun <987023416@qq.com> Date: Thu, 29 Dec 2022 01:39:22 +0800 Subject: [PATCH] Solve the problem that the vault query fails when the vault filter interface is not called when the service is started for the first time if not running the interface /vault-filter, the contractStateClassMap is null. And theContractStateType Filters will not work. So add the if condition, when the contractStateClassMap's size is 0, then use getVaultFilters() method to full the contractStateClassMap. --- src/main/java/net/corda/explorer/rpc/NodeRPCClient.java | 1 - .../java/net/corda/explorer/service/impl/VaultServiceImpl.java | 3 +++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/corda/explorer/rpc/NodeRPCClient.java b/src/main/java/net/corda/explorer/rpc/NodeRPCClient.java index 5f851dd..f3ef7aa 100644 --- a/src/main/java/net/corda/explorer/rpc/NodeRPCClient.java +++ b/src/main/java/net/corda/explorer/rpc/NodeRPCClient.java @@ -26,7 +26,6 @@ @Component public class NodeRPCClient { private static final Logger logger = LoggerFactory.getLogger(NodeRPCClient.class); - private static CordaRPCOps rpcProxy; private static Session sshSession; private Map partyKeyMap = new HashMap<>(); diff --git a/src/main/java/net/corda/explorer/service/impl/VaultServiceImpl.java b/src/main/java/net/corda/explorer/service/impl/VaultServiceImpl.java index 371680e..5d90e85 100644 --- a/src/main/java/net/corda/explorer/service/impl/VaultServiceImpl.java +++ b/src/main/java/net/corda/explorer/service/impl/VaultServiceImpl.java @@ -28,6 +28,9 @@ public Vault.Page getVaultStates(VaultFilterSelection filter) throws ClassNotFou new PageSpecification(filter.getOffset() + 1, filter.getPageSize()); /* ContractStateType Filters */ + if(contractStateClassMap.size()==0){ + getVaultFilters(); + } Set> stateType = ImmutableSet.of(ContractState.class); HashSet> stateTypeSet = new HashSet<>(); if(filter.getStateTypes() != null && filter.getStateTypes().size() > 0){