Rename DisputeDirectMessage to DisputeCommunicationMessage

This commit is contained in:
Manfred Karrer 2016-02-18 12:38:26 +01:00
parent 89201de40e
commit 2a72912005
6 changed files with 97 additions and 95 deletions

View file

@ -18,7 +18,7 @@
package io.bitsquare.arbitration; package io.bitsquare.arbitration;
import io.bitsquare.app.Version; import io.bitsquare.app.Version;
import io.bitsquare.arbitration.messages.DisputeDirectMessage; import io.bitsquare.arbitration.messages.DisputeCommunicationMessage;
import io.bitsquare.common.crypto.PubKeyRing; import io.bitsquare.common.crypto.PubKeyRing;
import io.bitsquare.storage.Storage; import io.bitsquare.storage.Storage;
import io.bitsquare.trade.Contract; import io.bitsquare.trade.Contract;
@ -71,14 +71,14 @@ public class Dispute implements Serializable {
private final PubKeyRing arbitratorPubKeyRing; private final PubKeyRing arbitratorPubKeyRing;
private final boolean isSupportTicket; private final boolean isSupportTicket;
private final List<DisputeDirectMessage> disputeDirectMessages = new ArrayList<>(); private final List<DisputeCommunicationMessage> disputeCommunicationMessages = new ArrayList<>();
private boolean isClosed; private boolean isClosed;
private DisputeResult disputeResult; private DisputeResult disputeResult;
private Transaction disputePayoutTx; private Transaction disputePayoutTx;
transient private Storage<DisputeList<Dispute>> storage; transient private Storage<DisputeList<Dispute>> storage;
transient private ObservableList<DisputeDirectMessage> disputeDirectMessagesAsObservableList = FXCollections.observableArrayList(disputeDirectMessages); transient private ObservableList<DisputeCommunicationMessage> disputeCommunicationMessagesAsObservableList = FXCollections.observableArrayList(disputeCommunicationMessages);
transient private BooleanProperty isClosedProperty = new SimpleBooleanProperty(isClosed); transient private BooleanProperty isClosedProperty = new SimpleBooleanProperty(isClosed);
transient private ObjectProperty<DisputeResult> disputeResultProperty = new SimpleObjectProperty<>(disputeResult); transient private ObjectProperty<DisputeResult> disputeResultProperty = new SimpleObjectProperty<>(disputeResult);
@ -131,7 +131,7 @@ public class Dispute implements Serializable {
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException { private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
try { try {
in.defaultReadObject(); in.defaultReadObject();
disputeDirectMessagesAsObservableList = FXCollections.observableArrayList(disputeDirectMessages); disputeCommunicationMessagesAsObservableList = FXCollections.observableArrayList(disputeCommunicationMessages);
disputeResultProperty = new SimpleObjectProperty<>(disputeResult); disputeResultProperty = new SimpleObjectProperty<>(disputeResult);
isClosedProperty = new SimpleBooleanProperty(isClosed); isClosedProperty = new SimpleBooleanProperty(isClosed);
} catch (Throwable t) { } catch (Throwable t) {
@ -139,10 +139,10 @@ public class Dispute implements Serializable {
} }
} }
public void addDisputeMessage(DisputeDirectMessage disputeDirectMessage) { public void addDisputeMessage(DisputeCommunicationMessage disputeCommunicationMessage) {
if (!disputeDirectMessages.contains(disputeDirectMessage)) { if (!disputeCommunicationMessages.contains(disputeCommunicationMessage)) {
disputeDirectMessages.add(disputeDirectMessage); disputeCommunicationMessages.add(disputeCommunicationMessage);
disputeDirectMessagesAsObservableList.add(disputeDirectMessage); disputeCommunicationMessagesAsObservableList.add(disputeCommunicationMessage);
storage.queueUpForSave(); storage.queueUpForSave();
} else { } else {
log.error("disputeDirectMessage already exists"); log.error("disputeDirectMessage already exists");
@ -248,8 +248,8 @@ public class Dispute implements Serializable {
return takerContractSignature; return takerContractSignature;
} }
public ObservableList<DisputeDirectMessage> getDisputeDirectMessagesAsObservableList() { public ObservableList<DisputeCommunicationMessage> getDisputeCommunicationMessagesAsObservableList() {
return disputeDirectMessagesAsObservableList; return disputeCommunicationMessagesAsObservableList;
} }
public boolean isClosed() { public boolean isClosed() {
@ -315,7 +315,7 @@ public class Dispute implements Serializable {
return false; return false;
if (arbitratorPubKeyRing != null ? !arbitratorPubKeyRing.equals(dispute.arbitratorPubKeyRing) : dispute.arbitratorPubKeyRing != null) if (arbitratorPubKeyRing != null ? !arbitratorPubKeyRing.equals(dispute.arbitratorPubKeyRing) : dispute.arbitratorPubKeyRing != null)
return false; return false;
if (disputeDirectMessages != null ? !disputeDirectMessages.equals(dispute.disputeDirectMessages) : dispute.disputeDirectMessages != null) if (disputeCommunicationMessages != null ? !disputeCommunicationMessages.equals(dispute.disputeCommunicationMessages) : dispute.disputeCommunicationMessages != null)
return false; return false;
return !(disputeResult != null ? !disputeResult.equals(dispute.disputeResult) : dispute.disputeResult != null); return !(disputeResult != null ? !disputeResult.equals(dispute.disputeResult) : dispute.disputeResult != null);
@ -341,7 +341,7 @@ public class Dispute implements Serializable {
result = 31 * result + (takerContractSignature != null ? takerContractSignature.hashCode() : 0); result = 31 * result + (takerContractSignature != null ? takerContractSignature.hashCode() : 0);
result = 31 * result + (arbitratorPubKeyRing != null ? arbitratorPubKeyRing.hashCode() : 0); result = 31 * result + (arbitratorPubKeyRing != null ? arbitratorPubKeyRing.hashCode() : 0);
result = 31 * result + (isSupportTicket ? 1 : 0); result = 31 * result + (isSupportTicket ? 1 : 0);
result = 31 * result + (disputeDirectMessages != null ? disputeDirectMessages.hashCode() : 0); result = 31 * result + (disputeCommunicationMessages != null ? disputeCommunicationMessages.hashCode() : 0);
result = 31 * result + (isClosed ? 1 : 0); result = 31 * result + (isClosed ? 1 : 0);
result = 31 * result + (disputeResult != null ? disputeResult.hashCode() : 0); result = 31 * result + (disputeResult != null ? disputeResult.hashCode() : 0);
return result; return result;
@ -361,8 +361,8 @@ public class Dispute implements Serializable {
", buyerContractSignature='" + offererContractSignature + '\'' + ", buyerContractSignature='" + offererContractSignature + '\'' +
", sellerContractSignature='" + takerContractSignature + '\'' + ", sellerContractSignature='" + takerContractSignature + '\'' +
", arbitratorPubKeyRing=" + arbitratorPubKeyRing + ", arbitratorPubKeyRing=" + arbitratorPubKeyRing +
", disputeDirectMessages=" + disputeDirectMessages + ", disputeDirectMessages=" + disputeCommunicationMessages +
", disputeDirectMessagesAsObservableList=" + disputeDirectMessagesAsObservableList + ", disputeDirectMessagesAsObservableList=" + disputeCommunicationMessagesAsObservableList +
", isClosed=" + isClosed + ", isClosed=" + isClosed +
", disputeResult=" + disputeResult + ", disputeResult=" + disputeResult +
", disputeResultProperty=" + disputeResultProperty + ", disputeResultProperty=" + disputeResultProperty +

View file

@ -160,8 +160,8 @@ public class DisputeManager {
onOpenNewDisputeMessage((OpenNewDisputeMessage) message); onOpenNewDisputeMessage((OpenNewDisputeMessage) message);
else if (message instanceof PeerOpenedDisputeMessage) else if (message instanceof PeerOpenedDisputeMessage)
onPeerOpenedDisputeMessage((PeerOpenedDisputeMessage) message); onPeerOpenedDisputeMessage((PeerOpenedDisputeMessage) message);
else if (message instanceof DisputeDirectMessage) else if (message instanceof DisputeCommunicationMessage)
onDisputeDirectMessage((DisputeDirectMessage) message); onDisputeDirectMessage((DisputeCommunicationMessage) message);
else if (message instanceof DisputeResultMessage) else if (message instanceof DisputeResultMessage)
onDisputeResultMessage((DisputeResultMessage) message); onDisputeResultMessage((DisputeResultMessage) message);
else if (message instanceof PeerPublishedPayoutTxMessage) else if (message instanceof PeerPublishedPayoutTxMessage)
@ -172,15 +172,15 @@ public class DisputeManager {
public void sendOpenNewDisputeMessage(Dispute dispute) { public void sendOpenNewDisputeMessage(Dispute dispute) {
if (!disputes.contains(dispute)) { if (!disputes.contains(dispute)) {
DisputeDirectMessage disputeDirectMessage = new DisputeDirectMessage(dispute.getTradeId(), DisputeCommunicationMessage disputeCommunicationMessage = new DisputeCommunicationMessage(dispute.getTradeId(),
keyRing.getPubKeyRing().hashCode(), keyRing.getPubKeyRing().hashCode(),
true, true,
"System message: " + (dispute.isSupportTicket() ? "System message: " + (dispute.isSupportTicket() ?
"You opened a request for support." "You opened a request for support."
: "You opened a request for a dispute.\n\n" + disputeInfo), : "You opened a request for a dispute.\n\n" + disputeInfo),
p2PService.getAddress()); p2PService.getAddress());
disputeDirectMessage.setIsSystemMessage(true); disputeCommunicationMessage.setIsSystemMessage(true);
dispute.addDisputeMessage(disputeDirectMessage); dispute.addDisputeMessage(disputeCommunicationMessage);
disputes.add(dispute); disputes.add(dispute);
disputesObservableList.add(dispute); disputesObservableList.add(dispute);
@ -190,12 +190,12 @@ public class DisputeManager {
new SendMailboxMessageListener() { new SendMailboxMessageListener() {
@Override @Override
public void onArrived() { public void onArrived() {
disputeDirectMessage.setArrived(true); disputeCommunicationMessage.setArrived(true);
} }
@Override @Override
public void onStoredInMailbox() { public void onStoredInMailbox() {
disputeDirectMessage.setStoredInMailbox(true); disputeCommunicationMessage.setStoredInMailbox(true);
} }
@Override @Override
@ -234,15 +234,15 @@ public class DisputeManager {
disputeFromOpener.getArbitratorPubKeyRing(), disputeFromOpener.getArbitratorPubKeyRing(),
disputeFromOpener.isSupportTicket() disputeFromOpener.isSupportTicket()
); );
DisputeDirectMessage disputeDirectMessage = new DisputeDirectMessage(dispute.getTradeId(), DisputeCommunicationMessage disputeCommunicationMessage = new DisputeCommunicationMessage(dispute.getTradeId(),
keyRing.getPubKeyRing().hashCode(), keyRing.getPubKeyRing().hashCode(),
true, true,
"System message: " + (dispute.isSupportTicket() ? "System message: " + (dispute.isSupportTicket() ?
"Your trading peer has requested support due technical problems. Please wait for further instructions." "Your trading peer has requested support due technical problems. Please wait for further instructions."
: "Your trading peer has requested a dispute.\n\n" + disputeInfo), : "Your trading peer has requested a dispute.\n\n" + disputeInfo),
p2PService.getAddress()); p2PService.getAddress());
disputeDirectMessage.setIsSystemMessage(true); disputeCommunicationMessage.setIsSystemMessage(true);
dispute.addDisputeMessage(disputeDirectMessage); dispute.addDisputeMessage(disputeCommunicationMessage);
disputes.add(dispute); disputes.add(dispute);
disputesObservableList.add(dispute); disputesObservableList.add(dispute);
@ -257,12 +257,12 @@ public class DisputeManager {
new SendMailboxMessageListener() { new SendMailboxMessageListener() {
@Override @Override
public void onArrived() { public void onArrived() {
disputeDirectMessage.setArrived(true); disputeCommunicationMessage.setArrived(true);
} }
@Override @Override
public void onStoredInMailbox() { public void onStoredInMailbox() {
disputeDirectMessage.setStoredInMailbox(true); disputeCommunicationMessage.setStoredInMailbox(true);
} }
@Override @Override
@ -274,22 +274,22 @@ public class DisputeManager {
} }
// traders send msg to the arbitrator or arbitrator to 1 trader (trader to trader is not allowed) // traders send msg to the arbitrator or arbitrator to 1 trader (trader to trader is not allowed)
public DisputeDirectMessage sendDisputeDirectMessage(Dispute dispute, String text, ArrayList<DisputeDirectMessage.Attachment> attachments) { public DisputeCommunicationMessage sendDisputeDirectMessage(Dispute dispute, String text, ArrayList<DisputeCommunicationMessage.Attachment> attachments) {
DisputeDirectMessage disputeDirectMessage = new DisputeDirectMessage(dispute.getTradeId(), DisputeCommunicationMessage disputeCommunicationMessage = new DisputeCommunicationMessage(dispute.getTradeId(),
dispute.getTraderPubKeyRing().hashCode(), dispute.getTraderPubKeyRing().hashCode(),
isTrader(dispute), isTrader(dispute),
text, text,
p2PService.getAddress()); p2PService.getAddress());
disputeDirectMessage.addAllAttachments(attachments); disputeCommunicationMessage.addAllAttachments(attachments);
PubKeyRing receiverPubKeyRing = null; PubKeyRing receiverPubKeyRing = null;
NodeAddress peerNodeAddress = null; NodeAddress peerNodeAddress = null;
if (isTrader(dispute)) { if (isTrader(dispute)) {
dispute.addDisputeMessage(disputeDirectMessage); dispute.addDisputeMessage(disputeCommunicationMessage);
receiverPubKeyRing = dispute.getArbitratorPubKeyRing(); receiverPubKeyRing = dispute.getArbitratorPubKeyRing();
peerNodeAddress = dispute.getContract().arbitratorNodeAddress; peerNodeAddress = dispute.getContract().arbitratorNodeAddress;
} else if (isArbitrator(dispute)) { } else if (isArbitrator(dispute)) {
if (!disputeDirectMessage.isSystemMessage()) if (!disputeCommunicationMessage.isSystemMessage())
dispute.addDisputeMessage(disputeDirectMessage); dispute.addDisputeMessage(disputeCommunicationMessage);
receiverPubKeyRing = dispute.getTraderPubKeyRing(); receiverPubKeyRing = dispute.getTraderPubKeyRing();
Contract contract = dispute.getContract(); Contract contract = dispute.getContract();
if (contract.getBuyerPubKeyRing().equals(receiverPubKeyRing)) if (contract.getBuyerPubKeyRing().equals(receiverPubKeyRing))
@ -303,16 +303,16 @@ public class DisputeManager {
log.trace("sendDisputeDirectMessage to peerAddress " + peerNodeAddress); log.trace("sendDisputeDirectMessage to peerAddress " + peerNodeAddress);
p2PService.sendEncryptedMailboxMessage(peerNodeAddress, p2PService.sendEncryptedMailboxMessage(peerNodeAddress,
receiverPubKeyRing, receiverPubKeyRing,
disputeDirectMessage, disputeCommunicationMessage,
new SendMailboxMessageListener() { new SendMailboxMessageListener() {
@Override @Override
public void onArrived() { public void onArrived() {
disputeDirectMessage.setArrived(true); disputeCommunicationMessage.setArrived(true);
} }
@Override @Override
public void onStoredInMailbox() { public void onStoredInMailbox() {
disputeDirectMessage.setStoredInMailbox(true); disputeCommunicationMessage.setStoredInMailbox(true);
} }
@Override @Override
@ -323,18 +323,18 @@ public class DisputeManager {
); );
} }
return disputeDirectMessage; return disputeCommunicationMessage;
} }
// arbitrator send result to trader // arbitrator send result to trader
public void sendDisputeResultMessage(DisputeResult disputeResult, Dispute dispute, String text) { public void sendDisputeResultMessage(DisputeResult disputeResult, Dispute dispute, String text) {
DisputeDirectMessage disputeDirectMessage = new DisputeDirectMessage(dispute.getTradeId(), DisputeCommunicationMessage disputeCommunicationMessage = new DisputeCommunicationMessage(dispute.getTradeId(),
dispute.getTraderPubKeyRing().hashCode(), dispute.getTraderPubKeyRing().hashCode(),
false, false,
text, text,
p2PService.getAddress()); p2PService.getAddress());
dispute.addDisputeMessage(disputeDirectMessage); dispute.addDisputeMessage(disputeCommunicationMessage);
disputeResult.setDisputeDirectMessage(disputeDirectMessage); disputeResult.setDisputeCommunicationMessage(disputeCommunicationMessage);
NodeAddress peerNodeAddress; NodeAddress peerNodeAddress;
Contract contract = dispute.getContract(); Contract contract = dispute.getContract();
@ -348,12 +348,12 @@ public class DisputeManager {
new SendMailboxMessageListener() { new SendMailboxMessageListener() {
@Override @Override
public void onArrived() { public void onArrived() {
disputeDirectMessage.setArrived(true); disputeCommunicationMessage.setArrived(true);
} }
@Override @Override
public void onStoredInMailbox() { public void onStoredInMailbox() {
disputeDirectMessage.setStoredInMailbox(true); disputeCommunicationMessage.setStoredInMailbox(true);
} }
@Override @Override
@ -434,17 +434,17 @@ public class DisputeManager {
} }
// a trader can receive a msg from the arbitrator or the arbitrator form a trader. Trader to trader is not allowed. // a trader can receive a msg from the arbitrator or the arbitrator form a trader. Trader to trader is not allowed.
private void onDisputeDirectMessage(DisputeDirectMessage disputeDirectMessage) { private void onDisputeDirectMessage(DisputeCommunicationMessage disputeCommunicationMessage) {
Log.traceCall("disputeDirectMessage " + disputeDirectMessage); Log.traceCall("disputeDirectMessage " + disputeCommunicationMessage);
Optional<Dispute> disputeOptional = findDispute(disputeDirectMessage.getTradeId(), disputeDirectMessage.getTraderId()); Optional<Dispute> disputeOptional = findDispute(disputeCommunicationMessage.getTradeId(), disputeCommunicationMessage.getTraderId());
if (disputeOptional.isPresent()) { if (disputeOptional.isPresent()) {
Dispute dispute = disputeOptional.get(); Dispute dispute = disputeOptional.get();
if (!dispute.getDisputeDirectMessagesAsObservableList().contains(disputeDirectMessage)) if (!dispute.getDisputeCommunicationMessagesAsObservableList().contains(disputeCommunicationMessage))
dispute.addDisputeMessage(disputeDirectMessage); dispute.addDisputeMessage(disputeCommunicationMessage);
else else
log.warn("We got a dispute mail msg what we have already stored. TradeId = " + disputeDirectMessage.getTradeId()); log.warn("We got a dispute mail msg what we have already stored. TradeId = " + disputeCommunicationMessage.getTradeId());
} else { } else {
log.warn("We got a dispute mail msg but we don't have a matching dispute. TradeId = " + disputeDirectMessage.getTradeId()); log.warn("We got a dispute mail msg but we don't have a matching dispute. TradeId = " + disputeCommunicationMessage.getTradeId());
} }
} }
@ -456,11 +456,11 @@ public class DisputeManager {
if (disputeOptional.isPresent()) { if (disputeOptional.isPresent()) {
Dispute dispute = disputeOptional.get(); Dispute dispute = disputeOptional.get();
DisputeDirectMessage disputeDirectMessage = disputeResult.getDisputeDirectMessage(); DisputeCommunicationMessage disputeCommunicationMessage = disputeResult.getDisputeCommunicationMessage();
if (!dispute.getDisputeDirectMessagesAsObservableList().contains(disputeDirectMessage)) if (!dispute.getDisputeCommunicationMessagesAsObservableList().contains(disputeCommunicationMessage))
dispute.addDisputeMessage(disputeDirectMessage); dispute.addDisputeMessage(disputeCommunicationMessage);
else else
log.warn("We got a dispute mail msg what we have already stored. TradeId = " + disputeDirectMessage.getTradeId()); log.warn("We got a dispute mail msg what we have already stored. TradeId = " + disputeCommunicationMessage.getTradeId());
dispute.setIsClosed(true); dispute.setIsClosed(true);
if (tradeManager.getTradeById(dispute.getTradeId()).isPresent()) if (tradeManager.getTradeById(dispute.getTradeId()).isPresent())

View file

@ -18,7 +18,7 @@
package io.bitsquare.arbitration; package io.bitsquare.arbitration;
import io.bitsquare.app.Version; import io.bitsquare.app.Version;
import io.bitsquare.arbitration.messages.DisputeDirectMessage; import io.bitsquare.arbitration.messages.DisputeCommunicationMessage;
import javafx.beans.property.*; import javafx.beans.property.*;
import org.bitcoinj.core.Coin; import org.bitcoinj.core.Coin;
import org.slf4j.Logger; import org.slf4j.Logger;
@ -55,7 +55,7 @@ public class DisputeResult implements Serializable {
private boolean idVerification; private boolean idVerification;
private boolean screenCast; private boolean screenCast;
private String summaryNotes; private String summaryNotes;
private DisputeDirectMessage disputeDirectMessage; private DisputeCommunicationMessage disputeCommunicationMessage;
private byte[] arbitratorSignature; private byte[] arbitratorSignature;
private long buyerPayoutAmount; private long buyerPayoutAmount;
private long sellerPayoutAmount; private long sellerPayoutAmount;
@ -142,12 +142,12 @@ public class DisputeResult implements Serializable {
return summaryNotesProperty; return summaryNotesProperty;
} }
public void setDisputeDirectMessage(DisputeDirectMessage disputeDirectMessage) { public void setDisputeCommunicationMessage(DisputeCommunicationMessage disputeCommunicationMessage) {
this.disputeDirectMessage = disputeDirectMessage; this.disputeCommunicationMessage = disputeCommunicationMessage;
} }
public DisputeDirectMessage getDisputeDirectMessage() { public DisputeCommunicationMessage getDisputeCommunicationMessage() {
return disputeDirectMessage; return disputeCommunicationMessage;
} }
public void setArbitratorSignature(byte[] arbitratorSignature) { public void setArbitratorSignature(byte[] arbitratorSignature) {
@ -232,7 +232,7 @@ public class DisputeResult implements Serializable {
if (tradeId != null ? !tradeId.equals(that.tradeId) : that.tradeId != null) return false; if (tradeId != null ? !tradeId.equals(that.tradeId) : that.tradeId != null) return false;
if (feePaymentPolicy != that.feePaymentPolicy) return false; if (feePaymentPolicy != that.feePaymentPolicy) return false;
if (summaryNotes != null ? !summaryNotes.equals(that.summaryNotes) : that.summaryNotes != null) return false; if (summaryNotes != null ? !summaryNotes.equals(that.summaryNotes) : that.summaryNotes != null) return false;
if (disputeDirectMessage != null ? !disputeDirectMessage.equals(that.disputeDirectMessage) : that.disputeDirectMessage != null) if (disputeCommunicationMessage != null ? !disputeCommunicationMessage.equals(that.disputeCommunicationMessage) : that.disputeCommunicationMessage != null)
return false; return false;
if (!Arrays.equals(arbitratorSignature, that.arbitratorSignature)) return false; if (!Arrays.equals(arbitratorSignature, that.arbitratorSignature)) return false;
if (arbitratorAddressAsString != null ? !arbitratorAddressAsString.equals(that.arbitratorAddressAsString) : that.arbitratorAddressAsString != null) if (arbitratorAddressAsString != null ? !arbitratorAddressAsString.equals(that.arbitratorAddressAsString) : that.arbitratorAddressAsString != null)
@ -251,7 +251,7 @@ public class DisputeResult implements Serializable {
result = 31 * result + (idVerification ? 1 : 0); result = 31 * result + (idVerification ? 1 : 0);
result = 31 * result + (screenCast ? 1 : 0); result = 31 * result + (screenCast ? 1 : 0);
result = 31 * result + (summaryNotes != null ? summaryNotes.hashCode() : 0); result = 31 * result + (summaryNotes != null ? summaryNotes.hashCode() : 0);
result = 31 * result + (disputeDirectMessage != null ? disputeDirectMessage.hashCode() : 0); result = 31 * result + (disputeCommunicationMessage != null ? disputeCommunicationMessage.hashCode() : 0);
result = 31 * result + (arbitratorSignature != null ? Arrays.hashCode(arbitratorSignature) : 0); result = 31 * result + (arbitratorSignature != null ? Arrays.hashCode(arbitratorSignature) : 0);
result = 31 * result + (int) (buyerPayoutAmount ^ (buyerPayoutAmount >>> 32)); result = 31 * result + (int) (buyerPayoutAmount ^ (buyerPayoutAmount >>> 32));
result = 31 * result + (int) (sellerPayoutAmount ^ (sellerPayoutAmount >>> 32)); result = 31 * result + (int) (sellerPayoutAmount ^ (sellerPayoutAmount >>> 32));

View file

@ -32,10 +32,10 @@ import java.util.Arrays;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
public final class DisputeDirectMessage extends DisputeMessage { public final class DisputeCommunicationMessage extends DisputeMessage {
// That object is sent over the wire, so we need to take care of version compatibility. // That object is sent over the wire, so we need to take care of version compatibility.
private static final long serialVersionUID = Version.P2P_NETWORK_VERSION; private static final long serialVersionUID = Version.P2P_NETWORK_VERSION;
private static final Logger log = LoggerFactory.getLogger(DisputeDirectMessage.class); private static final Logger log = LoggerFactory.getLogger(DisputeCommunicationMessage.class);
private final long date; private final long date;
private final String tradeId; private final String tradeId;
@ -52,7 +52,7 @@ public final class DisputeDirectMessage extends DisputeMessage {
transient private BooleanProperty arrivedProperty = new SimpleBooleanProperty(); transient private BooleanProperty arrivedProperty = new SimpleBooleanProperty();
transient private BooleanProperty storedInMailboxProperty = new SimpleBooleanProperty(); transient private BooleanProperty storedInMailboxProperty = new SimpleBooleanProperty();
public DisputeDirectMessage(String tradeId, int traderId, boolean senderIsTrader, String message, NodeAddress myNodeAddress) { public DisputeCommunicationMessage(String tradeId, int traderId, boolean senderIsTrader, String message, NodeAddress myNodeAddress) {
this.tradeId = tradeId; this.tradeId = tradeId;
this.traderId = traderId; this.traderId = traderId;
this.senderIsTrader = senderIsTrader; this.senderIsTrader = senderIsTrader;
@ -137,9 +137,9 @@ public final class DisputeDirectMessage extends DisputeMessage {
@Override @Override
public boolean equals(Object o) { public boolean equals(Object o) {
if (this == o) return true; if (this == o) return true;
if (!(o instanceof DisputeDirectMessage)) return false; if (!(o instanceof DisputeCommunicationMessage)) return false;
DisputeDirectMessage that = (DisputeDirectMessage) o; DisputeCommunicationMessage that = (DisputeCommunicationMessage) o;
if (date != that.date) return false; if (date != that.date) return false;
if (traderId != that.traderId) return false; if (traderId != that.traderId) return false;

View file

@ -29,6 +29,8 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
@Immutable @Immutable
// TODO check if it should not implement MailboxMessage as well?
public final class PublishDepositTxRequest extends TradeMessage { public final class PublishDepositTxRequest extends TradeMessage {
// That object is sent over the wire, so we need to take care of version compatibility. // That object is sent over the wire, so we need to take care of version compatibility.
private static final long serialVersionUID = Version.P2P_NETWORK_VERSION; private static final long serialVersionUID = Version.P2P_NETWORK_VERSION;

View file

@ -22,7 +22,7 @@ import de.jensd.fx.fontawesome.AwesomeDude;
import de.jensd.fx.fontawesome.AwesomeIcon; import de.jensd.fx.fontawesome.AwesomeIcon;
import io.bitsquare.arbitration.Dispute; import io.bitsquare.arbitration.Dispute;
import io.bitsquare.arbitration.DisputeManager; import io.bitsquare.arbitration.DisputeManager;
import io.bitsquare.arbitration.messages.DisputeDirectMessage; import io.bitsquare.arbitration.messages.DisputeCommunicationMessage;
import io.bitsquare.common.UserThread; import io.bitsquare.common.UserThread;
import io.bitsquare.common.crypto.KeyRing; import io.bitsquare.common.crypto.KeyRing;
import io.bitsquare.gui.common.view.ActivatableView; import io.bitsquare.gui.common.view.ActivatableView;
@ -83,12 +83,12 @@ public class TraderDisputeView extends ActivatableView<VBox, Void> {
private final ContractPopup contractPopup; private final ContractPopup contractPopup;
private final TradeDetailsPopup tradeDetailsPopup; private final TradeDetailsPopup tradeDetailsPopup;
private final List<DisputeDirectMessage.Attachment> tempAttachments = new ArrayList<>(); private final List<DisputeCommunicationMessage.Attachment> tempAttachments = new ArrayList<>();
private TableView<Dispute> disputesTable; private TableView<Dispute> disputesTable;
private Dispute selectedDispute; private Dispute selectedDispute;
private ChangeListener<Dispute> disputeChangeListener; private ChangeListener<Dispute> disputeChangeListener;
private ListView<DisputeDirectMessage> messageListView; private ListView<DisputeCommunicationMessage> messageListView;
private TextArea inputTextArea; private TextArea inputTextArea;
private AnchorPane messagesAnchorPane; private AnchorPane messagesAnchorPane;
private VBox messagesInputBox; private VBox messagesInputBox;
@ -97,8 +97,8 @@ public class TraderDisputeView extends ActivatableView<VBox, Void> {
private ChangeListener<Boolean> arrivedPropertyListener; private ChangeListener<Boolean> arrivedPropertyListener;
private ChangeListener<Boolean> storedInMailboxPropertyListener; private ChangeListener<Boolean> storedInMailboxPropertyListener;
@Nullable @Nullable
private DisputeDirectMessage disputeDirectMessage; private DisputeCommunicationMessage disputeCommunicationMessage;
private ListChangeListener<DisputeDirectMessage> disputeDirectMessageListListener; private ListChangeListener<DisputeCommunicationMessage> disputeDirectMessageListListener;
private ChangeListener<String> inputTextAreaListener; private ChangeListener<String> inputTextAreaListener;
private ChangeListener<Boolean> selectedDisputeClosedPropertyListener; private ChangeListener<Boolean> selectedDisputeClosedPropertyListener;
@ -169,16 +169,16 @@ public class TraderDisputeView extends ActivatableView<VBox, Void> {
protected void deactivate() { protected void deactivate() {
disputesTable.getSelectionModel().selectedItemProperty().removeListener(disputeChangeListener); disputesTable.getSelectionModel().selectedItemProperty().removeListener(disputeChangeListener);
if (disputeDirectMessage != null) { if (disputeCommunicationMessage != null) {
disputeDirectMessage.arrivedProperty().removeListener(arrivedPropertyListener); disputeCommunicationMessage.arrivedProperty().removeListener(arrivedPropertyListener);
disputeDirectMessage.storedInMailboxProperty().removeListener(storedInMailboxPropertyListener); disputeCommunicationMessage.storedInMailboxProperty().removeListener(storedInMailboxPropertyListener);
} }
if (selectedDispute != null) { if (selectedDispute != null) {
selectedDispute.isClosedProperty().removeListener(selectedDisputeClosedPropertyListener); selectedDispute.isClosedProperty().removeListener(selectedDisputeClosedPropertyListener);
ObservableList<DisputeDirectMessage> disputeDirectMessages = selectedDispute.getDisputeDirectMessagesAsObservableList(); ObservableList<DisputeCommunicationMessage> disputeCommunicationMessages = selectedDispute.getDisputeCommunicationMessagesAsObservableList();
if (disputeDirectMessages != null) { if (disputeCommunicationMessages != null) {
disputeDirectMessages.removeListener(disputeDirectMessageListListener); disputeCommunicationMessages.removeListener(disputeDirectMessageListListener);
} }
} }
@ -201,12 +201,12 @@ public class TraderDisputeView extends ActivatableView<VBox, Void> {
} }
private void onSendMessage(String inputText, Dispute dispute) { private void onSendMessage(String inputText, Dispute dispute) {
if (disputeDirectMessage != null) { if (disputeCommunicationMessage != null) {
disputeDirectMessage.arrivedProperty().removeListener(arrivedPropertyListener); disputeCommunicationMessage.arrivedProperty().removeListener(arrivedPropertyListener);
disputeDirectMessage.storedInMailboxProperty().removeListener(storedInMailboxPropertyListener); disputeCommunicationMessage.storedInMailboxProperty().removeListener(storedInMailboxPropertyListener);
} }
disputeDirectMessage = disputeManager.sendDisputeDirectMessage(dispute, inputText, new ArrayList<>(tempAttachments)); disputeCommunicationMessage = disputeManager.sendDisputeDirectMessage(dispute, inputText, new ArrayList<>(tempAttachments));
tempAttachments.clear(); tempAttachments.clear();
scrollToBottom(); scrollToBottom();
@ -228,8 +228,8 @@ public class TraderDisputeView extends ActivatableView<VBox, Void> {
hideSendMsgInfo(timer); hideSendMsgInfo(timer);
} }
}; };
if (disputeDirectMessage.arrivedProperty() != null) if (disputeCommunicationMessage.arrivedProperty() != null)
disputeDirectMessage.arrivedProperty().addListener(arrivedPropertyListener); disputeCommunicationMessage.arrivedProperty().addListener(arrivedPropertyListener);
storedInMailboxPropertyListener = (observable, oldValue, newValue) -> { storedInMailboxPropertyListener = (observable, oldValue, newValue) -> {
if (newValue) { if (newValue) {
sendMsgInfoLabel.setVisible(true); sendMsgInfoLabel.setVisible(true);
@ -238,7 +238,7 @@ public class TraderDisputeView extends ActivatableView<VBox, Void> {
hideSendMsgInfo(timer); hideSendMsgInfo(timer);
} }
}; };
disputeDirectMessage.storedInMailboxProperty().addListener(storedInMailboxPropertyListener); disputeCommunicationMessage.storedInMailboxProperty().addListener(storedInMailboxPropertyListener);
} }
private void hideSendMsgInfo(Timer timer) { private void hideSendMsgInfo(Timer timer) {
@ -273,7 +273,7 @@ public class TraderDisputeView extends ActivatableView<VBox, Void> {
try (InputStream inputStream = url.openStream()) { try (InputStream inputStream = url.openStream()) {
byte[] filesAsBytes = ByteStreams.toByteArray(inputStream); byte[] filesAsBytes = ByteStreams.toByteArray(inputStream);
if (filesAsBytes.length <= Connection.getMaxMsgSize()) { if (filesAsBytes.length <= Connection.getMaxMsgSize()) {
tempAttachments.add(new DisputeDirectMessage.Attachment(result.getName(), filesAsBytes)); tempAttachments.add(new DisputeCommunicationMessage.Attachment(result.getName(), filesAsBytes));
inputTextArea.setText(inputTextArea.getText() + "\n[Attachment " + result.getName() + "]"); inputTextArea.setText(inputTextArea.getText() + "\n[Attachment " + result.getName() + "]");
} else { } else {
new Popup().warning("The max. allowed file size is " + maxSizeInKB + " kB.").show(); new Popup().warning("The max. allowed file size is " + maxSizeInKB + " kB.").show();
@ -292,7 +292,7 @@ public class TraderDisputeView extends ActivatableView<VBox, Void> {
} }
} }
private void onOpenAttachment(DisputeDirectMessage.Attachment attachment) { private void onOpenAttachment(DisputeCommunicationMessage.Attachment attachment) {
FileChooser fileChooser = new FileChooser(); FileChooser fileChooser = new FileChooser();
fileChooser.setTitle("Save file to disk"); fileChooser.setTitle("Save file to disk");
fileChooser.setInitialFileName(attachment.getFileName()); fileChooser.setInitialFileName(attachment.getFileName());
@ -312,9 +312,9 @@ public class TraderDisputeView extends ActivatableView<VBox, Void> {
private void onSelectDispute(Dispute dispute) { private void onSelectDispute(Dispute dispute) {
if (selectedDispute != null) { if (selectedDispute != null) {
selectedDispute.isClosedProperty().removeListener(selectedDisputeClosedPropertyListener); selectedDispute.isClosedProperty().removeListener(selectedDisputeClosedPropertyListener);
ObservableList<DisputeDirectMessage> disputeDirectMessages = selectedDispute.getDisputeDirectMessagesAsObservableList(); ObservableList<DisputeCommunicationMessage> disputeCommunicationMessages = selectedDispute.getDisputeCommunicationMessagesAsObservableList();
if (disputeDirectMessages != null) { if (disputeCommunicationMessages != null) {
disputeDirectMessages.removeListener(disputeDirectMessageListListener); disputeCommunicationMessages.removeListener(disputeDirectMessageListListener);
} }
} }
@ -336,11 +336,11 @@ public class TraderDisputeView extends ActivatableView<VBox, Void> {
AnchorPane.setBottomAnchor(tableGroupHeadline, 0d); AnchorPane.setBottomAnchor(tableGroupHeadline, 0d);
AnchorPane.setLeftAnchor(tableGroupHeadline, 0d); AnchorPane.setLeftAnchor(tableGroupHeadline, 0d);
ObservableList<DisputeDirectMessage> disputeDirectMessages = selectedDispute.getDisputeDirectMessagesAsObservableList(); ObservableList<DisputeCommunicationMessage> disputeCommunicationMessages = selectedDispute.getDisputeCommunicationMessagesAsObservableList();
SortedList<DisputeDirectMessage> sortedList = new SortedList<>(disputeDirectMessages); SortedList<DisputeCommunicationMessage> sortedList = new SortedList<>(disputeCommunicationMessages);
sortedList.setComparator((o1, o2) -> o1.getDate().compareTo(o2.getDate())); sortedList.setComparator((o1, o2) -> o1.getDate().compareTo(o2.getDate()));
disputeDirectMessageListListener = c -> scrollToBottom(); disputeDirectMessageListListener = c -> scrollToBottom();
disputeDirectMessages.addListener(disputeDirectMessageListListener); disputeCommunicationMessages.addListener(disputeDirectMessageListListener);
messageListView = new ListView<>(sortedList); messageListView = new ListView<>(sortedList);
messageListView.setId("message-list-view"); messageListView.setId("message-list-view");
messageListView.prefWidthProperty().bind(root.widthProperty()); messageListView.prefWidthProperty().bind(root.widthProperty());
@ -418,10 +418,10 @@ public class TraderDisputeView extends ActivatableView<VBox, Void> {
messagesAnchorPane.getChildren().addAll(tableGroupHeadline, messageListView); messagesAnchorPane.getChildren().addAll(tableGroupHeadline, messageListView);
} }
messageListView.setCellFactory(new Callback<ListView<DisputeDirectMessage>, ListCell<DisputeDirectMessage>>() { messageListView.setCellFactory(new Callback<ListView<DisputeCommunicationMessage>, ListCell<DisputeCommunicationMessage>>() {
@Override @Override
public ListCell<DisputeDirectMessage> call(ListView<DisputeDirectMessage> list) { public ListCell<DisputeCommunicationMessage> call(ListView<DisputeCommunicationMessage> list) {
return new ListCell<DisputeDirectMessage>() { return new ListCell<DisputeCommunicationMessage>() {
public ChangeListener<Number> sendMsgProgressIndicatorListener; public ChangeListener<Number> sendMsgProgressIndicatorListener;
final Pane bg = new Pane(); final Pane bg = new Pane();
final ImageView arrow = new ImageView(); final ImageView arrow = new ImageView();
@ -446,7 +446,7 @@ public class TraderDisputeView extends ActivatableView<VBox, Void> {
} }
@Override @Override
public void updateItem(final DisputeDirectMessage item, boolean empty) { public void updateItem(final DisputeCommunicationMessage item, boolean empty) {
super.updateItem(item, empty); super.updateItem(item, empty);
if (item != null && !empty) { if (item != null && !empty) {