Refactor handlers package. Change error handling of remove offer.

This commit is contained in:
Manfred Karrer 2015-03-08 20:37:53 +01:00
parent 9e54279dd8
commit 694bc8810d
35 changed files with 73 additions and 69 deletions

View File

@ -21,8 +21,8 @@ import io.bitsquare.offer.Direction;
import io.bitsquare.offer.Offer;
import io.bitsquare.trade.TradeManager;
import io.bitsquare.user.User;
import io.bitsquare.util.task.FaultHandler;
import io.bitsquare.util.task.ResultHandler;
import io.bitsquare.util.handlers.ErrorMessageHandler;
import io.bitsquare.util.handlers.ResultHandler;
import com.google.inject.Inject;
@ -77,8 +77,8 @@ class OffersDataModel implements Activatable, DataModel {
tradeManager.getOffers().removeListener(offerMapChangeListener);
}
void removeOffer(Offer offer, ResultHandler resultHandler, FaultHandler faultHandler) {
tradeManager.requestRemoveOffer(offer, resultHandler, faultHandler);
void removeOffer(Offer offer, ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) {
tradeManager.requestRemoveOffer(offer, resultHandler, errorMessageHandler);
}

View File

@ -50,7 +50,7 @@ class OffersViewModel extends ActivatableWithDataModel<OffersDataModel> implemen
// visual feedback?
log.debug("Remove offer was successful");
},
(message, throwable) -> {
(message) -> {
log.error(message);
Popups.openWarningPopup("Remove offer failed", message);
});

View File

