From 08affae63afa8dc83737597a14fcde96151dd55f Mon Sep 17 00:00:00 2001 From: Manfred Karrer Date: Sat, 8 Apr 2017 12:17:22 -0500 Subject: [PATCH] Use getter/setter instead of public fields in PlaceOfferModel --- .../offer/placeoffer/PlaceOfferModel.java | 38 ++++++++----------- .../offer/placeoffer/PlaceOfferProtocol.java | 8 ++-- .../tasks/AddOfferToRemoteOfferBook.java | 8 ++-- .../placeoffer/tasks/BroadcastMakerFeeTx.java | 20 +++++----- .../placeoffer/tasks/CreateMakerFeeTx.java | 29 +++++++------- .../offer/placeoffer/tasks/ValidateOffer.java | 2 +- 6 files changed, 50 insertions(+), 55 deletions(-) diff --git a/core/src/main/java/io/bisq/core/offer/placeoffer/PlaceOfferModel.java b/core/src/main/java/io/bisq/core/offer/placeoffer/PlaceOfferModel.java index 4dad4bc676..05a5d7ff96 100644 --- a/core/src/main/java/io/bisq/core/offer/placeoffer/PlaceOfferModel.java +++ b/core/src/main/java/io/bisq/core/offer/placeoffer/PlaceOfferModel.java @@ -24,23 +24,27 @@ import io.bisq.core.btc.wallet.TradeWalletService; import io.bisq.core.offer.Offer; import io.bisq.core.offer.OfferBookService; import io.bisq.core.user.User; +import lombok.Getter; +import lombok.Setter; +import lombok.extern.slf4j.Slf4j; import org.bitcoinj.core.Coin; import org.bitcoinj.core.Transaction; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +@Slf4j +@Getter public class PlaceOfferModel implements Model { - private static final Logger log = LoggerFactory.getLogger(PlaceOfferModel.class); + private final Offer offer; + private final Coin reservedFundsForOffer; + private final boolean useSavingsWallet; + private final BtcWalletService walletService; + private final TradeWalletService tradeWalletService; + private final BsqWalletService bsqWalletService; + private final OfferBookService offerBookService; + private final User user; - public final Offer offer; - public final Coin reservedFundsForOffer; - public final boolean useSavingsWallet; - public final BtcWalletService walletService; - public final TradeWalletService tradeWalletService; - public final BsqWalletService bsqWalletService; - public final OfferBookService offerBookService; - public final User user; - public boolean offerAddedToOfferBook; + @Setter + private boolean offerAddedToOfferBook; + @Setter private Transaction transaction; public PlaceOfferModel(Offer offer, @@ -61,21 +65,11 @@ public class PlaceOfferModel implements Model { this.user = user; } - public void setTransaction(Transaction transaction) { - this.transaction = transaction; - } - - public Transaction getTransaction() { - return transaction; - } - @Override public void persist() { - } @Override public void onComplete() { - } } diff --git a/core/src/main/java/io/bisq/core/offer/placeoffer/PlaceOfferProtocol.java b/core/src/main/java/io/bisq/core/offer/placeoffer/PlaceOfferProtocol.java index 02436a73dd..7b7c78d555 100644 --- a/core/src/main/java/io/bisq/core/offer/placeoffer/PlaceOfferProtocol.java +++ b/core/src/main/java/io/bisq/core/offer/placeoffer/PlaceOfferProtocol.java @@ -49,7 +49,7 @@ public class PlaceOfferProtocol { /////////////////////////////////////////////////////////////////////////////////////////// public void placeOffer() { - log.debug("model.offer.id" + model.offer.getId()); + log.debug("model.offer.id" + model.getOffer().getId()); TaskRunner taskRunner = new TaskRunner<>(model, () -> { log.debug("sequence at handleRequestTakeOfferMessage completed"); @@ -58,10 +58,10 @@ public class PlaceOfferProtocol { (errorMessage) -> { log.error(errorMessage); - if (model.offerAddedToOfferBook) { - model.offerBookService.removeOffer(model.offer.getOfferPayload(), + if (model.isOfferAddedToOfferBook()) { + model.getOfferBookService().removeOffer(model.getOffer().getOfferPayload(), () -> { - model.offerAddedToOfferBook = false; + model.setOfferAddedToOfferBook(false); log.debug("OfferPayload removed from offer book."); }, log::error); diff --git a/core/src/main/java/io/bisq/core/offer/placeoffer/tasks/AddOfferToRemoteOfferBook.java b/core/src/main/java/io/bisq/core/offer/placeoffer/tasks/AddOfferToRemoteOfferBook.java index 2209df2abd..b84b61b0df 100644 --- a/core/src/main/java/io/bisq/core/offer/placeoffer/tasks/AddOfferToRemoteOfferBook.java +++ b/core/src/main/java/io/bisq/core/offer/placeoffer/tasks/AddOfferToRemoteOfferBook.java @@ -36,19 +36,19 @@ public class AddOfferToRemoteOfferBook extends Task { protected void run() { try { runInterceptHook(); - model.offerBookService.addOffer(model.offer, + model.getOfferBookService().addOffer(model.getOffer(), () -> { - model.offerAddedToOfferBook = true; + model.setOfferAddedToOfferBook(true); complete(); }, errorMessage -> { - model.offer.setErrorMessage("Could not add offer to offerbook.\n" + + model.getOffer().setErrorMessage("Could not add offer to offerbook.\n" + "Please check your network connection and try again."); failed(errorMessage); }); } catch (Throwable t) { - model.offer.setErrorMessage("An error occurred.\n" + + model.getOffer().setErrorMessage("An error occurred.\n" + "Error message:\n" + t.getMessage()); diff --git a/core/src/main/java/io/bisq/core/offer/placeoffer/tasks/BroadcastMakerFeeTx.java b/core/src/main/java/io/bisq/core/offer/placeoffer/tasks/BroadcastMakerFeeTx.java index 9bb4dcd138..3c8d754d30 100644 --- a/core/src/main/java/io/bisq/core/offer/placeoffer/tasks/BroadcastMakerFeeTx.java +++ b/core/src/main/java/io/bisq/core/offer/placeoffer/tasks/BroadcastMakerFeeTx.java @@ -42,13 +42,13 @@ public class BroadcastMakerFeeTx extends Task { protected void run() { try { runInterceptHook(); - model.tradeWalletService.broadcastTx(model.getTransaction(), new FutureCallback() { + model.getTradeWalletService().broadcastTx(model.getTransaction(), new FutureCallback() { @Override public void onSuccess(Transaction transaction) { log.debug("Broadcast of offer fee payment succeeded: transaction = " + transaction.toString()); if (model.getTransaction().getHashAsString().equals(transaction.getHashAsString())) { - model.offer.setState(Offer.State.OFFER_FEE_PAID); + model.getOffer().setState(Offer.State.OFFER_FEE_PAID); // No tx malleability happened after broadcast (still not in blockchain) complete(); } else { @@ -56,19 +56,19 @@ public class BroadcastMakerFeeTx extends Task { // Tx malleability happened after broadcast. We first remove the malleable offer. // Then we publish the changed offer to the P2P network again after setting the new TxId. // Normally we use a delay for broadcasting to the peers, but at shut down we want to get it fast out - model.offerBookService.removeOffer(model.offer.getOfferPayload(), + model.getOfferBookService().removeOffer(model.getOffer().getOfferPayload(), () -> { log.debug("We store now the changed txID to the offer and add that again."); // We store now the changed txID to the offer and add that again. - model.offer.setOfferFeePaymentTxId(transaction.getHashAsString()); + model.getOffer().setOfferFeePaymentTxId(transaction.getHashAsString()); model.setTransaction(transaction); - model.offerBookService.addOffer(model.offer, + model.getOfferBookService().addOffer(model.getOffer(), BroadcastMakerFeeTx.this::complete, errorMessage -> { log.error("addOffer failed"); addOfferFailed = true; updateStateOnFault(); - model.offer.setErrorMessage("An error occurred when adding the offer to the P2P network.\n" + + model.getOffer().setErrorMessage("An error occurred when adding the offer to the P2P network.\n" + "Error message:\n" + errorMessage); failed(errorMessage); @@ -78,7 +78,7 @@ public class BroadcastMakerFeeTx extends Task { log.error("removeOffer failed"); removeOfferFailed = true; updateStateOnFault(); - model.offer.setErrorMessage("An error occurred when removing the offer from the P2P network.\n" + + model.getOffer().setErrorMessage("An error occurred when removing the offer from the P2P network.\n" + "Error message:\n" + errorMessage); failed(errorMessage); @@ -89,14 +89,14 @@ public class BroadcastMakerFeeTx extends Task { @Override public void onFailure(@NotNull Throwable t) { updateStateOnFault(); - model.offer.setErrorMessage("An error occurred.\n" + + model.getOffer().setErrorMessage("An error occurred.\n" + "Error message:\n" + t.getMessage()); failed(t); } }); } catch (Throwable t) { - model.offer.setErrorMessage("An error occurred.\n" + + model.getOffer().setErrorMessage("An error occurred.\n" + "Error message:\n" + t.getMessage()); failed(t); @@ -106,7 +106,7 @@ public class BroadcastMakerFeeTx extends Task { private void updateStateOnFault() { if (!removeOfferFailed && !addOfferFailed) { // If broadcast fails we need to remove offer from offerbook - model.offerBookService.removeOffer(model.offer.getOfferPayload(), + model.getOfferBookService().removeOffer(model.getOffer().getOfferPayload(), () -> log.debug("OfferPayload removed from offerbook because broadcast failed."), errorMessage -> log.error("removeOffer failed. " + errorMessage)); } diff --git a/core/src/main/java/io/bisq/core/offer/placeoffer/tasks/CreateMakerFeeTx.java b/core/src/main/java/io/bisq/core/offer/placeoffer/tasks/CreateMakerFeeTx.java index b4cb93ae84..772ad73d45 100644 --- a/core/src/main/java/io/bisq/core/offer/placeoffer/tasks/CreateMakerFeeTx.java +++ b/core/src/main/java/io/bisq/core/offer/placeoffer/tasks/CreateMakerFeeTx.java @@ -50,29 +50,30 @@ public class CreateMakerFeeTx extends Task { @Override protected void run() { - Offer offer = model.offer; + Offer offer = model.getOffer(); try { runInterceptHook(); - NodeAddress selectedArbitratorNodeAddress = ArbitratorSelectionRule.select(model.user.getAcceptedArbitratorAddresses(), - model.offer); + NodeAddress selectedArbitratorNodeAddress = ArbitratorSelectionRule.select(model.getUser().getAcceptedArbitratorAddresses(), + model.getOffer()); log.debug("selectedArbitratorAddress " + selectedArbitratorNodeAddress); - Arbitrator selectedArbitrator = model.user.getAcceptedArbitratorByAddress(selectedArbitratorNodeAddress); + Arbitrator selectedArbitrator = model.getUser().getAcceptedArbitratorByAddress(selectedArbitratorNodeAddress); checkNotNull(selectedArbitrator, "selectedArbitrator must not be null at CreateOfferFeeTx"); - BtcWalletService walletService = model.walletService; + BtcWalletService walletService = model.getWalletService(); String id = offer.getId(); Address fundingAddress = walletService.getOrCreateAddressEntry(id, AddressEntry.Context.OFFER_FUNDING).getAddress(); Address reservedForTradeAddress = walletService.getOrCreateAddressEntry(id, AddressEntry.Context.RESERVED_FOR_TRADE).getAddress(); Address changeAddress = walletService.getOrCreateAddressEntry(AddressEntry.Context.AVAILABLE).getAddress(); + final TradeWalletService tradeWalletService1 = model.getTradeWalletService(); if (offer.isCurrencyForMakerFeeBtc()) { - Transaction btcTransaction = model.tradeWalletService.createBtcTradingFeeTx( + Transaction btcTransaction = tradeWalletService1.createBtcTradingFeeTx( fundingAddress, reservedForTradeAddress, changeAddress, - model.reservedFundsForOffer.subtract(offer.getMakerFee()), - model.useSavingsWallet, + model.getReservedFundsForOffer().subtract(offer.getMakerFee()), + model.isUseSavingsWallet(), offer.getMakerFee(), offer.getTxFee(), selectedArbitrator.getBtcAddress()); @@ -85,18 +86,18 @@ public class CreateMakerFeeTx extends Task { complete(); } else { - final BsqWalletService bsqWalletService = model.bsqWalletService; - final TradeWalletService tradeWalletService = model.tradeWalletService; - Transaction preparedBurnFeeTx = model.bsqWalletService.getPreparedBurnFeeTx(offer.getMakerFee()); + final BsqWalletService bsqWalletService = model.getBsqWalletService(); + final TradeWalletService tradeWalletService = tradeWalletService1; + Transaction preparedBurnFeeTx = model.getBsqWalletService().getPreparedBurnFeeTx(offer.getMakerFee()); Transaction txWithBsqFee = tradeWalletService.completeBsqTradingFeeTx(preparedBurnFeeTx, fundingAddress, reservedForTradeAddress, changeAddress, - model.reservedFundsForOffer, - model.useSavingsWallet, + model.getReservedFundsForOffer(), + model.isUseSavingsWallet(), offer.getTxFee()); - Transaction signedTx = model.bsqWalletService.signTx(txWithBsqFee); + Transaction signedTx = model.getBsqWalletService().signTx(txWithBsqFee); WalletService.checkAllScriptSignaturesForTx(signedTx); bsqWalletService.commitTx(txWithBsqFee); // We need to create another instance, otherwise the tx would trigger an invalid state exception diff --git a/core/src/main/java/io/bisq/core/offer/placeoffer/tasks/ValidateOffer.java b/core/src/main/java/io/bisq/core/offer/placeoffer/tasks/ValidateOffer.java index 89c8b81f3f..dc74cace26 100644 --- a/core/src/main/java/io/bisq/core/offer/placeoffer/tasks/ValidateOffer.java +++ b/core/src/main/java/io/bisq/core/offer/placeoffer/tasks/ValidateOffer.java @@ -44,7 +44,7 @@ public class ValidateOffer extends Task { @Override protected void run() { - Offer offer = model.offer; + Offer offer = model.getOffer(); try { runInterceptHook();