From d88c0bc2e680f2ee63199cb30a07c64ae4541704 Mon Sep 17 00:00:00 2001 From: Manfred Karrer Date: Mon, 18 Jan 2016 23:32:59 +0100 Subject: [PATCH] Add null check for storage --- .../main/java/io/bitsquare/trade/Trade.java | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/core/src/main/java/io/bitsquare/trade/Trade.java b/core/src/main/java/io/bitsquare/trade/Trade.java index 420fbbc67e..6911a7a19c 100644 --- a/core/src/main/java/io/bitsquare/trade/Trade.java +++ b/core/src/main/java/io/bitsquare/trade/Trade.java @@ -141,6 +141,7 @@ abstract public class Trade implements Tradable, Model, Serializable { transient private ObjectProperty disputeStateProperty; transient private ObjectProperty tradePeriodStateProperty; // Trades are saved in the TradeList + @Nullable transient private Storage storage; transient protected TradeProtocol tradeProtocol; @@ -271,7 +272,7 @@ abstract public class Trade implements Tradable, Model, Serializable { log.debug("setDepositTx " + tx); this.depositTx = tx; setupConfidenceListener(); - storage.queueUpForSave(); + persist(); } @Nullable @@ -300,13 +301,14 @@ abstract public class Trade implements Tradable, Model, Serializable { public void setState(State state) { this.state = state; processStateProperty.set(state); - storage.queueUpForSave(); + persist(); + persist(); } public void setDisputeState(DisputeState disputeState) { this.disputeState = disputeState; disputeStateProperty.set(disputeState); - storage.queueUpForSave(); + persist(); } public DisputeState getDisputeState() { @@ -316,7 +318,7 @@ abstract public class Trade implements Tradable, Model, Serializable { public void setTradePeriodState(TradePeriodState tradePeriodState) { this.tradePeriodState = tradePeriodState; tradePeriodStateProperty.set(tradePeriodState); - storage.queueUpForSave(); + persist(); } public TradePeriodState getTradePeriodState() { @@ -339,12 +341,13 @@ abstract public class Trade implements Tradable, Model, Serializable { // Get called from taskRunner after each completed task @Override public void persist() { - storage.queueUpForSave(); + if (storage != null) + storage.queueUpForSave(); } @Override public void onComplete() { - storage.queueUpForSave(); + persist(); } @@ -534,7 +537,7 @@ abstract public class Trade implements Tradable, Model, Serializable { public void setHalfTradePeriodReachedWarningDisplayed(boolean halfTradePeriodReachedWarningDisplayed) { this.halfTradePeriodReachedWarningDisplayed = halfTradePeriodReachedWarningDisplayed; - storage.queueUpForSave(); + persist(); } public boolean isHalfTradePeriodReachedWarningDisplayed() { @@ -543,7 +546,7 @@ abstract public class Trade implements Tradable, Model, Serializable { public void setTradePeriodOverWarningDisplayed(boolean tradePeriodOverWarningDisplayed) { this.tradePeriodOverWarningDisplayed = tradePeriodOverWarningDisplayed; - storage.queueUpForSave(); + persist(); } public boolean isTradePeriodOverWarningDisplayed() {