Fix observable lists

This commit is contained in:
Manfred Karrer 2015-03-24 21:41:09 +01:00
parent b96b133c31
commit d9047ec1b2
3 changed files with 17 additions and 12 deletions

View File

@ -79,8 +79,10 @@ public class TomP2PAddressService extends TomP2PDHTService implements AddressSer
@Override
public void shutDown() {
timerForIPCheck.cancel();
timerForStoreAddress.cancel();
if (timerForIPCheck != null)
timerForIPCheck.cancel();
if (timerForStoreAddress != null)
timerForStoreAddress.cancel();
removeAddress();
super.shutDown();
}

View File

@ -31,20 +31,20 @@ import javafx.collections.ObservableList;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class TradesList extends ArrayList<Trade> implements Serializable {
public class TradeList extends ArrayList<Trade> implements Serializable {
private static final long serialVersionUID = 1L;
private static final Logger log = LoggerFactory.getLogger(TradesList.class);
transient private static final Logger log = LoggerFactory.getLogger(TradeList.class);
transient final private Storage<TradesList> storage;
transient final private Storage<TradeList> storage;
transient private ObservableList<Trade> observableList;
@Inject
public TradesList(Storage<TradesList> storage) {
public TradeList(Storage<TradeList> storage) {
this.storage = storage;
TradesList persisted = storage.initAndGetPersisted(this);
TradeList persisted = storage.initAndGetPersisted(this);
if (persisted != null) {
addAll(persisted);
this.addAll(persisted);
observableList = FXCollections.observableArrayList(this);
}
else {
@ -55,6 +55,7 @@ public class TradesList extends ArrayList<Trade> implements Serializable {
@Override
public boolean add(Trade trade) {
boolean result = super.add(trade);
observableList.add(trade);
storage.save();
return result;
}
@ -62,6 +63,7 @@ public class TradesList extends ArrayList<Trade> implements Serializable {
@Override
public boolean remove(Object trade) {
boolean result = super.remove(trade);
observableList.remove(trade);
storage.save();
return result;
}
@ -69,4 +71,5 @@ public class TradesList extends ArrayList<Trade> implements Serializable {
public ObservableList<Trade> getObservableList() {
return observableList;
}
}

View File

@ -84,9 +84,9 @@ public class TradeManager {
private final Map<String, OffererAsBuyerProtocol> offererAsBuyerProtocolMap = new HashMap<>();
private final Map<String, CheckOfferAvailabilityProtocol> checkOfferAvailabilityProtocolMap = new HashMap<>();
private final TradesList openOfferTrades;
private final TradesList pendingTrades;
private final TradesList closedTrades;
private final TradeList openOfferTrades;
private final TradeList pendingTrades;
private final TradeList closedTrades;
private final Map<String, MailboxMessage> mailboxMessages = new HashMap<>();
@ -95,7 +95,7 @@ public class TradeManager {
///////////////////////////////////////////////////////////////////////////////////////////
@Inject
public TradeManager(User user, AccountSettings accountSettings, TradesList openOfferTrades, TradesList pendingTrades, TradesList closedTrades,
public TradeManager(User user, AccountSettings accountSettings, TradeList openOfferTrades, TradeList pendingTrades, TradeList closedTrades,
MessageService messageService, MailboxService mailboxService, AddressService addressService, BlockChainService blockChainService,
WalletService walletService, SignatureService signatureService, EncryptionService<MailboxMessage> encryptionService,
OfferBookService offerBookService, @Named("storage.dir") File storageDir) {