public void cancel() { schedule.cancel(false); try { EthUninstallFilter ethUninstallFilter = web3j.ethUninstallFilter(filterId).send(); if (ethUninstallFilter.hasError()) { throwException(ethUninstallFilter.getError()); } if (!ethUninstallFilter.isUninstalled()) { throw new FilterException("Filter with id '" + filterId + "' failed to uninstall"); } } catch (IOException e) { throwException(e); } }
public boolean isUninstalled() { return getResult(); } }
@Test public void testEthUninstallFilter() { buildResponse( "{\n" + " \"id\":1,\n" + " \"jsonrpc\": \"2.0\",\n" + " \"result\": true\n" + "}" ); EthUninstallFilter ethUninstallFilter = deserialiseResponse(EthUninstallFilter.class); assertThat(ethUninstallFilter.isUninstalled(), is(true)); }
@Test public void testFiltersByFilterId() throws Exception { org.web3j.protocol.core.methods.request.EthFilter ethFilter = new org.web3j.protocol.core.methods.request.EthFilter( DefaultBlockParameterName.EARLIEST, DefaultBlockParameterName.LATEST, config.validContractAddress()); String eventSignature = config.encodedEvent(); ethFilter.addSingleTopic(eventSignature); // eth_newFilter EthFilter ethNewFilter = web3j.ethNewFilter(ethFilter).send(); BigInteger filterId = ethNewFilter.getFilterId(); // eth_getFilterLogs EthLog ethFilterLogs = web3j.ethGetFilterLogs(filterId).send(); List<EthLog.LogResult> filterLogs = ethFilterLogs.getLogs(); assertFalse(filterLogs.isEmpty()); // eth_getFilterChanges - nothing will have changed in this interval EthLog ethLog = web3j.ethGetFilterChanges(filterId).send(); assertTrue(ethLog.getLogs().isEmpty()); // eth_uninstallFilter EthUninstallFilter ethUninstallFilter = web3j.ethUninstallFilter(filterId).send(); assertTrue(ethUninstallFilter.isUninstalled()); }
@InvokeOnHeader(Web3jConstants.ETH_UNINSTALL_FILTER) void ethUninstallFilter(Message message) throws IOException { BigInteger filterId = message.getHeader(Web3jConstants.FILTER_ID, configuration::getFilterId, BigInteger.class); Request<?, EthUninstallFilter> request = web3j.ethUninstallFilter(filterId); setRequestId(message, request); EthUninstallFilter response = request.send(); boolean hasError = checkForError(message, response); if (!hasError) { message.setBody(response.isUninstalled()); } }