mirror of
https://github.com/haveno-dex/haveno.git
synced 2025-07-28 01:15:26 -04:00
Fix bug with missing update of arbitrator list
This commit is contained in:
parent
16baa3ec8d
commit
d580c7866f
2 changed files with 21 additions and 12 deletions
|
@ -26,6 +26,7 @@ import org.slf4j.Logger;
|
|||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
@ -82,13 +83,19 @@ public class ArbitratorService {
|
|||
}
|
||||
|
||||
public Map<Address, Arbitrator> getArbitrators() {
|
||||
// TODO java.lang.IllegalStateException: Duplicate key
|
||||
Set<Arbitrator> set = p2PService.getDataMap().values().stream()
|
||||
Set<Arbitrator> arbitratorSet = p2PService.getDataMap().values().stream()
|
||||
.filter(e -> e.expirablePayload instanceof Arbitrator)
|
||||
.map(e -> (Arbitrator) e.expirablePayload)
|
||||
.collect(Collectors.toSet());
|
||||
|
||||
return set.stream()
|
||||
.collect(Collectors.toMap(e -> e.getArbitratorAddress(), e -> e));
|
||||
Map<Address, Arbitrator> map = new HashMap<>();
|
||||
for (Arbitrator arbitrator : arbitratorSet) {
|
||||
Address arbitratorAddress = arbitrator.getArbitratorAddress();
|
||||
if (!map.containsKey(arbitratorAddress))
|
||||
map.put(arbitratorAddress, arbitrator);
|
||||
else
|
||||
log.warn("arbitratorAddress already exist in arbitrator map. Seems an arbitrator object is already registered with the same address.");
|
||||
}
|
||||
return map;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue