From cc46a81644a58b3f27a61a763400bb30c1c5ca21 Mon Sep 17 00:00:00 2001 From: Manfred Karrer Date: Wed, 6 Apr 2016 23:59:55 +0200 Subject: [PATCH] Cleanup --- .../io/bitsquare/trade/TradableHelper.java | 35 --------- .../java/io/bitsquare/trade/TradeManager.java | 15 ++++ .../AddressWithIconAndDirection.java | 11 +-- .../io/bitsquare/gui/main/MainViewModel.java | 14 ++-- .../main/funds/deposit/DepositListItem.java | 8 +-- .../gui/main/funds/deposit/DepositView.java | 32 ++++----- .../gui/main/funds/locked/LockedView.java | 5 +- .../main/funds/reserved/ReservedListItem.java | 4 +- .../transactions/TransactionsListItem.java | 71 +++++++------------ .../funds/transactions/TransactionsView.java | 40 +---------- .../funds/withdrawal/WithdrawalListItem.java | 16 ----- .../main/funds/withdrawal/WithdrawalView.java | 20 ++---- 12 files changed, 77 insertions(+), 194 deletions(-) delete mode 100644 core/src/main/java/io/bitsquare/trade/TradableHelper.java diff --git a/core/src/main/java/io/bitsquare/trade/TradableHelper.java b/core/src/main/java/io/bitsquare/trade/TradableHelper.java deleted file mode 100644 index dcdf146950..0000000000 --- a/core/src/main/java/io/bitsquare/trade/TradableHelper.java +++ /dev/null @@ -1,35 +0,0 @@ -package io.bitsquare.trade; - -import io.bitsquare.btc.AddressEntry; -import io.bitsquare.btc.WalletService; -import org.bitcoinj.core.Coin; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.stream.Stream; - -public class TradableHelper { - private static final Logger log = LoggerFactory.getLogger(TradableHelper.class); - - public static Stream getAddressEntriesForAvailableBalanceStream(WalletService walletService) { - Stream availableOrPayout = Stream.concat(walletService.getAddressEntries(AddressEntry.Context.TRADE_PAYOUT).stream(), walletService.getFundedAvailableAddressEntries().stream()); - Stream available = Stream.concat(availableOrPayout, walletService.getAddressEntries(AddressEntry.Context.ARBITRATOR).stream()); - available = Stream.concat(available, walletService.getAddressEntries(AddressEntry.Context.OFFER_FUNDING).stream()); - return available - .filter(addressEntry -> walletService.getBalanceForAddress(addressEntry.getAddress()).isPositive()); - } - - public static Stream getLockedTradeStream(TradeManager tradeManager) { - return tradeManager.getTrades().stream() - .filter(trade -> trade.getState().getPhase().ordinal() >= Trade.Phase.DEPOSIT_PAID.ordinal() && - trade.getState().getPhase().ordinal() < Trade.Phase.PAYOUT_PAID.ordinal()); - } - - public static AddressEntry getLockedTradeAddressEntry(Trade trade, WalletService walletService) { - return walletService.getOrCreateAddressEntry(trade.getId(), AddressEntry.Context.MULTI_SIG); - } - - public static Coin getReservedBalance(Tradable tradable, WalletService walletService) { - return walletService.getBalanceForAddress(walletService.getOrCreateAddressEntry(tradable.getId(), AddressEntry.Context.RESERVED_FOR_TRADE).getAddress()); - } -} diff --git a/core/src/main/java/io/bitsquare/trade/TradeManager.java b/core/src/main/java/io/bitsquare/trade/TradeManager.java index 434be6ba43..521b1b4d9d 100644 --- a/core/src/main/java/io/bitsquare/trade/TradeManager.java +++ b/core/src/main/java/io/bitsquare/trade/TradeManager.java @@ -61,6 +61,7 @@ import javax.inject.Inject; import javax.inject.Named; import java.io.File; import java.util.Optional; +import java.util.stream.Stream; import static io.bitsquare.util.Validator.nonEmptyStringOf; @@ -396,4 +397,18 @@ public class TradeManager { public Optional getTradeById(String tradeId) { return trades.stream().filter(e -> e.getId().equals(tradeId)).findFirst(); } + + public Stream getAddressEntriesForAvailableBalanceStream() { + Stream availableOrPayout = Stream.concat(walletService.getAddressEntries(AddressEntry.Context.TRADE_PAYOUT).stream(), walletService.getFundedAvailableAddressEntries().stream()); + Stream available = Stream.concat(availableOrPayout, walletService.getAddressEntries(AddressEntry.Context.ARBITRATOR).stream()); + available = Stream.concat(available, walletService.getAddressEntries(AddressEntry.Context.OFFER_FUNDING).stream()); + return available + .filter(addressEntry -> walletService.getBalanceForAddress(addressEntry.getAddress()).isPositive()); + } + + public Stream getLockedTradeStream() { + return getTrades().stream() + .filter(trade -> trade.getState().getPhase().ordinal() >= Trade.Phase.DEPOSIT_PAID.ordinal() && + trade.getState().getPhase().ordinal() < Trade.Phase.PAYOUT_PAID.ordinal()); + } } \ No newline at end of file diff --git a/gui/src/main/java/io/bitsquare/gui/components/AddressWithIconAndDirection.java b/gui/src/main/java/io/bitsquare/gui/components/AddressWithIconAndDirection.java index fe3f5cfb58..b5ead15397 100644 --- a/gui/src/main/java/io/bitsquare/gui/components/AddressWithIconAndDirection.java +++ b/gui/src/main/java/io/bitsquare/gui/components/AddressWithIconAndDirection.java @@ -21,16 +21,11 @@ public class AddressWithIconAndDirection extends AnchorPane { private final Label directionIcon; private final Label label; - public AddressWithIconAndDirection(String text, String address, AwesomeIcon awesomeIcon, boolean received, boolean isInternal) { + public AddressWithIconAndDirection(String text, String address, AwesomeIcon awesomeIcon, boolean received) { directionIcon = new Label(); directionIcon.setLayoutY(3); - if (isInternal) { - directionIcon.getStyleClass().add("internal-funds-icon"); - AwesomeDude.setIcon(directionIcon, AwesomeIcon.REPEAT); - } else { - directionIcon.getStyleClass().add(received ? "received-funds-icon" : "sent-funds-icon"); - AwesomeDude.setIcon(directionIcon, received ? AwesomeIcon.SIGNIN : AwesomeIcon.SIGNOUT); - } + directionIcon.getStyleClass().add(received ? "received-funds-icon" : "sent-funds-icon"); + AwesomeDude.setIcon(directionIcon, received ? AwesomeIcon.SIGNIN : AwesomeIcon.SIGNOUT); directionIcon.setMouseTransparent(true); HBox hBox = new HBox(); diff --git a/gui/src/main/java/io/bitsquare/gui/main/MainViewModel.java b/gui/src/main/java/io/bitsquare/gui/main/MainViewModel.java index 6db6eaa0a6..da0f1e052c 100644 --- a/gui/src/main/java/io/bitsquare/gui/main/MainViewModel.java +++ b/gui/src/main/java/io/bitsquare/gui/main/MainViewModel.java @@ -26,6 +26,7 @@ import io.bitsquare.app.Version; import io.bitsquare.arbitration.ArbitratorManager; import io.bitsquare.arbitration.Dispute; import io.bitsquare.arbitration.DisputeManager; +import io.bitsquare.btc.AddressEntry; import io.bitsquare.btc.TradeWalletService; import io.bitsquare.btc.WalletService; import io.bitsquare.btc.listeners.BalanceListener; @@ -54,7 +55,6 @@ import io.bitsquare.p2p.network.Connection; import io.bitsquare.p2p.network.ConnectionListener; import io.bitsquare.p2p.peers.keepalive.messages.Ping; import io.bitsquare.payment.OKPayAccount; -import io.bitsquare.trade.TradableHelper; import io.bitsquare.trade.Trade; import io.bitsquare.trade.TradeManager; import io.bitsquare.trade.closed.ClosedTradableManager; @@ -65,6 +65,7 @@ import io.bitsquare.user.Preferences; import io.bitsquare.user.User; import javafx.beans.property.*; import javafx.collections.ListChangeListener; +import org.bitcoinj.core.Address; import org.bitcoinj.core.Coin; import org.bitcoinj.core.Transaction; import org.bitcoinj.store.BlockStoreException; @@ -683,7 +684,7 @@ public class MainViewModel implements ViewModel { } private void updateAvailableBalance() { - Coin totalAvailableBalance = Coin.valueOf(TradableHelper.getAddressEntriesForAvailableBalanceStream(walletService) + Coin totalAvailableBalance = Coin.valueOf(tradeManager.getAddressEntriesForAvailableBalanceStream() .mapToLong(addressEntry -> walletService.getBalanceForAddress(addressEntry.getAddress()).getValue()) .sum()); availableBalance.set(formatter.formatCoinWithCode(totalAvailableBalance)); @@ -691,7 +692,10 @@ public class MainViewModel implements ViewModel { private void updateReservedBalance() { Coin sum = Coin.valueOf(openOfferManager.getOpenOffers().stream() - .map(openOffer -> TradableHelper.getReservedBalance(openOffer, walletService)) + .map(openOffer -> { + Address address = walletService.getOrCreateAddressEntry(openOffer.getId(), AddressEntry.Context.RESERVED_FOR_TRADE).getAddress(); + return walletService.getBalanceForAddress(address); + }) .mapToLong(Coin::getValue) .sum()); @@ -699,8 +703,8 @@ public class MainViewModel implements ViewModel { } private void updateLockedBalance() { - Coin sum = Coin.valueOf(TradableHelper.getLockedTradeStream(tradeManager) - .mapToLong(trade -> TradableHelper.getLockedTradeAddressEntry(trade, walletService).getLockedTradeAmount().getValue()) + Coin sum = Coin.valueOf(tradeManager.getLockedTradeStream() + .mapToLong(trade -> walletService.getOrCreateAddressEntry(trade.getId(), AddressEntry.Context.MULTI_SIG).getLockedTradeAmount().getValue()) .sum()); lockedBalance.set(formatter.formatCoinWithCode(sum)); } diff --git a/gui/src/main/java/io/bitsquare/gui/main/funds/deposit/DepositListItem.java b/gui/src/main/java/io/bitsquare/gui/main/funds/deposit/DepositListItem.java index 60d1a2ec65..c3c8ea2e41 100644 --- a/gui/src/main/java/io/bitsquare/gui/main/funds/deposit/DepositListItem.java +++ b/gui/src/main/java/io/bitsquare/gui/main/funds/deposit/DepositListItem.java @@ -35,25 +35,19 @@ import org.slf4j.LoggerFactory; public class DepositListItem { private final Logger log = LoggerFactory.getLogger(this.getClass()); + private final StringProperty balance = new SimpleStringProperty(); private final WalletService walletService; - private Coin balanceAsCoin; - private BSFormatter formatter; private final ConfidenceProgressIndicator progressIndicator; private final Tooltip tooltip; - - - private String balanceString; private String addressString; private String usage = "-"; private TxConfidenceListener txConfidenceListener; private int numTxOutputs = 0; - // public DepositListItem(AddressEntry addressEntry, Transaction transaction, WalletService walletService, Optional tradableOptional, BSFormatter formatter) { public DepositListItem(AddressEntry addressEntry, WalletService walletService, BSFormatter formatter) { this.walletService = walletService; - this.formatter = formatter; addressString = addressEntry.getAddressString(); diff --git a/gui/src/main/java/io/bitsquare/gui/main/funds/deposit/DepositView.java b/gui/src/main/java/io/bitsquare/gui/main/funds/deposit/DepositView.java index 1ef7d6ac42..6f24ed87bd 100644 --- a/gui/src/main/java/io/bitsquare/gui/main/funds/deposit/DepositView.java +++ b/gui/src/main/java/io/bitsquare/gui/main/funds/deposit/DepositView.java @@ -69,31 +69,28 @@ public class DepositView extends ActivatableView { @FXML GridPane gridPane; - @FXML TableView tableView; @FXML TableColumn selectColumn, addressColumn, balanceColumn, confidenceColumn, usageColumn; private ImageView qrCodeImageView; - private int gridRow = 0; private AddressTextField addressTextField; - Button generateNewAddressButton; - - private final WalletService walletService; - private final BSFormatter formatter; - private final Preferences preferences; - private final ObservableList observableList = FXCollections.observableArrayList(); - private final SortedList sortedList = new SortedList<>(observableList); - - private BalanceListener balanceListener; + private Button generateNewAddressButton; private TitledGroupBg titledGroupBg; private Label addressLabel, amountLabel; private Label qrCodeLabel; private InputTextField amountTextField; - private Subscription amountTextFieldSubscription; - private String paymentLabel; - private ChangeListener tableViewSelectionListener; + private final WalletService walletService; + private final BSFormatter formatter; + private final Preferences preferences; + private final String paymentLabelString; + private final ObservableList observableList = FXCollections.observableArrayList(); + private final SortedList sortedList = new SortedList<>(observableList); + private BalanceListener balanceListener; + private Subscription amountTextFieldSubscription; + private ChangeListener tableViewSelectionListener; + private int gridRow = 0; /////////////////////////////////////////////////////////////////////////////////////////// // Constructor, lifecycle @@ -106,6 +103,8 @@ public class DepositView extends ActivatableView { this.walletService = walletService; this.formatter = formatter; this.preferences = preferences; + + paymentLabelString = "Fund Bitsquare wallet"; } @Override @@ -153,8 +152,7 @@ public class DepositView extends ActivatableView { //GridPane.setValignment(addressLabel, VPos.TOP); //GridPane.setMargin(addressLabel, new Insets(3, 0, 0, 0)); addressTextField = addressTuple.second; - paymentLabel = "Fund Bitsquare wallet"; - addressTextField.setPaymentLabel(paymentLabel); + addressTextField.setPaymentLabel(paymentLabelString); Tuple2 amountTuple = addLabelInputTextField(gridPane, ++gridRow, "Amount in BTC (optional):"); @@ -307,7 +305,7 @@ public class DepositView extends ActivatableView { private String getBitcoinURI() { return BitcoinURI.convertToBitcoinURI(addressTextField.getAddress(), getAmountAsCoin(), - paymentLabel, + paymentLabelString, null); } diff --git a/gui/src/main/java/io/bitsquare/gui/main/funds/locked/LockedView.java b/gui/src/main/java/io/bitsquare/gui/main/funds/locked/LockedView.java index 49f5f49dac..376baf8e0a 100644 --- a/gui/src/main/java/io/bitsquare/gui/main/funds/locked/LockedView.java +++ b/gui/src/main/java/io/bitsquare/gui/main/funds/locked/LockedView.java @@ -30,7 +30,6 @@ import io.bitsquare.gui.main.overlays.windows.OfferDetailsWindow; import io.bitsquare.gui.main.overlays.windows.TradeDetailsWindow; import io.bitsquare.gui.util.BSFormatter; import io.bitsquare.trade.Tradable; -import io.bitsquare.trade.TradableHelper; import io.bitsquare.trade.Trade; import io.bitsquare.trade.TradeManager; import io.bitsquare.trade.offer.OpenOffer; @@ -148,9 +147,9 @@ public class LockedView extends ActivatableView { private void updateList() { observableList.forEach(LockedListItem::cleanup); - observableList.setAll(TradableHelper.getLockedTradeStream(tradeManager) + observableList.setAll(tradeManager.getLockedTradeStream() .map(trade -> new LockedListItem(trade, - TradableHelper.getLockedTradeAddressEntry(trade, walletService), + walletService.getOrCreateAddressEntry(trade.getId(), AddressEntry.Context.MULTI_SIG), walletService, formatter)) .collect(Collectors.toList())); diff --git a/gui/src/main/java/io/bitsquare/gui/main/funds/reserved/ReservedListItem.java b/gui/src/main/java/io/bitsquare/gui/main/funds/reserved/ReservedListItem.java index 79b2c3b4fb..d3fc5d62a9 100644 --- a/gui/src/main/java/io/bitsquare/gui/main/funds/reserved/ReservedListItem.java +++ b/gui/src/main/java/io/bitsquare/gui/main/funds/reserved/ReservedListItem.java @@ -22,7 +22,6 @@ import io.bitsquare.btc.WalletService; import io.bitsquare.btc.listeners.BalanceListener; import io.bitsquare.gui.util.BSFormatter; import io.bitsquare.trade.Tradable; -import io.bitsquare.trade.TradableHelper; import io.bitsquare.trade.offer.OpenOffer; import javafx.beans.property.SimpleStringProperty; import javafx.beans.property.StringProperty; @@ -72,7 +71,8 @@ public class ReservedListItem { } private void updateBalance() { - balance = TradableHelper.getReservedBalance(openOffer, walletService); + Address address = walletService.getOrCreateAddressEntry(openOffer.getId(), AddressEntry.Context.RESERVED_FOR_TRADE).getAddress(); + balance = walletService.getBalanceForAddress(address); if (balance != null) balanceLabel.setText(formatter.formatCoin(this.balance)); } diff --git a/gui/src/main/java/io/bitsquare/gui/main/funds/transactions/TransactionsListItem.java b/gui/src/main/java/io/bitsquare/gui/main/funds/transactions/TransactionsListItem.java index 45057dec5a..8a176cd520 100644 --- a/gui/src/main/java/io/bitsquare/gui/main/funds/transactions/TransactionsListItem.java +++ b/gui/src/main/java/io/bitsquare/gui/main/funds/transactions/TransactionsListItem.java @@ -40,7 +40,6 @@ public class TransactionsListItem { private final WalletService walletService; private final ConfidenceProgressIndicator progressIndicator; private final Tooltip tooltip; - private boolean isInternal; @Nullable private Tradable tradable; private String details; @@ -89,7 +88,7 @@ public class TransactionsListItem { } } } - } else/* if (tradableOptional.isPresent())*/ { + } else { amountAsCoin = valueSentToMe.subtract(valueSentFromMe); boolean outgoing = false; for (TransactionOutput transactionOutput : transaction.getOutputs()) { @@ -107,25 +106,27 @@ public class TransactionsListItem { direction = "Sent to:"; received = false; } - } /*else { - // savings wallet tx - for (TransactionOutput transactionOutput : transaction.getOutputs()) { - if (transactionOutput.isMine(walletService.getWallet())) { - if (transactionOutput.getScriptPubKey().isSentToAddress() || - transactionOutput.getScriptPubKey().isPayToScriptHash()) { - address = transactionOutput.getScriptPubKey().getToAddress(walletService.getWallet().getParams()); - addressString = address.toString(); + } - amountAsCoin = transactionOutput.getValue().multiply(-1); - } + // confidence + progressIndicator = new ConfidenceProgressIndicator(); + progressIndicator.setId("funds-confidence"); + tooltip = new Tooltip("Not used yet"); + progressIndicator.setProgress(0); + progressIndicator.setPrefHeight(30); + progressIndicator.setPrefWidth(30); + Tooltip.install(progressIndicator, tooltip); + + if (address != null) { + txConfidenceListener = new TxConfidenceListener(txId) { + @Override + public void onTransactionConfidenceChanged(TransactionConfidence confidence) { + updateConfidence(confidence); } - } - - direction = "Transferred to:"; - received = false; - isInternal = true; - details = "Change output"; - }*/ + }; + walletService.addTxConfidenceListener(txConfidenceListener); + updateConfidence(transaction.getConfidence()); + } if (tradableOptional.isPresent()) { @@ -148,10 +149,12 @@ public class TransactionsListItem { trade.getPayoutTx().getHashAsString().equals(txId)) { details = "MultiSig payout: " + tradable.getShortId(); } else if (trade.getDisputeState() == Trade.DisputeState.DISPUTE_CLOSED) { - if (valueSentToMe.isPositive()) + if (valueSentToMe.isPositive()) { details = "Dispute payout: " + tradable.getShortId(); - else + } else { details = "Lost dispute case: " + tradable.getShortId(); + progressIndicator.setVisible(false); + } } else { details = "Unknown reason: " + tradable.getShortId(); } @@ -159,31 +162,11 @@ public class TransactionsListItem { } else { if (amountAsCoin.isZero()) details = "No refund from dispute"; - else if (!isInternal) + else details = received ? "Received funds" : "Withdrawn from wallet"; } date = formatter.formatDateTime(transaction.getUpdateTime()); - - // confidence - progressIndicator = new ConfidenceProgressIndicator(); - progressIndicator.setId("funds-confidence"); - tooltip = new Tooltip("Not used yet"); - progressIndicator.setProgress(0); - progressIndicator.setPrefHeight(30); - progressIndicator.setPrefWidth(30); - Tooltip.install(progressIndicator, tooltip); - - if (address != null) { - txConfidenceListener = new TxConfidenceListener(txId) { - @Override - public void onTransactionConfidenceChanged(TransactionConfidence confidence) { - updateConfidence(confidence); - } - }; - walletService.addTxConfidenceListener(txConfidenceListener); - updateConfidence(transaction.getConfidence()); - } } @@ -242,10 +225,6 @@ public class TransactionsListItem { return direction; } - public boolean isInternal() { - return isInternal; - } - public String getTxId() { return txId; } diff --git a/gui/src/main/java/io/bitsquare/gui/main/funds/transactions/TransactionsView.java b/gui/src/main/java/io/bitsquare/gui/main/funds/transactions/TransactionsView.java index 8f0d217ef3..4e2421e8b7 100644 --- a/gui/src/main/java/io/bitsquare/gui/main/funds/transactions/TransactionsView.java +++ b/gui/src/main/java/io/bitsquare/gui/main/funds/transactions/TransactionsView.java @@ -194,38 +194,6 @@ public class TransactionsView extends ActivatableView { Set all = concat3.collect(Collectors.toSet()); Set transactions = walletService.getWallet().getTransactions(true); - /* List transactionsListItems = new ArrayList<>(); - for (Transaction transaction : transactions) { - Optional tradableOptional = all.stream() - .filter(tradable -> { - String txId = transaction.getHashAsString(); - if (tradable instanceof OpenOffer) - return tradable.getOffer().getOfferFeePaymentTxID().equals(txId); - else if (tradable instanceof Trade) { - Trade trade = (Trade) tradable; - boolean isTakeOfferFeeTx = txId.equals(trade.getTakeOfferFeeTxId()); - boolean isOfferFeeTx = trade.getOffer() != null && - txId.equals(trade.getOffer().getOfferFeePaymentTxID()); - boolean isDepositTx = trade.getDepositTx() != null && - trade.getDepositTx().getHashAsString().equals(txId); - boolean isPayoutTx = trade.getPayoutTx() != null && - trade.getPayoutTx().getHashAsString().equals(txId); - - boolean isDisputedPayoutTx = disputeManager.getDisputesAsObservableList().stream() - .filter(dispute -> txId.equals(dispute.getDisputePayoutTxId()) && - tradable.getId().equals(dispute.getTradeId())) - .findAny() - .isPresent(); - - return isTakeOfferFeeTx || isOfferFeeTx || isDepositTx || isPayoutTx || isDisputedPayoutTx; - } else - return false; - }) - .findAny(); - // if (tradableOptional.isPresent()) - transactionsListItems.add(new TransactionsListItem(transaction, walletService, tradableOptional, formatter)); - }*/ - List transactionsListItems = transactions.stream() .map(transaction -> { Optional tradableOptional = all.stream() @@ -258,12 +226,6 @@ public class TransactionsView extends ActivatableView { }) .collect(Collectors.toList()); - /* List usedSavingWalletEntries = walletService.getUsedSavingWalletTransactions() - .stream() - .map(transaction -> new TransactionsListItem(transaction, walletService, Optional.empty(), formatter)) - .collect(Collectors.toList()); - transactionsListItems.addAll(usedSavingWalletEntries);*/ - // are sorted by getRecentTransactions observableList.forEach(TransactionsListItem::cleanup); observableList.setAll(transactionsListItems); @@ -377,7 +339,7 @@ public class TransactionsView extends ActivatableView { if (item != null && !empty) { String addressString = item.getAddressString(); field = new AddressWithIconAndDirection(item.getDirection(), addressString, - AwesomeIcon.EXTERNAL_LINK, item.getReceived(), item.isInternal()); + AwesomeIcon.EXTERNAL_LINK, item.getReceived()); field.setOnAction(event -> openBlockExplorer(item)); field.setTooltip(new Tooltip("Open external blockchain explorer for " + "address: " + addressString)); diff --git a/gui/src/main/java/io/bitsquare/gui/main/funds/withdrawal/WithdrawalListItem.java b/gui/src/main/java/io/bitsquare/gui/main/funds/withdrawal/WithdrawalListItem.java index d5193b2ea2..cc0adaf8a5 100644 --- a/gui/src/main/java/io/bitsquare/gui/main/funds/withdrawal/WithdrawalListItem.java +++ b/gui/src/main/java/io/bitsquare/gui/main/funds/withdrawal/WithdrawalListItem.java @@ -21,10 +21,6 @@ import io.bitsquare.btc.AddressEntry; import io.bitsquare.btc.WalletService; import io.bitsquare.btc.listeners.BalanceListener; import io.bitsquare.gui.util.BSFormatter; -import io.bitsquare.trade.TradeManager; -import io.bitsquare.trade.closed.ClosedTradableManager; -import io.bitsquare.trade.failed.FailedTradesManager; -import io.bitsquare.trade.offer.OpenOfferManager; import javafx.scene.control.Label; import org.bitcoinj.core.Address; import org.bitcoinj.core.Coin; @@ -35,25 +31,14 @@ public class WithdrawalListItem { private final Label balanceLabel; private final AddressEntry addressEntry; private final WalletService walletService; - private final OpenOfferManager openOfferManager; - private final TradeManager tradeManager; - private final ClosedTradableManager closedTradableManager; - private final FailedTradesManager failedTradesManager; private final BSFormatter formatter; private Coin balance; private final String addressString; public WithdrawalListItem(AddressEntry addressEntry, WalletService walletService, - OpenOfferManager openOfferManager, TradeManager tradeManager, - ClosedTradableManager closedTradableManager, - FailedTradesManager failedTradesManager, BSFormatter formatter) { this.addressEntry = addressEntry; this.walletService = walletService; - this.openOfferManager = openOfferManager; - this.tradeManager = tradeManager; - this.closedTradableManager = closedTradableManager; - this.failedTradesManager = failedTradesManager; this.formatter = formatter; addressString = addressEntry.getAddressString(); @@ -99,7 +84,6 @@ public class WithdrawalListItem { WithdrawalListItem that = (WithdrawalListItem) o; return !(addressEntry != null ? !addressEntry.equals(that.addressEntry) : that.addressEntry != null); - } @Override diff --git a/gui/src/main/java/io/bitsquare/gui/main/funds/withdrawal/WithdrawalView.java b/gui/src/main/java/io/bitsquare/gui/main/funds/withdrawal/WithdrawalView.java index 2e874dc575..77d9e99026 100644 --- a/gui/src/main/java/io/bitsquare/gui/main/funds/withdrawal/WithdrawalView.java +++ b/gui/src/main/java/io/bitsquare/gui/main/funds/withdrawal/WithdrawalView.java @@ -30,18 +30,14 @@ import io.bitsquare.gui.common.view.ActivatableView; import io.bitsquare.gui.common.view.FxmlView; import io.bitsquare.gui.components.HyperlinkWithIcon; import io.bitsquare.gui.main.overlays.popups.Popup; -import io.bitsquare.gui.main.overlays.windows.OfferDetailsWindow; -import io.bitsquare.gui.main.overlays.windows.TradeDetailsWindow; import io.bitsquare.gui.main.overlays.windows.WalletPasswordWindow; import io.bitsquare.gui.util.BSFormatter; import io.bitsquare.gui.util.validation.BtcAddressValidator; import io.bitsquare.trade.Tradable; -import io.bitsquare.trade.TradableHelper; import io.bitsquare.trade.Trade; import io.bitsquare.trade.TradeManager; import io.bitsquare.trade.closed.ClosedTradableManager; import io.bitsquare.trade.failed.FailedTradesManager; -import io.bitsquare.trade.offer.OpenOfferManager; import io.bitsquare.user.Preferences; import javafx.beans.binding.Bindings; import javafx.beans.property.ReadOnlyObjectWrapper; @@ -80,13 +76,10 @@ public class WithdrawalView extends ActivatableView { private final TradeManager tradeManager; private final ClosedTradableManager closedTradableManager; private final FailedTradesManager failedTradesManager; - private final OpenOfferManager openOfferManager; private final BSFormatter formatter; private final Preferences preferences; private final BtcAddressValidator btcAddressValidator; private final WalletPasswordWindow walletPasswordWindow; - private final OfferDetailsWindow offerDetailsWindow; - private final TradeDetailsWindow tradeDetailsWindow; private final ObservableList observableList = FXCollections.observableArrayList(); private final SortedList sortedList = new SortedList<>(observableList); private Set selectedItems = new HashSet<>(); @@ -101,21 +94,17 @@ public class WithdrawalView extends ActivatableView { @Inject private WithdrawalView(WalletService walletService, TradeManager tradeManager, ClosedTradableManager closedTradableManager, - FailedTradesManager failedTradesManager, OpenOfferManager openOfferManager, + FailedTradesManager failedTradesManager, BSFormatter formatter, Preferences preferences, - BtcAddressValidator btcAddressValidator, WalletPasswordWindow walletPasswordWindow, - OfferDetailsWindow offerDetailsWindow, TradeDetailsWindow tradeDetailsWindow) { + BtcAddressValidator btcAddressValidator, WalletPasswordWindow walletPasswordWindow) { this.walletService = walletService; this.tradeManager = tradeManager; this.closedTradableManager = closedTradableManager; this.failedTradesManager = failedTradesManager; - this.openOfferManager = openOfferManager; this.formatter = formatter; this.preferences = preferences; this.btcAddressValidator = btcAddressValidator; this.walletPasswordWindow = walletPasswordWindow; - this.offerDetailsWindow = offerDetailsWindow; - this.tradeDetailsWindow = tradeDetailsWindow; } @Override @@ -285,9 +274,8 @@ public class WithdrawalView extends ActivatableView { private void updateList() { observableList.forEach(WithdrawalListItem::cleanup); - observableList.setAll(TradableHelper.getAddressEntriesForAvailableBalanceStream(walletService) - .map(addressEntry -> new WithdrawalListItem(addressEntry, walletService, openOfferManager, tradeManager, - closedTradableManager, failedTradesManager, formatter)) + observableList.setAll(tradeManager.getAddressEntriesForAvailableBalanceStream() + .map(addressEntry -> new WithdrawalListItem(addressEntry, walletService, formatter)) .collect(Collectors.toList())); }