@ -26,8 +26,8 @@ import io.bitsquare.offer.Offer;
import io.bitsquare.settings.Preferences;
import io.bitsquare.trade.TradeManager;
import io.bitsquare.user.User;
import io.bitsquare.util.task.FaultHandler;
import io.bitsquare.util.task.ResultHandler;
import io.bitsquare.util.handlers.ErrorMessageHandler;
import io.bitsquare.util.handlers.ResultHandler;
import org.bitcoinj.core.Coin;
import org.bitcoinj.utils.ExchangeRate;
@ -116,8 +116,8 @@ class OfferBookDataModel implements Activatable, DataModel {
btcCode.unbind();
}
void removeOffer(Offer offer, ResultHandler resultHandler, FaultHandler faultHandler) {
tradeManager.requestRemoveOffer(offer, resultHandler, faultHandler);
void removeOffer(Offer offer, ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) {
tradeManager.requestRemoveOffer(offer, resultHandler, errorMessageHandler);
}
void calculateVolume() {

View File

@ -109,7 +109,7 @@ class OfferBookViewModel extends ActivatableWithDataModel<OfferBookDataModel> im
// visual feedback?
log.debug("Remove offer was successful");
},
(message, throwable) -> {
(message) -> {
log.error(message);
Popups.openWarningPopup("Remove offer failed", message);
}

View File

@ -17,8 +17,8 @@
package io.bitsquare.offer;
import io.bitsquare.util.task.FaultHandler;
import io.bitsquare.util.task.ResultHandler;
import io.bitsquare.util.handlers.FaultHandler;
import io.bitsquare.util.handlers.ResultHandler;
import java.util.List;
import java.util.concurrent.Executor;

View File

@ -20,8 +20,8 @@ package io.bitsquare.offer.tomp2p;
import io.bitsquare.msg.tomp2p.TomP2PNode;
import io.bitsquare.offer.Offer;
import io.bitsquare.offer.RemoteOfferBook;
import io.bitsquare.util.task.FaultHandler;
import io.bitsquare.util.task.ResultHandler;
import io.bitsquare.util.handlers.FaultHandler;
import io.bitsquare.util.handlers.ResultHandler;
import java.io.IOException;

View File

@ -48,9 +48,8 @@ import io.bitsquare.trade.protocol.trade.taker.messages.RequestOffererPublishDep
import io.bitsquare.trade.protocol.trade.taker.messages.RequestTakeOfferMessage;
import io.bitsquare.trade.protocol.trade.taker.messages.TakeOfferFeePayedMessage;
import io.bitsquare.user.User;
import io.bitsquare.util.task.ErrorMessageHandler;
import io.bitsquare.util.task.FaultHandler;
import io.bitsquare.util.task.ResultHandler;
import io.bitsquare.util.handlers.ErrorMessageHandler;
import io.bitsquare.util.handlers.ResultHandler;
import org.bitcoinj.core.Coin;
import org.bitcoinj.core.Transaction;
@ -180,7 +179,7 @@ public class TradeManager {
remoteOfferBook,
(transaction) -> {
saveOffer(offer);
resultHandler.onResult(transaction);
resultHandler.handleResult(transaction);
},
(message, throwable) -> errorMessageHandler.handleErrorMessage(message)
);
@ -193,15 +192,20 @@ public class TradeManager {
persistOffers();
}
public void requestRemoveOffer(Offer offer, ResultHandler resultHandler, FaultHandler faultHandler) {
if (offers.containsKey(offer.getId()))
offers.remove(offer.getId());
else
log.error("offers does not contain the offer with the ID " + offer.getId());
persistOffers();
remoteOfferBook.removeOffer(offer, resultHandler, faultHandler);
public void requestRemoveOffer(Offer offer, ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) {
remoteOfferBook.removeOffer(offer,
() -> {
if (offers.containsKey(offer.getId())) {
offers.remove(offer.getId());
persistOffers();
resultHandler.handleResult();
}
else {
log.error("Locally stored offers does not contain the offer with the ID " + offer.getId());
errorMessageHandler.handleErrorMessage("Locally stored offers does not contain the offer with the ID " + offer.getId());
}
},
(message, throwable) -> errorMessageHandler.handleErrorMessage(message));
}
@ -258,7 +262,7 @@ public class TradeManager {
persistPendingTrades();
requestRemoveOffer(offer,
() -> log.debug("remove was successful"),
(message, throwable) -> log.error(message));
(message) -> log.error(message));
}
@Override

View File

@ -20,5 +20,5 @@ package io.bitsquare.trade.handlers;
import org.bitcoinj.core.Transaction;
public interface TransactionResultHandler {
void onResult(Transaction transaction);
void handleResult(Transaction transaction);
}

View File

@ -21,7 +21,7 @@ import io.bitsquare.btc.WalletService;
import io.bitsquare.offer.Offer;
import io.bitsquare.offer.RemoteOfferBook;
import io.bitsquare.trade.handlers.TransactionResultHandler;
import io.bitsquare.util.task.FaultHandler;
import io.bitsquare.util.handlers.FaultHandler;
import org.bitcoinj.core.InsufficientMoneyException;
import org.bitcoinj.core.Transaction;
@ -108,7 +108,7 @@ public class PlaceOfferProtocol {
Exception ex = new Exception("Broadcast of offer fee payment failed because transaction = null.");
faultHandler.handleFault("Broadcast of offer fee payment failed.", ex);
}
resultHandler1.onResult(transaction);
resultHandler1.handleResult(transaction);
}
@Override
@ -131,7 +131,7 @@ public class PlaceOfferProtocol {
remoteOfferBook.addOffer(offer,
() -> {
resultHandler.onResult(transaction);
resultHandler.handleResult(transaction);
},
(message, throwable) -> {
repeatAddOfferCallCounter++;

View File

@ -18,7 +18,7 @@
package io.bitsquare.trade.protocol.trade.offerer.tasks;
import io.bitsquare.btc.WalletService;
import io.bitsquare.util.task.ExceptionHandler;
import io.bitsquare.util.handlers.ExceptionHandler;
import org.bitcoinj.core.Coin;
import org.bitcoinj.core.InsufficientMoneyException;

View File

@ -22,7 +22,7 @@ import io.bitsquare.msg.listeners.OutgoingMessageListener;
import io.bitsquare.network.Peer;
import io.bitsquare.trade.Trade;
import io.bitsquare.trade.protocol.trade.offerer.messages.RespondToTakeOfferRequestMessage;
import io.bitsquare.util.task.ExceptionHandler;
import io.bitsquare.util.handlers.ExceptionHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

View File

@ -22,8 +22,8 @@ import io.bitsquare.msg.MessageService;
import io.bitsquare.msg.listeners.OutgoingMessageListener;
import io.bitsquare.network.Peer;
import io.bitsquare.trade.protocol.trade.offerer.messages.RequestTakerDepositPaymentMessage;
import io.bitsquare.util.task.ExceptionHandler;
import io.bitsquare.util.task.ResultHandler;
import io.bitsquare.util.handlers.ExceptionHandler;
import io.bitsquare.util.handlers.ResultHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

View File

@ -21,8 +21,8 @@ import io.bitsquare.msg.MessageService;
import io.bitsquare.msg.listeners.OutgoingMessageListener;
import io.bitsquare.network.Peer;
import io.bitsquare.trade.protocol.trade.offerer.messages.DepositTxPublishedMessage;
import io.bitsquare.util.task.ExceptionHandler;
import io.bitsquare.util.task.ResultHandler;
import io.bitsquare.util.handlers.ExceptionHandler;
import io.bitsquare.util.handlers.ResultHandler;
import org.bitcoinj.core.Transaction;
import org.bitcoinj.core.Utils;

View File

@ -22,8 +22,8 @@ import io.bitsquare.msg.MessageService;
import io.bitsquare.msg.listeners.OutgoingMessageListener;
import io.bitsquare.network.Peer;
import io.bitsquare.trade.protocol.trade.offerer.messages.BankTransferInitedMessage;
import io.bitsquare.util.task.ExceptionHandler;
import io.bitsquare.util.task.ResultHandler;
import io.bitsquare.util.handlers.ExceptionHandler;
import io.bitsquare.util.handlers.ResultHandler;
import org.bitcoinj.core.Coin;
import org.bitcoinj.core.ECKey;

View File

@ -18,7 +18,7 @@
package io.bitsquare.trade.protocol.trade.offerer.tasks;
import io.bitsquare.trade.protocol.trade.offerer.BuyerAcceptsOfferProtocolListener;
import io.bitsquare.util.task.ResultHandler;
import io.bitsquare.util.handlers.ResultHandler;
import org.bitcoinj.core.Transaction;
import org.bitcoinj.core.TransactionConfidence;

View File

@ -18,7 +18,7 @@
package io.bitsquare.trade.protocol.trade.offerer.tasks;
import io.bitsquare.btc.WalletService;
import io.bitsquare.util.task.ExceptionHandler;
import io.bitsquare.util.handlers.ExceptionHandler;
import org.bitcoinj.core.Transaction;

View File

@ -22,7 +22,7 @@ import io.bitsquare.crypto.SignatureService;
import io.bitsquare.offer.Offer;
import io.bitsquare.trade.Contract;
import io.bitsquare.util.Utilities;
import io.bitsquare.util.task.ExceptionHandler;
import io.bitsquare.util.handlers.ExceptionHandler;
import org.bitcoinj.core.Coin;
import org.bitcoinj.core.ECKey;

View File

@ -18,8 +18,8 @@
package io.bitsquare.trade.protocol.trade.offerer.tasks;
import io.bitsquare.btc.WalletService;
import io.bitsquare.util.task.ExceptionHandler;
import io.bitsquare.util.task.ResultHandler;
import io.bitsquare.util.handlers.ExceptionHandler;
import io.bitsquare.util.handlers.ResultHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

View File

@ -20,8 +20,8 @@ package io.bitsquare.trade.protocol.trade.offerer.tasks;
import io.bitsquare.bank.BankAccount;
import io.bitsquare.btc.BlockChainService;
import io.bitsquare.trade.protocol.trade.shared.tasks.VerifyPeerAccount;
import io.bitsquare.util.task.ExceptionHandler;
import io.bitsquare.util.task.ResultHandler;
import io.bitsquare.util.handlers.ExceptionHandler;
import io.bitsquare.util.handlers.ResultHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

View File

@ -19,8 +19,8 @@ package io.bitsquare.trade.protocol.trade.shared.tasks;
import io.bitsquare.bank.BankAccount;
import io.bitsquare.btc.BlockChainService;
import io.bitsquare.util.task.ExceptionHandler;
import io.bitsquare.util.task.ResultHandler;
import io.bitsquare.util.handlers.ExceptionHandler;
import io.bitsquare.util.handlers.ResultHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

View File

@ -22,7 +22,7 @@ import io.bitsquare.crypto.SignatureService;
import io.bitsquare.offer.Offer;
import io.bitsquare.trade.Contract;
import io.bitsquare.util.Utilities;
import io.bitsquare.util.task.ExceptionHandler;
import io.bitsquare.util.handlers.ExceptionHandler;
import org.bitcoinj.core.Coin;
import org.bitcoinj.core.ECKey;

View File

@ -20,7 +20,7 @@ package io.bitsquare.trade.protocol.trade.taker.tasks;
import io.bitsquare.msg.MessageService;
import io.bitsquare.msg.listeners.GetPeerAddressListener;
import io.bitsquare.network.Peer;
import io.bitsquare.util.task.ExceptionHandler;
import io.bitsquare.util.handlers.ExceptionHandler;
import java.security.PublicKey;

View File

@ -18,7 +18,7 @@
package io.bitsquare.trade.protocol.trade.taker.tasks;
import io.bitsquare.btc.WalletService;
import io.bitsquare.util.task.ExceptionHandler;
import io.bitsquare.util.handlers.ExceptionHandler;
import org.bitcoinj.core.Coin;
import org.bitcoinj.core.InsufficientMoneyException;

View File

@ -18,7 +18,7 @@
package io.bitsquare.trade.protocol.trade.taker.tasks;
import io.bitsquare.btc.WalletService;
import io.bitsquare.util.task.ExceptionHandler;
import io.bitsquare.util.handlers.ExceptionHandler;
import org.bitcoinj.core.InsufficientMoneyException;
import org.bitcoinj.core.Transaction;

View File

@ -21,8 +21,8 @@ import io.bitsquare.msg.MessageService;
import io.bitsquare.msg.listeners.OutgoingMessageListener;
import io.bitsquare.network.Peer;
import io.bitsquare.trade.protocol.trade.taker.messages.RequestTakeOfferMessage;
import io.bitsquare.util.task.ExceptionHandler;
import io.bitsquare.util.task.ResultHandler;
import io.bitsquare.util.handlers.ExceptionHandler;
import io.bitsquare.util.handlers.ResultHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

View File

@ -21,8 +21,8 @@ import io.bitsquare.msg.MessageService;
import io.bitsquare.msg.listeners.OutgoingMessageListener;
import io.bitsquare.network.Peer;
import io.bitsquare.trade.protocol.trade.taker.messages.PayoutTxPublishedMessage;
import io.bitsquare.util.task.ExceptionHandler;
import io.bitsquare.util.task.ResultHandler;
import io.bitsquare.util.handlers.ExceptionHandler;
import io.bitsquare.util.handlers.ResultHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

View File

@ -23,8 +23,8 @@ import io.bitsquare.msg.MessageService;
import io.bitsquare.msg.listeners.OutgoingMessageListener;
import io.bitsquare.network.Peer;
import io.bitsquare.trade.protocol.trade.taker.messages.RequestOffererPublishDepositTxMessage;
import io.bitsquare.util.task.ExceptionHandler;
import io.bitsquare.util.task.ResultHandler;
import io.bitsquare.util.handlers.ExceptionHandler;
import io.bitsquare.util.handlers.ResultHandler;
import org.bitcoinj.core.Transaction;
import org.bitcoinj.core.Utils;

View File

@ -21,8 +21,8 @@ import io.bitsquare.msg.MessageService;
import io.bitsquare.msg.listeners.OutgoingMessageListener;
import io.bitsquare.network.Peer;
import io.bitsquare.trade.protocol.trade.taker.messages.TakeOfferFeePayedMessage;
import io.bitsquare.util.task.ExceptionHandler;
import io.bitsquare.util.task.ResultHandler;
import io.bitsquare.util.handlers.ExceptionHandler;
import io.bitsquare.util.handlers.ResultHandler;
import org.bitcoinj.core.Coin;

View File

@ -18,7 +18,7 @@
package io.bitsquare.trade.protocol.trade.taker.tasks;
import io.bitsquare.btc.WalletService;
import io.bitsquare.util.task.ExceptionHandler;
import io.bitsquare.util.handlers.ExceptionHandler;
import org.bitcoinj.core.Coin;
import org.bitcoinj.core.Transaction;

View File

@ -20,8 +20,8 @@ package io.bitsquare.trade.protocol.trade.taker.tasks;
import io.bitsquare.bank.BankAccount;
import io.bitsquare.btc.BlockChainService;
import io.bitsquare.trade.protocol.trade.shared.tasks.VerifyPeerAccount;
import io.bitsquare.util.task.ExceptionHandler;
import io.bitsquare.util.task.ResultHandler;
import io.bitsquare.util.handlers.ExceptionHandler;
import io.bitsquare.util.handlers.ResultHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

View File

@ -15,7 +15,7 @@
* along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
*/
package io.bitsquare.util.task;
package io.bitsquare.util.handlers;
/**
* For reporting error message only (UI)

View File

@ -15,7 +15,7 @@
* along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
*/
package io.bitsquare.util.task;
package io.bitsquare.util.handlers;
/**
* For reporting throwables only

View File

@ -15,7 +15,7 @@
* along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
*/
package io.bitsquare.util.task;
package io.bitsquare.util.handlers;
/**
* For reporting a description message and throwable

View File

@ -15,7 +15,7 @@
* along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
*/
package io.bitsquare.util.task;
package io.bitsquare.util.handlers;
public interface ResultHandler {
void handleResult();

View File

@ -38,7 +38,7 @@ import io.bitsquare.persistence.Persistence;
import io.bitsquare.trade.handlers.TransactionResultHandler;
import io.bitsquare.user.User;
import io.bitsquare.util.DSAKeyUtil;
import io.bitsquare.util.task.FaultHandler;
import io.bitsquare.util.handlers.FaultHandler;
import org.bitcoinj.core.Address;
import org.bitcoinj.core.Coin;