From b531c3a0c22b33353ae620cc89617e2f049a7504 Mon Sep 17 00:00:00 2001 From: Manfred Karrer Date: Fri, 20 Mar 2015 17:36:07 +0100 Subject: [PATCH] Remove updateStateOnFault method --- .../io/bitsquare/common/taskrunner/Task.java | 4 -- .../java/io/bitsquare/trade/TradeManager.java | 6 ++- .../tasks/AddOfferToRemoteOfferBook.java | 5 --- .../tasks/BroadcastCreateOfferFeeTx.java | 6 ++- .../placeoffer/tasks/CreateOfferFeeTx.java | 5 --- .../placeoffer/tasks/ValidateOffer.java | 5 --- .../offerer/models/BuyerAsOffererModel.java | 4 ++ .../offerer/tasks/CreateAndSignPayoutTx.java | 4 -- .../tasks/CreateOffererDepositTxInputs.java | 4 -- .../ProcessPayoutTxPublishedMessage.java | 4 -- .../ProcessRequestDepositTxInputsMessage.java | 5 --- ...RequestOffererPublishDepositTxMessage.java | 4 -- .../offerer/tasks/RequestDepositPayment.java | 4 -- .../tasks/SendBankTransferStartedMessage.java | 42 +++++++++---------- .../offerer/tasks/SendDepositTxIdToTaker.java | 4 -- ...etupListenerForBlockChainConfirmation.java | 4 -- .../tasks/SignAndPublishDepositTx.java | 4 -- .../offerer/tasks/VerifyAndSignContract.java | 4 -- .../tasks/VerifyTakeOfferFeePayment.java | 4 -- .../offerer/tasks/VerifyTakerAccount.java | 4 -- .../taker/tasks/VerifyOfferFeePayment.java | 4 -- 21 files changed, 35 insertions(+), 95 deletions(-) diff --git a/core/src/main/java/io/bitsquare/common/taskrunner/Task.java b/core/src/main/java/io/bitsquare/common/taskrunner/Task.java index 64d72b5de1..2f7e75f3ed 100644 --- a/core/src/main/java/io/bitsquare/common/taskrunner/Task.java +++ b/core/src/main/java/io/bitsquare/common/taskrunner/Task.java @@ -51,9 +51,6 @@ public abstract class Task { abstract protected void doRun() throws WalletException, TransactionVerificationException, SigningException; - protected void updateStateOnFault() { - } - private void interceptBeforeRun() { if (getClass() == taskToInterceptBeforeRun) throw new InterceptTaskException("Task intercepted before run got executed. Task = " + getClass().getSimpleName()); @@ -96,7 +93,6 @@ public abstract class Task { } protected void failed() { - updateStateOnFault(); taskHandler.handleErrorMessage(errorMessage); } diff --git a/core/src/main/java/io/bitsquare/trade/TradeManager.java b/core/src/main/java/io/bitsquare/trade/TradeManager.java index 796601209e..3853226b55 100644 --- a/core/src/main/java/io/bitsquare/trade/TradeManager.java +++ b/core/src/main/java/io/bitsquare/trade/TradeManager.java @@ -27,6 +27,7 @@ import io.bitsquare.offer.Direction; import io.bitsquare.offer.Offer; import io.bitsquare.offer.OfferBookService; import io.bitsquare.p2p.AddressService; +import io.bitsquare.p2p.MailboxService; import io.bitsquare.p2p.Message; import io.bitsquare.p2p.MessageService; import io.bitsquare.p2p.Peer; @@ -72,6 +73,7 @@ public class TradeManager { private final AccountSettings accountSettings; private final Persistence persistence; private final MessageService messageService; + private MailboxService mailboxService; private final AddressService addressService; private final BlockChainService blockChainService; private final WalletService walletService; @@ -95,13 +97,14 @@ public class TradeManager { @Inject public TradeManager(User user, AccountSettings accountSettings, Persistence persistence, - MessageService messageService, AddressService addressService, BlockChainService blockChainService, + MessageService messageService, MailboxService mailboxService, AddressService addressService, BlockChainService blockChainService, WalletService walletService, SignatureService signatureService, OfferBookService offerBookService) { this.user = user; this.accountSettings = accountSettings; this.persistence = persistence; this.messageService = messageService; + this.mailboxService = mailboxService; this.addressService = addressService; this.blockChainService = blockChainService; this.walletService = walletService; @@ -428,6 +431,7 @@ public class TradeManager { BuyerAsOffererModel model = new BuyerAsOffererModel( trade, messageService, + mailboxService, walletService, blockChainService, signatureService, diff --git a/core/src/main/java/io/bitsquare/trade/protocol/placeoffer/tasks/AddOfferToRemoteOfferBook.java b/core/src/main/java/io/bitsquare/trade/protocol/placeoffer/tasks/AddOfferToRemoteOfferBook.java index 14204d550d..68a0a28cc0 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/placeoffer/tasks/AddOfferToRemoteOfferBook.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/placeoffer/tasks/AddOfferToRemoteOfferBook.java @@ -42,9 +42,4 @@ public class AddOfferToRemoteOfferBook extends Task { failed(throwable); }); } - - @Override - protected void updateStateOnFault() { - // do nothing - } } diff --git a/core/src/main/java/io/bitsquare/trade/protocol/placeoffer/tasks/BroadcastCreateOfferFeeTx.java b/core/src/main/java/io/bitsquare/trade/protocol/placeoffer/tasks/BroadcastCreateOfferFeeTx.java index edf8d92dcb..5ca17cf7bb 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/placeoffer/tasks/BroadcastCreateOfferFeeTx.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/placeoffer/tasks/BroadcastCreateOfferFeeTx.java @@ -79,12 +79,14 @@ public class BroadcastCreateOfferFeeTx extends Task { log.error("addOffer failed"); addOfferFailed = true; failed(throwable); + updateStateOnFault(); }); }, (message, throwable) -> { log.error("removeOffer failed"); removeOfferFailed = true; failed(throwable); + updateStateOnFault(); }); } } @@ -92,15 +94,17 @@ public class BroadcastCreateOfferFeeTx extends Task { @Override public void onFailure(@NotNull Throwable t) { failed(t); + updateStateOnFault(); } }); } else { failed("Not enough balance for placing the offer."); + updateStateOnFault(); } } - protected void updateStateOnFault() { + private void updateStateOnFault() { if (!removeOfferFailed && !addOfferFailed) { // If broadcast fails we need to remove offer from offerbook model.offerBookService.removeOffer(model.offer, diff --git a/core/src/main/java/io/bitsquare/trade/protocol/placeoffer/tasks/CreateOfferFeeTx.java b/core/src/main/java/io/bitsquare/trade/protocol/placeoffer/tasks/CreateOfferFeeTx.java index e2a2b0907b..f5c9475f25 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/placeoffer/tasks/CreateOfferFeeTx.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/placeoffer/tasks/CreateOfferFeeTx.java @@ -48,9 +48,4 @@ public class CreateOfferFeeTx extends Task { failed(t); } } - - @Override - protected void updateStateOnFault() { - // do nothing - } } diff --git a/core/src/main/java/io/bitsquare/trade/protocol/placeoffer/tasks/ValidateOffer.java b/core/src/main/java/io/bitsquare/trade/protocol/placeoffer/tasks/ValidateOffer.java index 836b3276bd..4e0e306b01 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/placeoffer/tasks/ValidateOffer.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/placeoffer/tasks/ValidateOffer.java @@ -41,9 +41,4 @@ public class ValidateOffer extends Task { failed(e); } } - - @Override - protected void updateStateOnFault() { - // do nothing - } } diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/models/BuyerAsOffererModel.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/models/BuyerAsOffererModel.java index bb7e53e579..ce6ec6d579 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/models/BuyerAsOffererModel.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/models/BuyerAsOffererModel.java @@ -20,6 +20,7 @@ package io.bitsquare.trade.protocol.trade.offerer.models; import io.bitsquare.btc.BlockChainService; import io.bitsquare.btc.WalletService; import io.bitsquare.crypto.SignatureService; +import io.bitsquare.p2p.MailboxService; import io.bitsquare.p2p.MessageService; import io.bitsquare.persistence.Persistence; import io.bitsquare.trade.Trade; @@ -36,6 +37,7 @@ public class BuyerAsOffererModel extends SharedTradeModel implements Serializabl private static final Logger log = LoggerFactory.getLogger(BuyerAsOffererModel.class); transient public final Trade trade; + public final MailboxService mailboxService; public final TakerModel taker; public final OffererModel offerer; @@ -44,6 +46,7 @@ public class BuyerAsOffererModel extends SharedTradeModel implements Serializabl public BuyerAsOffererModel(Trade trade, MessageService messageService, + MailboxService mailboxService, WalletService walletService, BlockChainService blockChainService, SignatureService signatureService, @@ -57,6 +60,7 @@ public class BuyerAsOffererModel extends SharedTradeModel implements Serializabl persistence); this.trade = trade; + this.mailboxService = mailboxService; Serializable serializable = persistence.read(this, "BuyerAsOffererModel_" + id); if (serializable instanceof BuyerAsOffererModel) { diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/CreateAndSignPayoutTx.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/CreateAndSignPayoutTx.java index 383b2b8818..5f91c54eb8 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/CreateAndSignPayoutTx.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/CreateAndSignPayoutTx.java @@ -61,9 +61,5 @@ public class CreateAndSignPayoutTx extends Task { failed(e); } } - - @Override - protected void updateStateOnFault() { - } } diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/CreateOffererDepositTxInputs.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/CreateOffererDepositTxInputs.java index 24c3b83fab..5df3aff6e8 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/CreateOffererDepositTxInputs.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/CreateOffererDepositTxInputs.java @@ -50,8 +50,4 @@ public class CreateOffererDepositTxInputs extends Task { failed(e); } } - - @Override - protected void updateStateOnFault() { - } } diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/ProcessPayoutTxPublishedMessage.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/ProcessPayoutTxPublishedMessage.java index d12051c444..5eba262405 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/ProcessPayoutTxPublishedMessage.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/ProcessPayoutTxPublishedMessage.java @@ -50,8 +50,4 @@ public class ProcessPayoutTxPublishedMessage extends Task { failed(t); } } - - @Override - protected void updateStateOnFault() { - } } \ No newline at end of file diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/ProcessRequestDepositTxInputsMessage.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/ProcessRequestDepositTxInputsMessage.java index 998a3fa6bb..5886911d48 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/ProcessRequestDepositTxInputsMessage.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/ProcessRequestDepositTxInputsMessage.java @@ -52,9 +52,4 @@ public class ProcessRequestDepositTxInputsMessage extends Task { } }); } - - @Override - protected void updateStateOnFault() { - } } diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/SendBankTransferStartedMessage.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/SendBankTransferStartedMessage.java index 61e985f57b..2ea621d59e 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/SendBankTransferStartedMessage.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/SendBankTransferStartedMessage.java @@ -35,27 +35,27 @@ public class SendBankTransferStartedMessage extends Task { @Override protected void doRun() { - BankTransferStartedMessage tradeMessage = new BankTransferStartedMessage( - model.id, - model.offerer.payoutTxSignature, - model.offerer.payoutAmount, - model.taker.payoutAmount, - model.offerer.addressEntry.getAddressString()); - model.messageService.sendMessage(model.taker.peer, tradeMessage, new SendMessageListener() { - @Override - public void handleResult() { - log.trace("Sending BankTransferInitedMessage succeeded."); - complete(); - } + try { + BankTransferStartedMessage tradeMessage = new BankTransferStartedMessage( + model.id, + model.offerer.payoutTxSignature, + model.offerer.payoutAmount, + model.taker.payoutAmount, + model.offerer.addressEntry.getAddressString()); + model.messageService.sendMessage(model.taker.peer, tradeMessage, new SendMessageListener() { + @Override + public void handleResult() { + log.trace("Sending BankTransferInitedMessage succeeded."); + complete(); + } - @Override - public void handleFault() { - failed("Sending BankTransferInitedMessage failed."); - } - }); - } - - @Override - protected void updateStateOnFault() { + @Override + public void handleFault() { + failed("Sending BankTransferInitedMessage failed."); + } + }); + } catch (Throwable t) { + failed("Sending BankTransferInitedMessage failed."); + } } } diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/SendDepositTxIdToTaker.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/SendDepositTxIdToTaker.java index 7567a39210..d2a7a45bfe 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/SendDepositTxIdToTaker.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/SendDepositTxIdToTaker.java @@ -50,8 +50,4 @@ public class SendDepositTxIdToTaker extends Task { } }); } - - @Override - protected void updateStateOnFault() { - } } diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/SetupListenerForBlockChainConfirmation.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/SetupListenerForBlockChainConfirmation.java index 6e31bb3140..e8a1c4bb8e 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/SetupListenerForBlockChainConfirmation.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/SetupListenerForBlockChainConfirmation.java @@ -64,8 +64,4 @@ public class SetupListenerForBlockChainConfirmation extends Task { failed(e); } } - - @Override - protected void updateStateOnFault() { - } } diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/VerifyAndSignContract.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/VerifyAndSignContract.java index ca14e9d92b..3fcde9d491 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/VerifyAndSignContract.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/VerifyAndSignContract.java @@ -58,8 +58,4 @@ public class VerifyAndSignContract extends Task { complete(); } - - @Override - protected void updateStateOnFault() { - } } diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/VerifyTakeOfferFeePayment.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/VerifyTakeOfferFeePayment.java index 8afb971e48..1336df315c 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/VerifyTakeOfferFeePayment.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/VerifyTakeOfferFeePayment.java @@ -41,8 +41,4 @@ public class VerifyTakeOfferFeePayment extends Task { complete(); } - - @Override - protected void updateStateOnFault() { - } } diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/VerifyTakerAccount.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/VerifyTakerAccount.java index 78b87cf4d0..fed00dc18d 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/VerifyTakerAccount.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/offerer/tasks/VerifyTakerAccount.java @@ -47,8 +47,4 @@ public class VerifyTakerAccount extends Task { failed("Account registration validation for peer failed."); } } - - @Override - protected void updateStateOnFault() { - } } diff --git a/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/tasks/VerifyOfferFeePayment.java b/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/tasks/VerifyOfferFeePayment.java index d289c02b1c..3740209657 100644 --- a/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/tasks/VerifyOfferFeePayment.java +++ b/core/src/main/java/io/bitsquare/trade/protocol/trade/taker/tasks/VerifyOfferFeePayment.java @@ -40,8 +40,4 @@ public class VerifyOfferFeePayment extends Task { }*/ complete(); } - - @Override - protected void updateStateOnFault() { - } }