mirror of
https://github.com/haveno-dex/haveno.git
synced 2025-08-03 12:16:27 -04:00
Use sets instead of lists, fix threading issues
This commit is contained in:
parent
a1993a5d9a
commit
81bf4b65d4
22 changed files with 107 additions and 852 deletions
|
@ -29,8 +29,7 @@ import org.slf4j.LoggerFactory;
|
|||
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
import java.util.concurrent.CopyOnWriteArraySet;
|
||||
|
||||
public class Navigation implements Serializable {
|
||||
// That object is saved to disc. We need to take care of changes to not break deserialization.
|
||||
|
@ -46,7 +45,7 @@ public class Navigation implements Serializable {
|
|||
|
||||
// New listeners can be added during iteration so we use CopyOnWriteArrayList to
|
||||
// prevent invalid array modification
|
||||
transient private final List<Listener> listeners = new CopyOnWriteArrayList<>();
|
||||
transient private final CopyOnWriteArraySet<Listener> listeners = new CopyOnWriteArraySet<>();
|
||||
transient private final Storage<Navigation> remoteStorage;
|
||||
transient private ViewPath currentPath;
|
||||
// Used for returning to the last important view. After setup is done we want to
|
||||
|
|
|
@ -30,7 +30,7 @@ import org.slf4j.LoggerFactory;
|
|||
import javax.inject.Inject;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
import java.util.concurrent.CopyOnWriteArraySet;
|
||||
|
||||
/**
|
||||
* Holds and manages the unsorted and unfiltered offerbook list of both buy and sell offers.
|
||||
|
@ -91,7 +91,7 @@ public class OfferBook {
|
|||
public void fillOfferBookListItems() {
|
||||
log.debug("fillOfferBookListItems");
|
||||
List<Offer> offers = offerBookService.getOffers();
|
||||
CopyOnWriteArrayList<OfferBookListItem> list = new CopyOnWriteArrayList<>();
|
||||
CopyOnWriteArraySet<OfferBookListItem> list = new CopyOnWriteArraySet<>();
|
||||
offers.stream().forEach(e -> list.add(new OfferBookListItem(e)));
|
||||
offerBookListItems.clear();
|
||||
offerBookListItems.addAll(list);
|
||||
|
|
|
@ -30,8 +30,8 @@ import javafx.scene.layout.*;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.CopyOnWriteArraySet;
|
||||
|
||||
public class FormBuilder {
|
||||
private static final Logger log = LoggerFactory.getLogger(FormBuilder.class);
|
||||
|
@ -633,7 +633,7 @@ public class FormBuilder {
|
|||
}
|
||||
|
||||
public static void removeRowsFromGridPane(GridPane gridPane, int fromGridRow, int toGridRow) {
|
||||
List<Node> nodes = new CopyOnWriteArrayList<>(gridPane.getChildren());
|
||||
Set<Node> nodes = new CopyOnWriteArraySet<>(gridPane.getChildren());
|
||||
nodes.stream()
|
||||
.filter(e -> GridPane.getRowIndex(e) >= fromGridRow && GridPane.getRowIndex(e) <= toGridRow)
|
||||
.forEach(e -> gridPane.getChildren().remove(e));
|
||||
|
|
|
@ -24,7 +24,6 @@
|
|||
<logger name="io.bitsquare.storage.FileManager" level="WARN"/>
|
||||
|
||||
<logger name="org.bitcoinj" level="WARN"/>
|
||||
<logger name="net.tomp2p" level="WARN"/>
|
||||
|
||||
<logger name="org.bitcoinj.core.BitcoinSerializer" level="WARN"/>
|
||||
<logger name="org.bitcoinj.core.Peer" level="WARN"/>
|
||||
|
@ -36,10 +35,6 @@
|
|||
<logger name="org.bitcoinj.core.BitcoinSerializer" level="ERROR"/>
|
||||
<logger name="org.bitcoinj.core.Peer" level="ERROR"/>-->
|
||||
|
||||
<!-- <logger name="net.tomp2p.message.Encoder" level="WARN"/>
|
||||
<logger name="net.tomp2p.message.Decoder" level="WARN"/>
|
||||
<logger name="net.tomp2p.message.MessageHeaderCodec" level="WARN"/>
|
||||
|
||||
|
||||
<logger name="io.netty.util" level="WARN"/>
|
||||
<logger name="io.netty.channel" level="WARN"/>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue