Changed type for tasks

This commit is contained in:
Manfred Karrer 2015-04-02 16:43:23 +02:00
parent a71853140a
commit 47ff54e0d6
11 changed files with 83 additions and 56 deletions

View file

@ -17,15 +17,8 @@
package io.bitsquare.common.taskrunner; package io.bitsquare.common.taskrunner;
import org.slf4j.Logger; public interface Model {
import org.slf4j.LoggerFactory; void persist();
public class Model { void onComplete();
private static final Logger log = LoggerFactory.getLogger(Model.class);
public void persist() {
}
public void onComplete() {
}
} }

View file

@ -64,7 +64,7 @@ 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 * 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. * stored in the task model.
*/ */
abstract public class Trade extends Model implements Serializable { abstract public class Trade implements Model, Serializable {
// That object is saved to disc. We need to take care of changes to not break deserialization. // That object is saved to disc. We need to take care of changes to not break deserialization.
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;

View file

@ -27,7 +27,7 @@ import io.bitsquare.trade.protocol.trade.messages.OfferMessage;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
public class CheckOfferAvailabilityModel extends Model { public class CheckOfferAvailabilityModel implements Model {
private static final Logger log = LoggerFactory.getLogger(CheckOfferAvailabilityModel.class); private static final Logger log = LoggerFactory.getLogger(CheckOfferAvailabilityModel.class);
public final Offer offer; public final Offer offer;
@ -58,4 +58,14 @@ public class CheckOfferAvailabilityModel extends Model {
public OfferMessage getMessage() { public OfferMessage getMessage() {
return message; return message;
} }
@Override
public void persist() {
}
@Override
public void onComplete() {
}
} }

View file

@ -28,7 +28,7 @@ import org.bitcoinj.core.Transaction;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
public class PlaceOfferModel extends Model { public class PlaceOfferModel implements Model {
private static final Logger log = LoggerFactory.getLogger(PlaceOfferModel.class); private static final Logger log = LoggerFactory.getLogger(PlaceOfferModel.class);
public final Offer offer; public final Offer offer;
@ -55,4 +55,14 @@ public class PlaceOfferModel extends Model {
public Transaction getTransaction() { public Transaction getTransaction() {
return transaction; return transaction;
} }
@Override
public void persist() {
}
@Override
public void onComplete() {
}
} }

View file

@ -27,6 +27,7 @@ import org.slf4j.LoggerFactory;
public class TradeTask extends Task<Trade> { public class TradeTask extends Task<Trade> {
private static final Logger log = LoggerFactory.getLogger(TradeTask.class); private static final Logger log = LoggerFactory.getLogger(TradeTask.class);
protected final ProcessModel processModel; protected final ProcessModel processModel;
protected final Trade trade; protected final Trade trade;

View file

@ -24,6 +24,7 @@ import io.bitsquare.p2p.MessageHandler;
import io.bitsquare.p2p.Peer; import io.bitsquare.p2p.Peer;
import io.bitsquare.p2p.listener.SendMessageListener; import io.bitsquare.p2p.listener.SendMessageListener;
import io.bitsquare.trade.BuyerAsOffererTrade; import io.bitsquare.trade.BuyerAsOffererTrade;
import io.bitsquare.trade.Trade;
import io.bitsquare.trade.protocol.availability.messages.ReportOfferAvailabilityMessage; import io.bitsquare.trade.protocol.availability.messages.ReportOfferAvailabilityMessage;
import io.bitsquare.trade.protocol.availability.messages.RequestIsOfferAvailableMessage; import io.bitsquare.trade.protocol.availability.messages.RequestIsOfferAvailableMessage;
import io.bitsquare.trade.protocol.trade.TradeProtocol; import io.bitsquare.trade.protocol.trade.TradeProtocol;
@ -56,17 +57,17 @@ public class BuyerAsOffererProtocol implements TradeProtocol {
private static final Logger log = LoggerFactory.getLogger(BuyerAsOffererProtocol.class); private static final Logger log = LoggerFactory.getLogger(BuyerAsOffererProtocol.class);
private MessageHandler messageHandler; private MessageHandler messageHandler;
private final BuyerAsOffererTrade buyerAsOffererTrade; private final BuyerAsOffererTrade trade;
private final ProcessModel processModel; private final ProcessModel processModel;
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
// Constructor // Constructor
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
public BuyerAsOffererProtocol(BuyerAsOffererTrade model) { public BuyerAsOffererProtocol(BuyerAsOffererTrade trade) {
log.debug("New OffererProtocol " + this); log.debug("New OffererProtocol " + this);
this.buyerAsOffererTrade = model; this.trade = trade;
processModel = buyerAsOffererTrade.getProcessModel(); processModel = this.trade.getProcessModel();
messageHandler = this::handleMessage; messageHandler = this::handleMessage;
processModel.getMessageService().addMessageHandler(messageHandler); processModel.getMessageService().addMessageHandler(messageHandler);
@ -110,7 +111,7 @@ public class BuyerAsOffererProtocol implements TradeProtocol {
// to take the // to take the
// offer // offer
// at the same time // at the same time
boolean isOfferOpen = buyerAsOffererTrade.lifeCycleStateProperty().get() == OffererState.LifeCycleState.OFFER_OPEN; boolean isOfferOpen = trade.lifeCycleStateProperty().get() == OffererState.LifeCycleState.OFFER_OPEN;
ReportOfferAvailabilityMessage reportOfferAvailabilityMessage = new ReportOfferAvailabilityMessage(processModel.getId(), isOfferOpen); ReportOfferAvailabilityMessage reportOfferAvailabilityMessage = new ReportOfferAvailabilityMessage(processModel.getId(), isOfferOpen);
processModel.getMessageService().sendMessage(sender, reportOfferAvailabilityMessage, new SendMessageListener() { processModel.getMessageService().sendMessage(sender, reportOfferAvailabilityMessage, new SendMessageListener() {
@Override @Override
@ -135,11 +136,11 @@ public class BuyerAsOffererProtocol implements TradeProtocol {
private void handleRequestDepositTxInputsMessage(RequestDepositTxInputsMessage tradeMessage, Peer taker) { private void handleRequestDepositTxInputsMessage(RequestDepositTxInputsMessage tradeMessage, Peer taker) {
checkTradeId(processModel.getId(), tradeMessage); checkTradeId(processModel.getId(), tradeMessage);
processModel.setTradeMessage(tradeMessage); processModel.setTradeMessage(tradeMessage);
buyerAsOffererTrade.setTradingPeer(taker); trade.setTradingPeer(taker);
buyerAsOffererTrade.setLifeCycleState(OffererState.LifeCycleState.OFFER_RESERVED); trade.setLifeCycleState(OffererState.LifeCycleState.OFFER_RESERVED);
TaskRunner<BuyerAsOffererTrade> taskRunner = new TaskRunner<>(buyerAsOffererTrade, TaskRunner<Trade> taskRunner = new TaskRunner<>(trade,
() -> log.debug("taskRunner at handleRequestDepositTxInputsMessage completed"), () -> log.debug("taskRunner at handleRequestDepositTxInputsMessage completed"),
this::handleTaskRunnerFault); this::handleTaskRunnerFault);
taskRunner.addTasks( taskRunner.addTasks(
@ -153,7 +154,7 @@ public class BuyerAsOffererProtocol implements TradeProtocol {
private void handleRequestPublishDepositTxMessage(RequestPublishDepositTxMessage tradeMessage) { private void handleRequestPublishDepositTxMessage(RequestPublishDepositTxMessage tradeMessage) {
processModel.setTradeMessage(tradeMessage); processModel.setTradeMessage(tradeMessage);
TaskRunner<BuyerAsOffererTrade> taskRunner = new TaskRunner<>(buyerAsOffererTrade, TaskRunner<Trade> taskRunner = new TaskRunner<>(trade,
() -> log.debug("taskRunner at handleRequestPublishDepositTxMessage completed"), () -> log.debug("taskRunner at handleRequestPublishDepositTxMessage completed"),
this::handleTaskRunnerFault); this::handleTaskRunnerFault);
taskRunner.addTasks( taskRunner.addTasks(
@ -173,7 +174,7 @@ public class BuyerAsOffererProtocol implements TradeProtocol {
// User clicked the "bank transfer started" button // User clicked the "bank transfer started" button
public void onFiatPaymentStarted() { public void onFiatPaymentStarted() {
TaskRunner<BuyerAsOffererTrade> taskRunner = new TaskRunner<>(buyerAsOffererTrade, TaskRunner<Trade> taskRunner = new TaskRunner<>(trade,
() -> log.debug("taskRunner at handleBankTransferStartedUIEvent completed"), () -> log.debug("taskRunner at handleBankTransferStartedUIEvent completed"),
this::handleTaskRunnerFault); this::handleTaskRunnerFault);
taskRunner.addTasks( taskRunner.addTasks(
@ -192,7 +193,7 @@ public class BuyerAsOffererProtocol implements TradeProtocol {
private void handlePayoutTxPublishedMessage(PayoutTxPublishedMessage tradeMessage) { private void handlePayoutTxPublishedMessage(PayoutTxPublishedMessage tradeMessage) {
processModel.setTradeMessage(tradeMessage); processModel.setTradeMessage(tradeMessage);
TaskRunner<BuyerAsOffererTrade> taskRunner = new TaskRunner<>(buyerAsOffererTrade, TaskRunner<Trade> taskRunner = new TaskRunner<>(trade,
() -> { () -> {
log.debug("taskRunner at handlePayoutTxPublishedMessage completed"); log.debug("taskRunner at handlePayoutTxPublishedMessage completed");
// we are done! // we are done!
@ -216,7 +217,7 @@ public class BuyerAsOffererProtocol implements TradeProtocol {
TradeMessage tradeMessage = (TradeMessage) message; TradeMessage tradeMessage = (TradeMessage) message;
nonEmptyStringOf(tradeMessage.tradeId); nonEmptyStringOf(tradeMessage.tradeId);
if (tradeMessage.tradeId.equals(buyerAsOffererTrade.getId())) { if (tradeMessage.tradeId.equals(trade.getId())) {
if (tradeMessage instanceof RequestIsOfferAvailableMessage) { if (tradeMessage instanceof RequestIsOfferAvailableMessage) {
handleRequestIsOfferAvailableMessage((RequestIsOfferAvailableMessage) tradeMessage, sender); handleRequestIsOfferAvailableMessage((RequestIsOfferAvailableMessage) tradeMessage, sender);
} }

View file

@ -23,6 +23,7 @@ import io.bitsquare.p2p.Message;
import io.bitsquare.p2p.MessageHandler; import io.bitsquare.p2p.MessageHandler;
import io.bitsquare.p2p.Peer; import io.bitsquare.p2p.Peer;
import io.bitsquare.trade.BuyerAsTakerTrade; import io.bitsquare.trade.BuyerAsTakerTrade;
import io.bitsquare.trade.Trade;
import io.bitsquare.trade.protocol.trade.TradeProtocol; import io.bitsquare.trade.protocol.trade.TradeProtocol;
import io.bitsquare.trade.protocol.trade.buyer.tasks.BuyerCommitsPayoutTx; import io.bitsquare.trade.protocol.trade.buyer.tasks.BuyerCommitsPayoutTx;
import io.bitsquare.trade.protocol.trade.buyer.tasks.BuyerCreatesAndSignPayoutTx; import io.bitsquare.trade.protocol.trade.buyer.tasks.BuyerCreatesAndSignPayoutTx;
@ -51,7 +52,7 @@ import static io.bitsquare.util.Validator.nonEmptyStringOf;
public class BuyerAsTakerProtocol implements TradeProtocol { public class BuyerAsTakerProtocol implements TradeProtocol {
private static final Logger log = LoggerFactory.getLogger(BuyerAsTakerProtocol.class); private static final Logger log = LoggerFactory.getLogger(BuyerAsTakerProtocol.class);
private final BuyerAsTakerTrade buyerAsTakerTrade; private final BuyerAsTakerTrade trade;
private final ProcessModel processModel; private final ProcessModel processModel;
private final MessageHandler messageHandler; private final MessageHandler messageHandler;
@ -62,7 +63,7 @@ public class BuyerAsTakerProtocol implements TradeProtocol {
public BuyerAsTakerProtocol(BuyerAsTakerTrade trade) { public BuyerAsTakerProtocol(BuyerAsTakerTrade trade) {
log.debug("New SellerAsTakerProtocol " + this); log.debug("New SellerAsTakerProtocol " + this);
this.buyerAsTakerTrade = trade; this.trade = trade;
processModel = trade.getProcessModel(); processModel = trade.getProcessModel();
messageHandler = this::handleMessage; messageHandler = this::handleMessage;
@ -94,7 +95,7 @@ public class BuyerAsTakerProtocol implements TradeProtocol {
} }
public void takeAvailableOffer() { public void takeAvailableOffer() {
TaskRunner<BuyerAsTakerTrade> taskRunner = new TaskRunner<>(buyerAsTakerTrade, TaskRunner<Trade> taskRunner = new TaskRunner<>(trade,
() -> log.debug("taskRunner at takeAvailableOffer completed"), () -> log.debug("taskRunner at takeAvailableOffer completed"),
this::handleTaskRunnerFault); this::handleTaskRunnerFault);
@ -115,7 +116,7 @@ public class BuyerAsTakerProtocol implements TradeProtocol {
private void handle(RequestPublishDepositTxMessage tradeMessage) { private void handle(RequestPublishDepositTxMessage tradeMessage) {
processModel.setTradeMessage(tradeMessage); processModel.setTradeMessage(tradeMessage);
TaskRunner<BuyerAsTakerTrade> taskRunner = new TaskRunner<>(buyerAsTakerTrade, TaskRunner<Trade> taskRunner = new TaskRunner<>(trade,
() -> log.debug("taskRunner at handleRequestPublishDepositTxMessage completed"), () -> log.debug("taskRunner at handleRequestPublishDepositTxMessage completed"),
this::handleTaskRunnerFault); this::handleTaskRunnerFault);
taskRunner.addTasks( taskRunner.addTasks(
@ -135,7 +136,7 @@ public class BuyerAsTakerProtocol implements TradeProtocol {
// User clicked the "bank transfer started" button // User clicked the "bank transfer started" button
public void onFiatPaymentStarted() { public void onFiatPaymentStarted() {
TaskRunner<BuyerAsTakerTrade> taskRunner = new TaskRunner<>(buyerAsTakerTrade, TaskRunner<Trade> taskRunner = new TaskRunner<>(trade,
() -> log.debug("taskRunner at onFiatPaymentStarted completed"), () -> log.debug("taskRunner at onFiatPaymentStarted completed"),
this::handleTaskRunnerFault); this::handleTaskRunnerFault);
taskRunner.addTasks( taskRunner.addTasks(
@ -154,7 +155,7 @@ public class BuyerAsTakerProtocol implements TradeProtocol {
private void handle(PayoutTxPublishedMessage tradeMessage) { private void handle(PayoutTxPublishedMessage tradeMessage) {
processModel.setTradeMessage(tradeMessage); processModel.setTradeMessage(tradeMessage);
TaskRunner<BuyerAsTakerTrade> taskRunner = new TaskRunner<>(buyerAsTakerTrade, TaskRunner<Trade> taskRunner = new TaskRunner<>(trade,
() -> { () -> {
log.debug("taskRunner at handlePayoutTxPublishedMessage completed"); log.debug("taskRunner at handlePayoutTxPublishedMessage completed");
// we are done! // we are done!

View file

@ -24,6 +24,7 @@ import io.bitsquare.p2p.MessageHandler;
import io.bitsquare.p2p.Peer; import io.bitsquare.p2p.Peer;
import io.bitsquare.p2p.listener.SendMessageListener; import io.bitsquare.p2p.listener.SendMessageListener;
import io.bitsquare.trade.SellerAsOffererTrade; import io.bitsquare.trade.SellerAsOffererTrade;
import io.bitsquare.trade.Trade;
import io.bitsquare.trade.protocol.availability.messages.ReportOfferAvailabilityMessage; import io.bitsquare.trade.protocol.availability.messages.ReportOfferAvailabilityMessage;
import io.bitsquare.trade.protocol.availability.messages.RequestIsOfferAvailableMessage; import io.bitsquare.trade.protocol.availability.messages.RequestIsOfferAvailableMessage;
import io.bitsquare.trade.protocol.trade.TradeProtocol; import io.bitsquare.trade.protocol.trade.TradeProtocol;
@ -54,17 +55,17 @@ public class SellerAsOffererProtocol implements TradeProtocol {
private static final Logger log = LoggerFactory.getLogger(SellerAsOffererProtocol.class); private static final Logger log = LoggerFactory.getLogger(SellerAsOffererProtocol.class);
private final MessageHandler messageHandler; private final MessageHandler messageHandler;
private final SellerAsOffererTrade sellerAsOffererTrade; private final SellerAsOffererTrade trade;
private final ProcessModel processModel; private final ProcessModel processModel;
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
// Constructor // Constructor
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
public SellerAsOffererProtocol(SellerAsOffererTrade model) { public SellerAsOffererProtocol(SellerAsOffererTrade trade) {
log.debug("New OffererProtocol " + this); log.debug("New OffererProtocol " + this);
this.sellerAsOffererTrade = model; this.trade = trade;
processModel = sellerAsOffererTrade.getProcessModel(); processModel = this.trade.getProcessModel();
messageHandler = this::handleMessage; messageHandler = this::handleMessage;
processModel.getMessageService().addMessageHandler(messageHandler); processModel.getMessageService().addMessageHandler(messageHandler);
@ -108,7 +109,7 @@ public class SellerAsOffererProtocol implements TradeProtocol {
// to take the // to take the
// offer // offer
// at the same time // at the same time
boolean isOfferOpen = sellerAsOffererTrade.lifeCycleStateProperty().get() == OffererState.LifeCycleState.OFFER_OPEN; boolean isOfferOpen = trade.lifeCycleStateProperty().get() == OffererState.LifeCycleState.OFFER_OPEN;
ReportOfferAvailabilityMessage reportOfferAvailabilityMessage = new ReportOfferAvailabilityMessage(processModel.getId(), isOfferOpen); ReportOfferAvailabilityMessage reportOfferAvailabilityMessage = new ReportOfferAvailabilityMessage(processModel.getId(), isOfferOpen);
processModel.getMessageService().sendMessage(sender, reportOfferAvailabilityMessage, new SendMessageListener() { processModel.getMessageService().sendMessage(sender, reportOfferAvailabilityMessage, new SendMessageListener() {
@ -138,9 +139,9 @@ public class SellerAsOffererProtocol implements TradeProtocol {
private void handle(RequestPayDepositMessage tradeMessage, Peer sender) { private void handle(RequestPayDepositMessage tradeMessage, Peer sender) {
processModel.setTradeMessage(tradeMessage); processModel.setTradeMessage(tradeMessage);
sellerAsOffererTrade.setTradingPeer(sender); trade.setTradingPeer(sender);
TaskRunner<SellerAsOffererTrade> taskRunner = new TaskRunner<>(sellerAsOffererTrade, TaskRunner<Trade> taskRunner = new TaskRunner<>(trade,
() -> log.debug("taskRunner at handleTakerDepositPaymentRequestMessage completed"), () -> log.debug("taskRunner at handleTakerDepositPaymentRequestMessage completed"),
this::handleTaskRunnerFault); this::handleTaskRunnerFault);
@ -157,7 +158,7 @@ public class SellerAsOffererProtocol implements TradeProtocol {
private void handle(DepositTxPublishedMessage tradeMessage) { private void handle(DepositTxPublishedMessage tradeMessage) {
processModel.setTradeMessage(tradeMessage); processModel.setTradeMessage(tradeMessage);
TaskRunner<SellerAsOffererTrade> taskRunner = new TaskRunner<>(sellerAsOffererTrade, TaskRunner<Trade> taskRunner = new TaskRunner<>(trade,
() -> log.debug("taskRunner at handleDepositTxPublishedMessage completed"), () -> log.debug("taskRunner at handleDepositTxPublishedMessage completed"),
this::handleTaskRunnerFault); this::handleTaskRunnerFault);
@ -171,7 +172,7 @@ public class SellerAsOffererProtocol implements TradeProtocol {
private void handle(FiatTransferStartedMessage tradeMessage) { private void handle(FiatTransferStartedMessage tradeMessage) {
processModel.setTradeMessage(tradeMessage); processModel.setTradeMessage(tradeMessage);
TaskRunner<SellerAsOffererTrade> taskRunner = new TaskRunner<>(sellerAsOffererTrade, TaskRunner<Trade> taskRunner = new TaskRunner<>(trade,
() -> log.debug("taskRunner at handleFiatTransferStartedMessage completed"), () -> log.debug("taskRunner at handleFiatTransferStartedMessage completed"),
this::handleTaskRunnerFault); this::handleTaskRunnerFault);
@ -186,9 +187,9 @@ public class SellerAsOffererProtocol implements TradeProtocol {
// User clicked the "bank transfer received" button, so we release the funds for pay out // User clicked the "bank transfer received" button, so we release the funds for pay out
public void onFiatPaymentReceived() { public void onFiatPaymentReceived() {
sellerAsOffererTrade.setProcessState(OffererState.ProcessState.FIAT_PAYMENT_RECEIVED); trade.setProcessState(OffererState.ProcessState.FIAT_PAYMENT_RECEIVED);
TaskRunner<SellerAsOffererTrade> taskRunner = new TaskRunner<>(sellerAsOffererTrade, TaskRunner<Trade> taskRunner = new TaskRunner<>(trade,
() -> { () -> {
log.debug("taskRunner at handleFiatReceivedUIEvent completed"); log.debug("taskRunner at handleFiatReceivedUIEvent completed");
@ -215,7 +216,7 @@ public class SellerAsOffererProtocol implements TradeProtocol {
if (message instanceof TradeMessage) { if (message instanceof TradeMessage) {
TradeMessage tradeMessage = (TradeMessage) message; TradeMessage tradeMessage = (TradeMessage) message;
nonEmptyStringOf(tradeMessage.tradeId); nonEmptyStringOf(tradeMessage.tradeId);
if (tradeMessage.tradeId.equals(sellerAsOffererTrade.getId())) { if (tradeMessage.tradeId.equals(trade.getId())) {
if (tradeMessage instanceof RequestIsOfferAvailableMessage) { if (tradeMessage instanceof RequestIsOfferAvailableMessage) {
handle((RequestIsOfferAvailableMessage) tradeMessage, sender); handle((RequestIsOfferAvailableMessage) tradeMessage, sender);
} }

View file

@ -54,7 +54,7 @@ import static io.bitsquare.util.Validator.nonEmptyStringOf;
public class SellerAsTakerProtocol implements TradeProtocol { public class SellerAsTakerProtocol implements TradeProtocol {
private static final Logger log = LoggerFactory.getLogger(SellerAsTakerProtocol.class); private static final Logger log = LoggerFactory.getLogger(SellerAsTakerProtocol.class);
private final SellerAsTakerTrade sellerAsTakerTrade; private final SellerAsTakerTrade trade;
private final ProcessModel processModel; private final ProcessModel processModel;
private final MessageHandler messageHandler; private final MessageHandler messageHandler;
@ -65,7 +65,7 @@ public class SellerAsTakerProtocol implements TradeProtocol {
public SellerAsTakerProtocol(SellerAsTakerTrade trade) { public SellerAsTakerProtocol(SellerAsTakerTrade trade) {
log.debug("New SellerAsTakerProtocol " + this); log.debug("New SellerAsTakerProtocol " + this);
this.sellerAsTakerTrade = trade; this.trade = trade;
processModel = trade.getProcessModel(); processModel = trade.getProcessModel();
messageHandler = this::handleMessage; messageHandler = this::handleMessage;
@ -97,7 +97,7 @@ public class SellerAsTakerProtocol implements TradeProtocol {
} }
public void takeAvailableOffer() { public void takeAvailableOffer() {
TaskRunner<Trade> taskRunner = new TaskRunner<>(sellerAsTakerTrade, TaskRunner<Trade> taskRunner = new TaskRunner<>(trade,
() -> log.debug("taskRunner at takeAvailableOffer completed"), () -> log.debug("taskRunner at takeAvailableOffer completed"),
this::handleTaskRunnerFault); this::handleTaskRunnerFault);
@ -117,7 +117,7 @@ public class SellerAsTakerProtocol implements TradeProtocol {
private void handleRequestTakerDepositPaymentMessage(RequestPayDepositMessage tradeMessage) { private void handleRequestTakerDepositPaymentMessage(RequestPayDepositMessage tradeMessage) {
processModel.setTradeMessage(tradeMessage); processModel.setTradeMessage(tradeMessage);
TaskRunner<Trade> taskRunner = new TaskRunner<>(sellerAsTakerTrade, TaskRunner<Trade> taskRunner = new TaskRunner<>(trade,
() -> log.debug("taskRunner at handleTakerDepositPaymentRequestMessage completed"), () -> log.debug("taskRunner at handleTakerDepositPaymentRequestMessage completed"),
this::handleTaskRunnerFault); this::handleTaskRunnerFault);
@ -134,7 +134,7 @@ public class SellerAsTakerProtocol implements TradeProtocol {
private void handleDepositTxPublishedMessage(DepositTxPublishedMessage tradeMessage) { private void handleDepositTxPublishedMessage(DepositTxPublishedMessage tradeMessage) {
processModel.setTradeMessage(tradeMessage); processModel.setTradeMessage(tradeMessage);
TaskRunner<SellerAsTakerTrade> taskRunner = new TaskRunner<>(sellerAsTakerTrade, TaskRunner<Trade> taskRunner = new TaskRunner<>(trade,
() -> log.debug("taskRunner at handleDepositTxPublishedMessage completed"), () -> log.debug("taskRunner at handleDepositTxPublishedMessage completed"),
this::handleTaskRunnerFault); this::handleTaskRunnerFault);
@ -148,7 +148,7 @@ public class SellerAsTakerProtocol implements TradeProtocol {
private void handleFiatTransferStartedMessage(FiatTransferStartedMessage tradeMessage) { private void handleFiatTransferStartedMessage(FiatTransferStartedMessage tradeMessage) {
processModel.setTradeMessage(tradeMessage); processModel.setTradeMessage(tradeMessage);
TaskRunner<SellerAsTakerTrade> taskRunner = new TaskRunner<>(sellerAsTakerTrade, TaskRunner<Trade> taskRunner = new TaskRunner<>(trade,
() -> log.debug("taskRunner at handleFiatTransferStartedMessage completed"), () -> log.debug("taskRunner at handleFiatTransferStartedMessage completed"),
this::handleTaskRunnerFault); this::handleTaskRunnerFault);
@ -163,9 +163,9 @@ public class SellerAsTakerProtocol implements TradeProtocol {
// User clicked the "bank transfer received" button, so we release the funds for pay out // User clicked the "bank transfer received" button, so we release the funds for pay out
public void onFiatPaymentReceived() { public void onFiatPaymentReceived() {
sellerAsTakerTrade.setProcessState(TakerState.ProcessState.FIAT_PAYMENT_RECEIVED); trade.setProcessState(TakerState.ProcessState.FIAT_PAYMENT_RECEIVED);
TaskRunner<SellerAsTakerTrade> taskRunner = new TaskRunner<>(sellerAsTakerTrade, TaskRunner<Trade> taskRunner = new TaskRunner<>(trade,
() -> { () -> {
log.debug("taskRunner at handleFiatReceivedUIEvent completed"); log.debug("taskRunner at handleFiatReceivedUIEvent completed");

View file

@ -39,7 +39,7 @@ public class SellerCreatesAndSignsContract extends TradeTask {
assert processModel.getTakeOfferFeeTxId() != null; assert processModel.getTakeOfferFeeTxId() != null;
Contract contract = new Contract( Contract contract = new Contract(
processModel.getOffer(), processModel.getOffer(),
model.getTradeAmount(), trade.getTradeAmount(),
processModel.getTakeOfferFeeTxId(), processModel.getTakeOfferFeeTxId(),
processModel.tradingPeer.getAccountId(), processModel.tradingPeer.getAccountId(),
processModel.getAccountId(), processModel.getAccountId(),
@ -50,9 +50,9 @@ public class SellerCreatesAndSignsContract extends TradeTask {
String contractAsJson = Utilities.objectToJson(contract); String contractAsJson = Utilities.objectToJson(contract);
String signature = processModel.getSignatureService().signMessage(processModel.getRegistrationKeyPair(), contractAsJson); String signature = processModel.getSignatureService().signMessage(processModel.getRegistrationKeyPair(), contractAsJson);
model.setContract(contract); trade.setContract(contract);
model.setContractAsJson(contractAsJson); trade.setContractAsJson(contractAsJson);
model.setSellerContractSignature(signature); trade.setSellerContractSignature(signature);
complete(); complete();
} catch (Throwable t) { } catch (Throwable t) {

View file

@ -49,7 +49,7 @@ import javax.annotation.Nullable;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
public class ProcessModel extends Model implements Serializable { public class ProcessModel implements Model, Serializable {
// That object is saved to disc. We need to take care of changes to not break deserialization. // That object is saved to disc. We need to take care of changes to not break deserialization.
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ -277,4 +277,14 @@ public class ProcessModel extends Model implements Serializable {
public void setTakeOfferFeeTxId(String takeOfferFeeTxId) { public void setTakeOfferFeeTxId(String takeOfferFeeTxId) {
this.takeOfferFeeTxId = takeOfferFeeTxId; this.takeOfferFeeTxId = takeOfferFeeTxId;
} }
@Override
public void persist() {
}
@Override
public void onComplete() {
}
} }