From 7847607ca3a7611b44f6e4898fb0a2e5075cd832 Mon Sep 17 00:00:00 2001 From: gubatron Date: Thu, 14 Jan 2016 16:57:30 -0500 Subject: [PATCH 1/7] [cleanup] CurrencyUtil.java --- .../java/io/bitsquare/locale/CurrencyUtil.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/core/src/main/java/io/bitsquare/locale/CurrencyUtil.java b/core/src/main/java/io/bitsquare/locale/CurrencyUtil.java index 18707ba438..3498c36701 100644 --- a/core/src/main/java/io/bitsquare/locale/CurrencyUtil.java +++ b/core/src/main/java/io/bitsquare/locale/CurrencyUtil.java @@ -38,7 +38,7 @@ public class CurrencyUtil { Set set = new HashSet<>(); // Sepa: EUR at first place - set.addAll(getSortedSepaCurrencyCodes()); + set.addAll(getSortedSEPACurrencyCodes()); // PerfectMoney: set.add(new TradeCurrency("USD")); @@ -47,9 +47,9 @@ public class CurrencyUtil { set.add(new TradeCurrency("CNY")); // OKPay: We want to maintain the order so we don't use a Set but add items if nto already in list - getAllOKPayCurrencies().stream().forEach(e -> set.add(e)); + getAllOKPayCurrencies().stream().forEach(set::add); - // Swish: it is already added by Sepa + // Swish: it is already added by SEPA // for printing out all codes /* String res; @@ -64,9 +64,9 @@ public class CurrencyUtil { // check if the list derived form the payment methods is containing exactly the same as our manually sorted one List list1 = set.stream().map(e -> e.code).collect(Collectors.toList()); - list1.sort((a, b) -> a.compareTo(b)); + list1.sort(String::compareTo); List list2 = list.stream().map(e -> e.code).collect(Collectors.toList()); - list2.sort((a, b) -> a.compareTo(b)); + list2.sort(String::compareTo); if (list1.size() != list2.size()) { log.error("manually defined currencies are not matching currencies derived form our payment methods"); @@ -81,7 +81,7 @@ public class CurrencyUtil { } // Blockchain - getSortedCryptoCurrencies().stream().forEach(e -> list.add(e)); + getSortedCryptoCurrencies().stream().forEach(list::add); return list; } @@ -119,9 +119,9 @@ public class CurrencyUtil { } /** - * @return Sorted list of sepa currencies with EUR as first item + * @return Sorted list of SEPA currencies with EUR as first item */ - public static Set getSortedSepaCurrencyCodes() { + private static Set getSortedSEPACurrencyCodes() { return CountryUtil.getAllSepaCountries().stream() .map(country -> getCurrencyByCountryCode(country.code)) .collect(Collectors.toSet()); @@ -162,7 +162,7 @@ public class CurrencyUtil { // Unfortunately we cannot support CryptoNote coins yet as there is no way to proof the transaction. Payment ID helps only locate the tx but the // arbitrator cannot see if the receiving key matches the receivers address. They might add support for exposing the tx key, but that is not // implemented yet. To use the view key (also not available in GUI wallets) would reveal the complete wallet history for incoming payments, which is - // not acceptable from pricavy point of view. + // not acceptable from privacy point of view. // result.add(new CryptoCurrency("XMR", "Monero")); // result.add(new CryptoCurrency("BCN", "Bytecoin")); result.add(new CryptoCurrency("DASH", "Dash")); From a4d773198792f0bbb24be2876779280da1028758 Mon Sep 17 00:00:00 2001 From: gubatron Date: Thu, 14 Jan 2016 17:05:38 -0500 Subject: [PATCH 2/7] [cleanup] bunch of dead code, small DRY refactor. --- .../java/io/bitsquare/locale/CountryUtil.java | 104 +++--------------- 1 file changed, 13 insertions(+), 91 deletions(-) diff --git a/core/src/main/java/io/bitsquare/locale/CountryUtil.java b/core/src/main/java/io/bitsquare/locale/CountryUtil.java index 7d67230c60..dba31f3a86 100644 --- a/core/src/main/java/io/bitsquare/locale/CountryUtil.java +++ b/core/src/main/java/io/bitsquare/locale/CountryUtil.java @@ -17,48 +17,24 @@ package io.bitsquare.locale; -import com.google.common.collect.Collections2; -import com.google.common.collect.Lists; import io.bitsquare.user.Preferences; import java.util.*; import java.util.stream.Collectors; public class CountryUtil { - public static List getAllRegions() { - final List allRegions = new ArrayList<>(); - - String regionCode = "NA"; - Region region = new Region(regionCode, getRegionName(regionCode)); - allRegions.add(region); - - regionCode = "SA"; - region = new Region(regionCode, getRegionName(regionCode)); - allRegions.add(region); - - regionCode = "AF"; - region = new Region(regionCode, getRegionName(regionCode)); - allRegions.add(region); - - regionCode = "EU"; - region = new Region(regionCode, getRegionName(regionCode)); - allRegions.add(region); - - regionCode = "AS"; - region = new Region(regionCode, getRegionName(regionCode)); - allRegions.add(region); - - regionCode = "OC"; - region = new Region(regionCode, getRegionName(regionCode)); - allRegions.add(region); - - return allRegions; - } public static List getAllSepaEuroCountries() { List list = new ArrayList<>(); String[] codes = {"AT", "BE", "CY", "DE", "EE", "FI", "FR", "GR", "IE", "IT", "LV", "LT", "LU", "MC", "MT", "NL", "PT", "SK", "SI", "ES"}; + populateCountryListByCodes(list, codes); + list.sort((a, b) -> a.code.compareTo(b.code)); + + return list; + } + + private static void populateCountryListByCodes(List list, String[] codes) { for (String code : codes) { Locale locale = new Locale(LanguageUtil.getDefaultLanguage(), code, ""); String regionCode = getRegionCode(locale.getCountry()); @@ -66,42 +42,19 @@ public class CountryUtil { final Country country = new Country(locale.getCountry(), locale.getDisplayCountry(), region); list.add(country); } - list.sort((a, b) -> a.code.compareTo(b.code)); - - return list; } public static boolean containsAllSepaEuroCountries(List countryCodesToCompare) { - countryCodesToCompare.sort((a, b) -> a.compareTo(b)); + countryCodesToCompare.sort(String::compareTo); List countryCodesBase = getAllSepaEuroCountries().stream().map(c -> c.code).collect(Collectors.toList()); return countryCodesToCompare.toString().equals(countryCodesBase.toString()); - /* - List countriesBase = getAllSepaEuroCountries(); - List remainingBase = new ArrayList<>(countriesBase); - List remainingToCompare = new ArrayList<>(countryCodesToCompare); - for (int i = 0; i < countriesBase.size(); i++) { - String countryCodeBase = countriesBase.get(i).code; - for (int n = 0; n < countryCodesToCompare.size(); n++) { - if (countryCodeBase.equals(countryCodesToCompare.get(n))) { - if (remainingBase.size() > 0) remainingBase.remove(i); - if (remainingToCompare.size() > 0) remainingToCompare.remove(n); - } - } - } - return remainingBase.size() == 0 && remainingBase.size() == remainingToCompare.size();*/ } public static List getAllSepaNonEuroCountries() { List list = new ArrayList<>(); String[] codes = {"BG", "HR", "CZ", "DK", "GB", "HU", "PL", "RO", "SE", "IS", "NO", "LI", "CH"}; - for (String code : codes) { - Locale locale = new Locale(LanguageUtil.getDefaultLanguage(), code, ""); - String regionCode = getRegionCode(locale.getCountry()); - final Region region = new Region(regionCode, getRegionName(regionCode)); - final Country country = new Country(locale.getCountry(), locale.getDisplayCountry(), region); - list.add(country); - } + populateCountryListByCodes(list, codes); list.sort((a, b) -> a.code.compareTo(b.code)); return list; } @@ -113,11 +66,6 @@ public class CountryUtil { return list; } - public static List getAllCountriesFor(Region selectedRegion) { - return Lists.newArrayList(Collections2.filter(getAllCountries(), country -> - selectedRegion != null && country != null && selectedRegion.equals(country.region))); - } - public static Country getDefaultCountry() { final Locale locale = Preferences.getDefaultLocale(); String regionCode = getRegionCode(locale.getCountry()); @@ -125,26 +73,10 @@ public class CountryUtil { return new Country(locale.getCountry(), locale.getDisplayCountry(), region); } - - private static List getAllCountries() { - final List allCountries = new ArrayList<>(); - for (final Locale locale : getAllCountryLocales()) { - String regionCode = getRegionCode(locale.getCountry()); - final Region region = new Region(regionCode, getRegionName(regionCode)); - final Country country = new Country(locale.getCountry(), locale.getDisplayCountry(), region); - allCountries.add(country); - } - return allCountries; - } - public static String getNameByCode(String countryCode) { return new Locale(LanguageUtil.getDefaultLanguage(), countryCode).getDisplayCountry(); } - public static List getNamesByCodes(List countryCodes) { - return countryCodes.stream().map(c -> getNameByCode(c)).collect(Collectors.toList()); - } - public static String getCodesString(List countryCodes) { return countryCodes.stream().collect(Collectors.joining(", ")); } @@ -153,6 +85,10 @@ public class CountryUtil { return getNamesByCodes(countryCodes).stream().collect(Collectors.joining(",\n")); } + private static List getNamesByCodes(List countryCodes) { + return countryCodes.stream().map(CountryUtil::getNameByCode).collect(Collectors.toList()); + } + private static final String[] countryCodes = new String[]{"AE", "AL", "AR", "AT", "AU", "BA", "BE", "BG", "BH", "BO", "BR", "BY", "CA", "CH", "CL", "CN", "CO", "CR", "CS", "CU", "CY", "CZ", "DE", "DK", "DO", "DZ", "EC", "EE", "EG", "ES", "FI", "FR", "GB", "GR", "GT", "HK", "HN", "HR", "HU", "ID", "IE", "IL", "IN", @@ -183,20 +119,6 @@ public class CountryUtil { return regionCode; } - // We use getAvailableLocales as we depend on display names (would be a bit painful with translations if handled - // from a static list -or we find something ready made?). - private static List getAllCountryLocales() { - List allLocales = Arrays.asList(Locale.getAvailableLocales()); - Set allLocalesAsSet = allLocales.stream().filter(locale -> !"".equals(locale.getCountry())) - .map(locale -> new Locale(LanguageUtil.getDefaultLanguage(), locale.getCountry(), "")) - .collect(Collectors.toSet()); - - allLocales = new ArrayList<>(); - allLocales.addAll(allLocalesAsSet); - allLocales.sort((locale1, locale2) -> locale1.getDisplayCountry().compareTo(locale2.getDisplayCountry())); - return allLocales; - } - private static String getRegionCode(String countryCode) { if (!countryCode.isEmpty() && countryCodeList.contains(countryCode)) { return regionCodeList.get(countryCodeList.indexOf(countryCode)); From 088334014cfc55855302ec60b46108dcf86925b0 Mon Sep 17 00:00:00 2001 From: gubatron Date: Thu, 14 Jan 2016 17:07:00 -0500 Subject: [PATCH 3/7] [encapsulation] Alert::TTL. spaces. --- core/src/main/java/io/bitsquare/alert/Alert.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/core/src/main/java/io/bitsquare/alert/Alert.java b/core/src/main/java/io/bitsquare/alert/Alert.java index 1a0a3751d2..c075e36d67 100644 --- a/core/src/main/java/io/bitsquare/alert/Alert.java +++ b/core/src/main/java/io/bitsquare/alert/Alert.java @@ -26,7 +26,7 @@ public final class Alert implements PubKeyProtectedExpirablePayload { // That object is sent over the wire, so we need to take care of version compatibility. private static final long serialVersionUID = Version.NETWORK_PROTOCOL_VERSION; - public static final long TTL = 10 * 24 * 60 * 60 * 1000; // 10 days + private static final long TTL = 10 * 24 * 60 * 60 * 1000; // 10 days public final String message; private String signatureAsBase64; @@ -59,12 +59,9 @@ public final class Alert implements PubKeyProtectedExpirablePayload { public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof Alert)) return false; - Alert that = (Alert) o; - if (message != null ? !message.equals(that.message) : that.message != null) return false; return !(getSignatureAsBase64() != null ? !getSignatureAsBase64().equals(that.getSignatureAsBase64()) : that.getSignatureAsBase64() != null); - } @Override From c899466ec426ffa75e3ac585494651681b85bc89 Mon Sep 17 00:00:00 2001 From: gubatron Date: Thu, 14 Jan 2016 17:07:49 -0500 Subject: [PATCH 4/7] [refactor] use lambda. --- .../btc/AddressBasedCoinSelector.java | 39 +++++++++---------- 1 file changed, 18 insertions(+), 21 deletions(-) diff --git a/core/src/main/java/io/bitsquare/btc/AddressBasedCoinSelector.java b/core/src/main/java/io/bitsquare/btc/AddressBasedCoinSelector.java index f3c6481f3a..65f675a027 100644 --- a/core/src/main/java/io/bitsquare/btc/AddressBasedCoinSelector.java +++ b/core/src/main/java/io/bitsquare/btc/AddressBasedCoinSelector.java @@ -49,27 +49,24 @@ class AddressBasedCoinSelector implements CoinSelector { @VisibleForTesting static void sortOutputs(ArrayList outputs) { - Collections.sort(outputs, new Comparator() { - @Override - public int compare(TransactionOutput a, TransactionOutput b) { - int depth1 = a.getParentTransactionDepthInBlocks(); - int depth2 = b.getParentTransactionDepthInBlocks(); - Coin aValue = a.getValue(); - Coin bValue = b.getValue(); - BigInteger aCoinDepth = BigInteger.valueOf(aValue.value).multiply(BigInteger.valueOf(depth1)); - BigInteger bCoinDepth = BigInteger.valueOf(bValue.value).multiply(BigInteger.valueOf(depth2)); - int c1 = bCoinDepth.compareTo(aCoinDepth); - if (c1 != 0) return c1; - // The "coin*days" destroyed are equal, sort by value alone to get the lowest transaction size. - int c2 = bValue.compareTo(aValue); - if (c2 != 0) return c2; - // They are entirely equivalent (possibly pending) so sort by hash to ensure a total ordering. - checkNotNull(a.getParentTransactionHash(), "a.getParentTransactionHash() must not be null"); - checkNotNull(b.getParentTransactionHash(), "b.getParentTransactionHash() must not be null"); - BigInteger aHash = a.getParentTransactionHash().toBigInteger(); - BigInteger bHash = b.getParentTransactionHash().toBigInteger(); - return aHash.compareTo(bHash); - } + Collections.sort(outputs, (a, b) -> { + int depth1 = a.getParentTransactionDepthInBlocks(); + int depth2 = b.getParentTransactionDepthInBlocks(); + Coin aValue = a.getValue(); + Coin bValue = b.getValue(); + BigInteger aCoinDepth = BigInteger.valueOf(aValue.value).multiply(BigInteger.valueOf(depth1)); + BigInteger bCoinDepth = BigInteger.valueOf(bValue.value).multiply(BigInteger.valueOf(depth2)); + int c1 = bCoinDepth.compareTo(aCoinDepth); + if (c1 != 0) return c1; + // The "coin*days" destroyed are equal, sort by value alone to get the lowest transaction size. + int c2 = bValue.compareTo(aValue); + if (c2 != 0) return c2; + // They are entirely equivalent (possibly pending) so sort by hash to ensure a total ordering. + checkNotNull(a.getParentTransactionHash(), "a.getParentTransactionHash() must not be null"); + checkNotNull(b.getParentTransactionHash(), "b.getParentTransactionHash() must not be null"); + BigInteger aHash = a.getParentTransactionHash().toBigInteger(); + BigInteger bHash = b.getParentTransactionHash().toBigInteger(); + return aHash.compareTo(bHash); }); } From df6d93a4a149e0542ee7f7cd35f391e328791a22 Mon Sep 17 00:00:00 2001 From: gubatron Date: Thu, 14 Jan 2016 17:08:37 -0500 Subject: [PATCH 5/7] [encapsulation] abstract constructors can be package local. --- core/src/main/java/io/bitsquare/trade/BuyerTrade.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/io/bitsquare/trade/BuyerTrade.java b/core/src/main/java/io/bitsquare/trade/BuyerTrade.java index b3237afdff..83e0b7e603 100644 --- a/core/src/main/java/io/bitsquare/trade/BuyerTrade.java +++ b/core/src/main/java/io/bitsquare/trade/BuyerTrade.java @@ -36,11 +36,11 @@ public abstract class BuyerTrade extends Trade implements Serializable { transient private static final Logger log = LoggerFactory.getLogger(BuyerAsOffererTrade.class); - public BuyerTrade(Offer offer, Coin tradeAmount, Address tradingPeerAddress, Storage storage) { + BuyerTrade(Offer offer, Coin tradeAmount, Address tradingPeerAddress, Storage storage) { super(offer, tradeAmount, tradingPeerAddress, storage); } - public BuyerTrade(Offer offer, Storage storage) { + BuyerTrade(Offer offer, Storage storage) { super(offer, storage); } From ea1d75cc455838eade91b01c357d2cf169043286 Mon Sep 17 00:00:00 2001 From: gubatron Date: Thu, 14 Jan 2016 17:14:51 -0500 Subject: [PATCH 6/7] [immutability-refactor] All these members are only assigned on constructors/declaration. Avoid mutability as much as possible, it's the devil. --- core/src/main/java/io/bitsquare/alert/AlertManager.java | 4 ++-- core/src/main/java/io/bitsquare/alert/AlertService.java | 2 +- .../java/io/bitsquare/arbitration/ArbitratorService.java | 2 +- core/src/main/java/io/bitsquare/btc/AddressEntry.java | 2 +- core/src/main/java/io/bitsquare/locale/CurrencyUtil.java | 2 +- .../io/bitsquare/payment/SepaAccountContractData.java | 2 +- core/src/main/java/io/bitsquare/trade/TradeManager.java | 2 +- .../java/io/bitsquare/trade/offer/OfferBookService.java | 2 +- .../java/io/bitsquare/trade/offer/OpenOfferManager.java | 4 ++-- core/src/main/java/io/bitsquare/user/PopupId.java | 8 ++++---- core/src/main/java/io/bitsquare/user/Preferences.java | 4 ++-- 11 files changed, 17 insertions(+), 17 deletions(-) diff --git a/core/src/main/java/io/bitsquare/alert/AlertManager.java b/core/src/main/java/io/bitsquare/alert/AlertManager.java index e39a886716..aab3c86977 100644 --- a/core/src/main/java/io/bitsquare/alert/AlertManager.java +++ b/core/src/main/java/io/bitsquare/alert/AlertManager.java @@ -40,8 +40,8 @@ public class AlertManager { transient private static final Logger log = LoggerFactory.getLogger(AlertManager.class); private final AlertService alertService; - private KeyRing keyRing; - private User user; + private final KeyRing keyRing; + private final User user; private final ObjectProperty alertMessageProperty = new SimpleObjectProperty<>(); // Pub key for developer global alert message diff --git a/core/src/main/java/io/bitsquare/alert/AlertService.java b/core/src/main/java/io/bitsquare/alert/AlertService.java index 9ef4158975..7d6b54df74 100644 --- a/core/src/main/java/io/bitsquare/alert/AlertService.java +++ b/core/src/main/java/io/bitsquare/alert/AlertService.java @@ -33,7 +33,7 @@ import javax.inject.Inject; */ public class AlertService { private static final Logger log = LoggerFactory.getLogger(AlertService.class); - private P2PService p2PService; + private final P2PService p2PService; /////////////////////////////////////////////////////////////////////////////////////////// diff --git a/core/src/main/java/io/bitsquare/arbitration/ArbitratorService.java b/core/src/main/java/io/bitsquare/arbitration/ArbitratorService.java index d9f5ca0c3a..96cef1115f 100644 --- a/core/src/main/java/io/bitsquare/arbitration/ArbitratorService.java +++ b/core/src/main/java/io/bitsquare/arbitration/ArbitratorService.java @@ -37,7 +37,7 @@ import java.util.stream.Collectors; public class ArbitratorService { private static final Logger log = LoggerFactory.getLogger(ArbitratorService.class); - private P2PService p2PService; + private final P2PService p2PService; interface ArbitratorMapResultHandler { void handleResult(Map arbitratorsMap); diff --git a/core/src/main/java/io/bitsquare/btc/AddressEntry.java b/core/src/main/java/io/bitsquare/btc/AddressEntry.java index 613860fd01..c8b2f6f703 100644 --- a/core/src/main/java/io/bitsquare/btc/AddressEntry.java +++ b/core/src/main/java/io/bitsquare/btc/AddressEntry.java @@ -56,7 +56,7 @@ public class AddressEntry implements Serializable { // Only set if its a TRADE Context @Nullable - private String offerId; + private final String offerId; private final Context context; private final byte[] pubKey; diff --git a/core/src/main/java/io/bitsquare/locale/CurrencyUtil.java b/core/src/main/java/io/bitsquare/locale/CurrencyUtil.java index 3498c36701..bd2c32f0ca 100644 --- a/core/src/main/java/io/bitsquare/locale/CurrencyUtil.java +++ b/core/src/main/java/io/bitsquare/locale/CurrencyUtil.java @@ -27,7 +27,7 @@ import java.util.stream.Collectors; public class CurrencyUtil { transient private static final Logger log = LoggerFactory.getLogger(CurrencyUtil.class); - private static List allSortedCurrencies = createAllSortedCurrenciesList(); + private static final List allSortedCurrencies = createAllSortedCurrenciesList(); public static List getAllSortedCurrencies() { return allSortedCurrencies; diff --git a/core/src/main/java/io/bitsquare/payment/SepaAccountContractData.java b/core/src/main/java/io/bitsquare/payment/SepaAccountContractData.java index cbd1c918ad..bf2cf165c3 100644 --- a/core/src/main/java/io/bitsquare/payment/SepaAccountContractData.java +++ b/core/src/main/java/io/bitsquare/payment/SepaAccountContractData.java @@ -38,7 +38,7 @@ public class SepaAccountContractData extends PaymentAccountContractData implemen private String iban; private String bic; // Dont use a set here as we need a deterministic ordering, otherwise the contract hash does not match - private ArrayList acceptedCountryCodes; + private final ArrayList acceptedCountryCodes; public SepaAccountContractData(String paymentMethod, String id, int maxTradePeriod) { super(paymentMethod, id, maxTradePeriod); diff --git a/core/src/main/java/io/bitsquare/trade/TradeManager.java b/core/src/main/java/io/bitsquare/trade/TradeManager.java index 6306dbee84..30f90934c6 100644 --- a/core/src/main/java/io/bitsquare/trade/TradeManager.java +++ b/core/src/main/java/io/bitsquare/trade/TradeManager.java @@ -83,7 +83,7 @@ public class TradeManager { private final Storage> tradableListStorage; private final TradableList trades; private final BooleanProperty pendingTradesInitialized = new SimpleBooleanProperty(); - private FirstPeerAuthenticatedListener firstPeerAuthenticatedListener; + private final FirstPeerAuthenticatedListener firstPeerAuthenticatedListener; /////////////////////////////////////////////////////////////////////////////////////////// diff --git a/core/src/main/java/io/bitsquare/trade/offer/OfferBookService.java b/core/src/main/java/io/bitsquare/trade/offer/OfferBookService.java index c2d6abb497..dfd6488f71 100644 --- a/core/src/main/java/io/bitsquare/trade/offer/OfferBookService.java +++ b/core/src/main/java/io/bitsquare/trade/offer/OfferBookService.java @@ -35,7 +35,7 @@ import java.util.stream.Collectors; public class OfferBookService { private static final Logger log = LoggerFactory.getLogger(OfferBookService.class); - private P2PService p2PService; + private final P2PService p2PService; /////////////////////////////////////////////////////////////////////////////////////////// diff --git a/core/src/main/java/io/bitsquare/trade/offer/OpenOfferManager.java b/core/src/main/java/io/bitsquare/trade/offer/OpenOfferManager.java index 824c49d63a..a6e1e02475 100644 --- a/core/src/main/java/io/bitsquare/trade/offer/OpenOfferManager.java +++ b/core/src/main/java/io/bitsquare/trade/offer/OpenOfferManager.java @@ -58,8 +58,8 @@ public class OpenOfferManager { private static final Logger log = LoggerFactory.getLogger(OpenOfferManager.class); private final KeyRing keyRing; - private User user; - private P2PService p2PService; + private final User user; + private final P2PService p2PService; private final WalletService walletService; private final TradeWalletService tradeWalletService; private final OfferBookService offerBookService; diff --git a/core/src/main/java/io/bitsquare/user/PopupId.java b/core/src/main/java/io/bitsquare/user/PopupId.java index eda792c6e4..82543d7190 100644 --- a/core/src/main/java/io/bitsquare/user/PopupId.java +++ b/core/src/main/java/io/bitsquare/user/PopupId.java @@ -21,9 +21,9 @@ public class PopupId { // We don't use an enum because it would break updates if we add a new item in a new version - public static String TRADE_WALLET = "tradeWallet"; - public static String SEND_PAYMENT_INFO = "sendPaymentInfo"; - public static String PAYMENT_SENT = "paymentSent"; - public static String PAYMENT_RECEIVED = "paymentReceived"; + public static final String TRADE_WALLET = "tradeWallet"; + public static final String SEND_PAYMENT_INFO = "sendPaymentInfo"; + public static final String PAYMENT_SENT = "paymentSent"; + public static final String PAYMENT_RECEIVED = "paymentReceived"; } diff --git a/core/src/main/java/io/bitsquare/user/Preferences.java b/core/src/main/java/io/bitsquare/user/Preferences.java index 96cd07391c..a8fdf0d464 100644 --- a/core/src/main/java/io/bitsquare/user/Preferences.java +++ b/core/src/main/java/io/bitsquare/user/Preferences.java @@ -88,14 +88,14 @@ public class Preferences implements Serializable { private boolean useAnimations = true; private boolean useEffects = true; private boolean displaySecurityDepositInfo = true; - private ArrayList tradeCurrencies; + private final ArrayList tradeCurrencies; private BlockChainExplorer blockChainExplorerMainNet; private BlockChainExplorer blockChainExplorerTestNet; private boolean showPlaceOfferConfirmation; private boolean showTakeOfferConfirmation; private String backupDirectory; private boolean autoSelectArbitrators = true; - private Map showAgainMap; + private final Map showAgainMap; private boolean tacAccepted; private Locale preferredLocale; private TradeCurrency preferredTradeCurrency; From c2b691dd57010c3996a6f8ea41ace375b52f9b8e Mon Sep 17 00:00:00 2001 From: gubatron Date: Thu, 14 Jan 2016 17:27:58 -0500 Subject: [PATCH 7/7] impossible condition. always non-null. --- .../ArbitratorRegistrationViewModel.java | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/gui/src/main/java/io/bitsquare/gui/main/account/arbitratorregistration/ArbitratorRegistrationViewModel.java b/gui/src/main/java/io/bitsquare/gui/main/account/arbitratorregistration/ArbitratorRegistrationViewModel.java index 4890571811..e90bd4ef39 100644 --- a/gui/src/main/java/io/bitsquare/gui/main/account/arbitratorregistration/ArbitratorRegistrationViewModel.java +++ b/gui/src/main/java/io/bitsquare/gui/main/account/arbitratorregistration/ArbitratorRegistrationViewModel.java @@ -151,17 +151,16 @@ class ArbitratorRegistrationViewModel extends ActivatableViewModel { registrationKey.getPubKey(), registrationSignature ); - if (arbitrator != null) { - arbitratorManager.addArbitrator(arbitrator, - () -> { - updateDisableStates(); - resultHandler.handleResult(); - }, - (errorMessage) -> { - updateDisableStates(); - errorMessageHandler.handleErrorMessage(errorMessage); - }); - } + + arbitratorManager.addArbitrator(arbitrator, + () -> { + updateDisableStates(); + resultHandler.handleResult(); + }, + (errorMessage) -> { + updateDisableStates(); + errorMessageHandler.handleErrorMessage(errorMessage); + }); } }