Skip to content

Commit 833b633

Browse files
committedMay 11, 2020
Polish style
- Wrap comments at 90 chars per bisq-network/style#5 - Wrap code at 120 chars per bisq-network/style#3 - Remove unused imports - Remove extra newlines - Format code where appropriate - Remove unused Javadoc tags, e.g. @return, @param - End Javadoc summary sentence with a period where missing - Remove HTML formatting in Javadoc, e.g. extra <br>s
1 parent 45636f1 commit 833b633

File tree

6 files changed

+56
-57
lines changed

6 files changed

+56
-57
lines changed
 

‎pricenode/src/main/java/bisq/price/mining/FeeRateService.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323

2424
import java.time.Instant;
2525

26-
import java.util.ArrayList;
2726
import java.util.HashMap;
2827
import java.util.List;
2928
import java.util.Map;
@@ -39,8 +38,8 @@ class FeeRateService {
3938
private final List<FeeRateProvider> providers;
4039

4140
/**
42-
* Construct an {@link FeeRateService} with a list of all
43-
* {@link FeeRateProvider} implementations discovered via classpath scanning.
41+
* Construct a {@link FeeRateService} with a list of all {@link FeeRateProvider}
42+
* implementations discovered via classpath scanning.
4443
*
4544
* @param providers all {@link FeeRateProvider} implementations in ascending
4645
* order of precedence
@@ -76,7 +75,8 @@ public Map<String, Object> getFees() {
7675
averageFeeRate = Math.min(averageFeeRate, BitcoinFeeRateProvider.MAX_FEE_RATE);
7776

7877
// Prepare response: Add timestamp of now
79-
// Since this is an average, the timestamp is associated with when the moment in time when the avg was computed
78+
// Since this is an average, the timestamp is associated with when the moment in
79+
// time when the avg was computed
8080
metadata.put("bitcoinFeesTs", Instant.now().getEpochSecond());
8181

8282
// Prepare response: Add the fee average

‎pricenode/src/main/java/bisq/price/mining/providers/BitcoinFeeRateProvider.java

+8-9
Original file line numberDiff line numberDiff line change
@@ -31,21 +31,19 @@
3131
import org.springframework.stereotype.Component;
3232
import org.springframework.web.bind.annotation.GetMapping;
3333
import org.springframework.web.bind.annotation.RestController;
34-
import org.springframework.web.client.RestClientException;
3534
import org.springframework.web.client.RestTemplate;
3635
import org.springframework.web.util.UriComponentsBuilder;
3736

3837
import java.time.Duration;
3938
import java.time.Instant;
40-
import java.time.temporal.ChronoUnit;
4139

4240
import java.util.Map;
4341
import java.util.Optional;
4442
import java.util.stream.Stream;
4543

4644
/**
47-
* Provider that specifically interprets the mempool.space API format to retrieve a mining fee estimate. <br/><br/>
48-
* Other {@link FeeRateProvider}s can be created for other APIs.
45+
* Provider that specifically interprets the mempool.space API format to retrieve a mining
46+
* fee estimate. Other {@link FeeRateProvider}s can be created for other APIs.
4947
*/
5048
public abstract class BitcoinFeeRateProvider extends FeeRateProvider {
5149

@@ -55,8 +53,8 @@ public abstract class BitcoinFeeRateProvider extends FeeRateProvider {
5553
private static final int DEFAULT_MAX_BLOCKS = 2;
5654
private static final int DEFAULT_REFRESH_INTERVAL = 2;
5755

58-
// Keys of properties defining the available API endpoints
59-
// To enable them, simply enable and adjust the corresponding lines in application.properties
56+
// Keys of properties defining the available API endpoints. To enable them, simply
57+
// uncomment and adjust the corresponding lines in application.properties
6058
private static final String API_ENDPOINT_HOSTNAME_KEY_1 = "service.mining.feeEstimate.apiEndpointHostname.1";
6159
private static final String API_ENDPOINT_HOSTNAME_KEY_2 = "service.mining.feeEstimate.apiEndpointHostname.2";
6260
private static final String API_ENDPOINT_HOSTNAME_KEY_3 = "service.mining.feeEstimate.apiEndpointHostname.3";
@@ -80,8 +78,8 @@ public BitcoinFeeRateProvider(Environment env) {
8078
}
8179

8280
protected FeeRate doGet() {
83-
// Default value is the minimum rate
84-
// If the connection to the fee estimate provider fails, we fall back to this value
81+
// Default value is the minimum rate. If the connection to the fee estimate
82+
// provider fails, we fall back to this value.
8583
long estimatedFeeRate = MIN_FEE_RATE;
8684
try {
8785
estimatedFeeRate = getEstimatedFeeRate();
@@ -121,7 +119,8 @@ private Stream<Map.Entry<String, Long>> getFeeRatePredictions() {
121119
}
122120

123121
/**
124-
* @return Hostname of the fee estimation API endpoint. No prefix (https://), no suffix (trailing slashes, etc)
122+
* Return the hostname of the fee estimation API endpoint. No prefix (https://), no
123+
* suffix (trailing slashes, etc).
125124
*/
126125
protected abstract String getMempoolApiHostname();
127126

‎pricenode/src/test/java/bisq/price/mining/FeeRateServiceTest.java

+19-21
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020
import static org.junit.jupiter.api.Assertions.assertNotEquals;
2121

2222
/**
23-
* Tests the {@link bisq.price.mining.FeeRateService}, which can aggregate data from several {@link FeeRateProvider}s
24-
* <br/><br/>
23+
* Tests the {@link bisq.price.mining.FeeRateService}, which can aggregate data from
24+
* several {@link FeeRateProvider}s.
2525
* @see bisq.price.mining.providers.BitcoinFeeRateProviderTest
2626
*/
2727
public class FeeRateServiceTest extends TestBase {
@@ -42,7 +42,8 @@ public void getFees_noWorkingProvider() {
4242

4343
Map<String, Object> retrievedData = service.getFees();
4444

45-
// Even with no working providers, we expect the service to return pre-configured minimum fee rate
45+
// Even with no working providers, we expect the service to return pre-configured
46+
// minimum fee rate
4647
doSanityChecksForRetrievedData(retrievedData, BitcoinFeeRateProvider.MIN_FEE_RATE);
4748
}
4849

@@ -56,7 +57,8 @@ public void getFees_singleProvider_feeBelowMin() {
5657

5758
Map<String, Object> retrievedData = service.getFees();
5859

59-
// When the provider returns a value below the expected min, the service should return the min
60+
// When the provider returns a value below the expected min, the service should
61+
// return the min
6062
doSanityChecksForRetrievedData(retrievedData, BitcoinFeeRateProvider.MIN_FEE_RATE);
6163
}
6264

@@ -70,18 +72,18 @@ public void getFees_singleProvider_feeAboveMax() {
7072

7173
Map<String, Object> retrievedData = service.getFees();
7274

73-
// When the provider returns a value above the expected max, the service should return the max
75+
// When the provider returns a value above the expected max, the service should
76+
// return the max
7477
doSanityChecksForRetrievedData(retrievedData, BitcoinFeeRateProvider.MAX_FEE_RATE);
7578
}
7679

7780
@Test
7881
public void getFees_multipleProviders() {
7982
// 3 providers, returning 1xMIN, 2xMIN, 3xMIN
80-
FeeRateService service = new FeeRateService(
81-
asList(
82-
buildDummyReachableBitcoinFeeRateProvider(BitcoinFeeRateProvider.MIN_FEE_RATE * 1),
83-
buildDummyReachableBitcoinFeeRateProvider(BitcoinFeeRateProvider.MIN_FEE_RATE * 2),
84-
buildDummyReachableBitcoinFeeRateProvider(BitcoinFeeRateProvider.MIN_FEE_RATE * 3)));
83+
FeeRateService service = new FeeRateService(asList(
84+
buildDummyReachableBitcoinFeeRateProvider(BitcoinFeeRateProvider.MIN_FEE_RATE * 1),
85+
buildDummyReachableBitcoinFeeRateProvider(BitcoinFeeRateProvider.MIN_FEE_RATE * 2),
86+
buildDummyReachableBitcoinFeeRateProvider(BitcoinFeeRateProvider.MIN_FEE_RATE * 3)));
8587

8688
Map<String, Object> retrievedData = service.getFees();
8789

@@ -96,9 +98,9 @@ public void getFees_multipleProviders() {
9698
* @param expectedFeeRate
9799
*/
98100
private void doSanityChecksForRetrievedData(Map<String, Object> retrievedData, long expectedFeeRate) {
99-
// Check if the response has the expected format
100-
// Since the timestamp is that of the average (not that of the individual fee rates reported
101-
// by the individual providers), we always expect a non-zero timestamp
101+
// Check if the response has the expected format. Since the timestamp is that of
102+
// the average (not that of the individual fee rates reported by the individual
103+
// providers), we always expect a non-zero timestamp
102104
assertNotEquals(0L, retrievedData.get("bitcoinFeesTs"));
103105

104106
Map<String, String> retrievedDataMap = (Map<String, String>) retrievedData.get("dataMap");
@@ -108,8 +110,6 @@ private void doSanityChecksForRetrievedData(Map<String, Object> retrievedData, l
108110

109111
/**
110112
* Simulates a reachable provider, which successfully returns an API response
111-
* @param feeRate
112-
* @return
113113
*/
114114
private BitcoinFeeRateProvider buildDummyReachableBitcoinFeeRateProvider(long feeRate) {
115115
GenericXmlApplicationContext ctx = new GenericXmlApplicationContext();
@@ -128,13 +128,11 @@ protected FeeRate doGet() {
128128
}
129129

130130
/**
131-
* Simulates an unreachable provider, which for whatever reason cannot deliver a response to the API.<br/><br/>
132-
* Reasons for that could be: host went offline, connection timeout, connection cannot be established (expired
133-
* certificate), etc.
134-
*
135-
* @return
131+
* Simulates an unreachable provider, which for whatever reason cannot deliver a
132+
* response to the API. Reasons for that could be: host went offline, connection
133+
* timeout, connection cannot be established (expired certificate), etc.
136134
*/
137-
private BitcoinFeeRateProvider buildDummyUnreachableBitcoinFeeRateProvider() throws RestClientException{
135+
private BitcoinFeeRateProvider buildDummyUnreachableBitcoinFeeRateProvider() throws RestClientException {
138136
GenericXmlApplicationContext ctx = new GenericXmlApplicationContext();
139137
BitcoinFeeRateProvider dummyProvider = new BitcoinFeeRateProvider.First(ctx.getEnvironment()) {
140138
@Override

‎pricenode/src/test/java/bisq/price/mining/providers/BitcoinFeeRateProviderTest.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@
2626
import static org.junit.Assert.assertTrue;
2727

2828
/**
29-
* Tests specific to a {@link BitcoinFeeRateProvider} which queries one API endpoint<br/><br/>
30-
*
31-
* For tests related to managing parallel fee API endpoints, see {@link bisq.price.mining.FeeRateServiceTest}
29+
* Tests specific to a {@link BitcoinFeeRateProvider} which queries one API endpoint. For
30+
* tests related to managing parallel fee API endpoints, see
31+
* {@link bisq.price.mining.FeeRateServiceTest}
3232
*/
3333
public class BitcoinFeeRateProviderTest {
3434

‎pricenode/src/test/java/bisq/price/spot/ExchangeRateServiceTest.java

+21-16
Original file line numberDiff line numberDiff line change
@@ -47,20 +47,20 @@
4747
public class ExchangeRateServiceTest extends TestBase {
4848

4949
/**
50-
* Logback version of the Slfj logger used by {@link ExchangeRateService}. This
51-
* allows us to test if specific messages were logged <br/><br/>
52-
*
50+
* Logback version of the Slf4j logger used by {@link ExchangeRateService}. This
51+
* allows us to test if specific messages were logged.
5352
* See https://stackoverflow.com/a/52229629
5453
*/
5554
private static Logger exchangeRateServiceLogger;
5655
private static final String LIST_APPENDER_NAME = "testListAppender";
5756

5857
@BeforeAll
59-
static void setup () {
58+
static void setup() {
6059
// Get the logger object for logs in ExchangeRateService
6160
exchangeRateServiceLogger = (Logger) LoggerFactory.getLogger(ExchangeRateService.class);
6261

63-
// Initiate and append a ListAppender, which allows us to programmatically inspect log messages
62+
// Initiate and append a ListAppender, which allows us to programmatically inspect
63+
// log messages
6464
ListAppender<ILoggingEvent> listAppender = new ListAppender<>();
6565
listAppender.setName(LIST_APPENDER_NAME);
6666
listAppender.start();
@@ -75,7 +75,8 @@ public void getAllMarketPrices_withNoExchangeRates_logs_Exception() {
7575

7676
Map<String, Object> retrievedData = service.getAllMarketPrices();
7777

78-
doSanityChecksForRetrievedDataSingleProvider(retrievedData, dummyProvider.getPrefix(), numberOfCurrencyPairsOnExchange);
78+
doSanityChecksForRetrievedDataSingleProvider(
79+
retrievedData, dummyProvider.getPrefix(), numberOfCurrencyPairsOnExchange);
7980

8081
// No exchange rates provided by this exchange, two things should happen
8182
// A) the timestamp should be set to 0
@@ -86,7 +87,8 @@ public void getAllMarketPrices_withNoExchangeRates_logs_Exception() {
8687
assertEquals(0L, retrievedData.get(dummyProvider.getPrefix() + "Ts"));
8788

8889
// B) Check that an error is logged
89-
// Log msg has the format: java.lang.IllegalStateException: No exchange rate data found for ExchangeName-JzfP1
90+
// Log msg has the format: java.lang.IllegalStateException: No exchange rate data
91+
// found for ExchangeName-JzfP1
9092
List<ILoggingEvent> logsList = ((ListAppender) exchangeRateServiceLogger.getAppender(LIST_APPENDER_NAME)).list;
9193
assertEquals(Level.ERROR, logsList.get(0).getLevel());
9294
assertTrue(logsList.get(0).getMessage().endsWith("No exchange rate data found for " + dummyProvider.getName()));
@@ -100,7 +102,8 @@ public void getAllMarketPrices_withSingleExchangeRate() {
100102

101103
Map<String, Object> retrievedData = service.getAllMarketPrices();
102104

103-
doSanityChecksForRetrievedDataSingleProvider(retrievedData, dummyProvider.getPrefix(), numberOfCurrencyPairsOnExchange);
105+
doSanityChecksForRetrievedDataSingleProvider(
106+
retrievedData, dummyProvider.getPrefix(), numberOfCurrencyPairsOnExchange);
104107

105108
// One rate was provided by this provider, so the timestamp should not be 0
106109
assertNotEquals(0L, retrievedData.get(dummyProvider.getPrefix() + "Ts"));
@@ -118,13 +121,14 @@ public void getAllMarketPrices_withMultipleProviders() {
118121
doSanityChecksForRetrievedDataMultipleProviders(retrievedData,
119122
asList(dummyProvider1.getPrefix(), dummyProvider2.getPrefix()));
120123

121-
// One rate was provided by each provider in this service, so the timestamp (for both providers) should not be 0
124+
// One rate was provided by each provider in this service, so the timestamp
125+
// (for both providers) should not be 0
122126
assertNotEquals(0L, retrievedData.get(dummyProvider1.getPrefix() + "Ts"));
123127
assertNotEquals(0L, retrievedData.get(dummyProvider2.getPrefix() + "Ts"));
124128
}
125129

126130
/**
127-
* Performs generic sanity checks on the response format and contents
131+
* Performs generic sanity checks on the response format and contents.
128132
*
129133
* @param retrievedData Response data retrieved from the {@link ExchangeRateService}
130134
* @param providerPrefix {@link ExchangeRateProvider#getPrefix()}
@@ -143,17 +147,18 @@ private void doSanityChecksForRetrievedDataSingleProvider(Map<String, Object> re
143147
}
144148

145149
/**
146-
* Performs generic sanity checks on the response format and contents
150+
* Performs generic sanity checks on the response format and contents.
147151
*
148152
* @param retrievedData Response data retrieved from the {@link ExchangeRateService}
149-
* @param providerPrefixes List of all {@link ExchangeRateProvider#getPrefix()} the {@link ExchangeRateService} uses
153+
* @param providerPrefixes List of all {@link ExchangeRateProvider#getPrefix()} the
154+
* {@link ExchangeRateService} uses
150155
*/
151156
private void doSanityChecksForRetrievedDataMultipleProviders(Map<String, Object> retrievedData,
152-
List<String> providerPrefixes) {
157+
List<String> providerPrefixes) {
153158
// Check the correct amount of entries were present in the service response:
154-
// The timestamp and the count fields are per provider, so N providers means N times those fields
155-
// timestamp (x N) + count (x N) + price data (stored as a list under the key "data")
156-
// So expected size is Nx2 + 1
159+
// The timestamp and the count fields are per provider, so N providers means N
160+
// times those fields timestamp (x N) + count (x N) + price data (stored as a list
161+
// under the key "data"). So expected size is Nx2 + 1.
157162
int n = providerPrefixes.size();
158163
assertEquals(n * 2 + 1, retrievedData.size());
159164
for (String providerPrefix : providerPrefixes) {

‎pricenode/src/test/java/bisq/price/util/VersionControllerTest.java

+1-4
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,11 @@
44

55
import java.io.IOException;
66

7-
import org.junit.jupiter.api.BeforeEach;
87
import org.junit.jupiter.api.Test;
98

109
import static org.junit.jupiter.api.Assertions.assertTrue;
1110

12-
13-
14-
public class VersionControllerTest {
11+
public class VersionControllerTest {
1512

1613
@Test
1714
public void getVersion() throws IOException {

0 commit comments

Comments
 (0)