synchronize access to get closed trade by id

This commit is contained in:
woodser 2025-02-16 20:59:36 -05:00
parent c3b7289943
commit e4fa5f520d
3 changed files with 4 additions and 6 deletions

View File

@ -47,7 +47,6 @@ import haveno.core.support.messages.ChatMessage;
import haveno.core.support.traderchat.TradeChatSession;
import haveno.core.support.traderchat.TraderChatManager;
import haveno.core.trade.ClosedTradableManager;
import haveno.core.trade.Tradable;
import haveno.core.trade.Trade;
import haveno.core.trade.TradeManager;
import haveno.core.trade.TradeUtil;
@ -223,8 +222,7 @@ class CoreTradesService {
}
private Optional<Trade> getClosedTrade(String tradeId) {
Optional<Tradable> tradable = closedTradableManager.getTradeById(tradeId);
return tradable.filter((t) -> t instanceof Trade).map(value -> (Trade) value);
return closedTradableManager.getTradeById(tradeId);
}
List<Trade> getTrades() {

View File

@ -150,9 +150,9 @@ public class ClosedTradableManager implements PersistedDataHost {
}
}
public Optional<Tradable> getTradeById(String id) {
public Optional<Trade> getTradeById(String id) {
synchronized (closedTradables) {
return closedTradables.stream().filter(e -> e instanceof Trade && e.getId().equals(id)).findFirst();
return getClosedTrades().stream().filter(e -> e.getId().equals(id)).findFirst();
}
}

View File

@ -1315,7 +1315,7 @@ public class TradeManager implements PersistedDataHost, DecryptedDirectMessageLi
}
public Optional<Trade> getClosedTrade(String tradeId) {
return closedTradableManager.getClosedTrades().stream().filter(e -> e.getId().equals(tradeId)).findFirst();
return closedTradableManager.getTradeById(tradeId);
}
public Optional<Trade> getFailedTrade(String tradeId) {