diff --git a/core/src/main/java/io/bitsquare/gui/main/portfolio/pending/PendingTradesDataModel.java b/core/src/main/java/io/bitsquare/gui/main/portfolio/pending/PendingTradesDataModel.java index 1dbcfccc2e..f253e5331a 100644 --- a/core/src/main/java/io/bitsquare/gui/main/portfolio/pending/PendingTradesDataModel.java +++ b/core/src/main/java/io/bitsquare/gui/main/portfolio/pending/PendingTradesDataModel.java @@ -127,11 +127,11 @@ class PendingTradesDataModel implements Activatable, DataModel { } void fiatPaymentStarted() { - tradeManager.onFiatPaymentStarted(getTrade()); + ((OffererTrade) getTrade()).onFiatPaymentStarted(); } void fiatPaymentReceived() { - tradeManager.onFiatPaymentReceived(getTrade()); + ((TakerTrade) getTrade()).onFiatPaymentReceived(); } void withdraw(String toAddress) { diff --git a/core/src/main/java/io/bitsquare/gui/main/trade/takeoffer/TakeOfferView.java b/core/src/main/java/io/bitsquare/gui/main/trade/takeoffer/TakeOfferView.java index 029b98fac0..0da396f7f8 100644 --- a/core/src/main/java/io/bitsquare/gui/main/trade/takeoffer/TakeOfferView.java +++ b/core/src/main/java/io/bitsquare/gui/main/trade/takeoffer/TakeOfferView.java @@ -143,7 +143,7 @@ public class TakeOfferView extends ActivatableViewAndModel processStateProperty = new SimpleObjectProperty<>(processState); - transient private ObjectProperty lifeCycleStateProperty = new SimpleObjectProperty<>(lifeCycleState); + transient private ObjectProperty processStateProperty = new SimpleObjectProperty<>(); + transient private ObjectProperty lifeCycleStateProperty = new SimpleObjectProperty<>(); /////////////////////////////////////////////////////////////////////////////////////////// diff --git a/core/src/main/java/io/bitsquare/trade/TakerTrade.java b/core/src/main/java/io/bitsquare/trade/TakerTrade.java index 6158c5d426..612784ec1c 100644 --- a/core/src/main/java/io/bitsquare/trade/TakerTrade.java +++ b/core/src/main/java/io/bitsquare/trade/TakerTrade.java @@ -79,8 +79,8 @@ public class TakerTrade extends Trade implements Serializable { private TakerProcessState processState; private TakerLifeCycleState lifeCycleState; - transient private ObjectProperty processStateProperty = new SimpleObjectProperty<>(processState); - transient private ObjectProperty lifeCycleStateProperty = new SimpleObjectProperty<>(lifeCycleState); + transient private ObjectProperty processStateProperty = new SimpleObjectProperty<>(); + transient private ObjectProperty lifeCycleStateProperty = new SimpleObjectProperty<>(); /////////////////////////////////////////////////////////////////////////////////////////// @@ -89,6 +89,7 @@ public class TakerTrade extends Trade implements Serializable { public TakerTrade(Offer offer, Coin tradeAmount, Peer peer) { super(offer); + this.tradeAmount = tradeAmount; this.tradingPeer = peer; diff --git a/core/src/main/java/io/bitsquare/trade/Trade.java b/core/src/main/java/io/bitsquare/trade/Trade.java index 35227c30a1..8326a0e3f6 100644 --- a/core/src/main/java/io/bitsquare/trade/Trade.java +++ b/core/src/main/java/io/bitsquare/trade/Trade.java @@ -38,6 +38,10 @@ import javafx.beans.property.SimpleObjectProperty; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +/** + * Holds all data which are relevant to the trade, but not those which are only needed in the trade process as shared data between tasks. Those data are + * stored in the task model. + */ abstract public class Trade implements Serializable { // That object is saved to disc. We need to take care of changes to not break deserialization. private static final long serialVersionUID = 1L; @@ -128,10 +132,6 @@ abstract public class Trade implements Serializable { this.offererContractSignature = offererContractSignature; } - public Contract getContract() { - return contract; - } - public void setContractAsJson(String contractAsJson) { this.contractAsJson = contractAsJson; } @@ -173,6 +173,10 @@ abstract public class Trade implements Serializable { return payoutTx; } + public Contract getContract() { + return contract; + } + public Coin getSecurityDeposit() { return offer.getSecurityDeposit(); } @@ -193,14 +197,6 @@ abstract public class Trade implements Serializable { return date; } - public ReadOnlyObjectProperty tradeAmountProperty() { - return tradeAmountProperty; - } - - public ReadOnlyObjectProperty tradeVolumeProperty() { - return tradeVolumeProperty; - } - public String getErrorMessage() { return errorMessage; } @@ -209,6 +205,14 @@ abstract public class Trade implements Serializable { return throwable; } + public ReadOnlyObjectProperty tradeAmountProperty() { + return tradeAmountProperty; + } + + public ReadOnlyObjectProperty tradeVolumeProperty() { + return tradeVolumeProperty; + } + public abstract ReadOnlyObjectProperty processStateProperty(); public abstract ReadOnlyObjectProperty lifeCycleStateProperty(); @@ -219,7 +223,6 @@ abstract public class Trade implements Serializable { public abstract Peer getTradingPeer(); - protected abstract void setConfidenceListener(); @Override public String toString() { @@ -237,4 +240,12 @@ abstract public class Trade implements Serializable { ", depthInBlocks=" + depthInBlocks + '}'; } + + /////////////////////////////////////////////////////////////////////////////////////////// + // Protected + /////////////////////////////////////////////////////////////////////////////////////////// + + protected abstract void setConfidenceListener(); + + } diff --git a/core/src/main/java/io/bitsquare/trade/TradeManager.java b/core/src/main/java/io/bitsquare/trade/TradeManager.java index 622a946211..69e1fdf925 100644 --- a/core/src/main/java/io/bitsquare/trade/TradeManager.java +++ b/core/src/main/java/io/bitsquare/trade/TradeManager.java @@ -291,14 +291,6 @@ public class TradeManager { // Trade /////////////////////////////////////////////////////////////////////////////////////////// - public void onFiatPaymentStarted(Trade trade) { - ((OffererTrade) trade).onFiatPaymentStarted(); - } - - public void onFiatPaymentReceived(Trade trade) { - ((TakerTrade) trade).onFiatPaymentReceived(); - } - public void requestWithdraw(String toAddress, Trade trade, ResultHandler resultHandler, FaultHandler faultHandler) { AddressEntry addressEntry = walletService.getAddressEntry(trade.getId()); String fromAddress = addressEntry.getAddressString(); diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/models/TakerAsSellerModel.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/models/TakerAsSellerModel.java index c3e8e0525d..a5e721c798 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/models/TakerAsSellerModel.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/models/TakerAsSellerModel.java @@ -36,6 +36,9 @@ import java.io.Serializable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +/** + * Holds all data which are needed between tasks. All relevant data for the trade itself are stored in Trade. + */ public class TakerAsSellerModel extends SharedTradeModel implements Serializable { // That object is saved to disc. We need to take care of changes to not break deserialization. private static final long serialVersionUID = 1L;