Remove #initialize method from model classes

... in favor of initialization via constructors. It's fine to break out
a separate private initialization method, but it appears to be
unnecessary to formally model an initialization lifecycle distinct from
construction.
This commit is contained in:
Chris Beams 2014-11-22 11:22:18 +01:00
parent c7e98df174
commit feb891b0dc
No known key found for this signature in database
GPG Key ID: 3D214F8F5BC5ED73
22 changed files with 23 additions and 151 deletions

View File

@ -64,9 +64,6 @@ public class CachedViewCB<T extends PresentationModel> extends ViewCB<T> {
deactivate();
});
}
if (presentationModel != null)
presentationModel.initialize();
}
/**

View File

@ -32,12 +32,6 @@ public class PresentationModel<T extends UIModel> {
public PresentationModel() {
}
public void initialize() {
log.trace("Lifecycle: initialize " + this.getClass().getSimpleName());
if (model != null)
model.initialize();
}
public void activate() {
log.trace("Lifecycle: activate " + this.getClass().getSimpleName());
if (model != null)

View File

@ -23,10 +23,6 @@ import org.slf4j.LoggerFactory;
public class UIModel {
private static final Logger log = LoggerFactory.getLogger(UIModel.class);
public void initialize() {
log.trace("Lifecycle: initialize " + this.getClass().getSimpleName());
}
public void activate() {
log.trace("Lifecycle: activate " + this.getClass().getSimpleName());
}

View File

@ -68,9 +68,6 @@ public class ViewCB<T extends PresentationModel> implements Initializable {
terminate();
});
}
if (presentationModel != null)
presentationModel.initialize();
}
/**

View File

@ -62,11 +62,7 @@ class FiatAccountPM extends PresentationModel<FiatAccountModel> {
public FiatAccountPM(FiatAccountModel model, BankAccountNumberValidator bankAccountNumberValidator) {
super(model);
this.bankAccountNumberValidator = bankAccountNumberValidator;
}
@Override
public void initialize() {
// input
title.bindBidirectional(model.title);
holderName.bindBidirectional(model.holderName);
@ -86,8 +82,6 @@ class FiatAccountPM extends PresentationModel<FiatAccountModel> {
holderName.addListener((ov, oldValue, newValue) -> validateInput());
primaryID.addListener((ov, oldValue, newValue) -> validateInput());
secondaryID.addListener((ov, oldValue, newValue) -> validateInput());
super.initialize();
}
@Override

View File

@ -75,12 +75,6 @@ class IrcAccountModel extends UIModel {
this.user = user;
this.accountSettings = accountSettings;
this.messageService = messageService;
}
@Override
public void initialize() {
super.initialize();
if (accountSettings.getAcceptedArbitrators().isEmpty())
addMockArbitrator();

View File

@ -51,19 +51,13 @@ class IrcAccountPM extends PresentationModel<IrcAccountModel> {
public IrcAccountPM(IrcAccountModel model, BankAccountNumberValidator nickNameValidator) {
super(model);
this.nickNameValidator = nickNameValidator;
}
@Override
public void initialize() {
// input
ircNickName.bindBidirectional(model.nickName);
type.bindBidirectional(model.type);
currency.bindBidirectional(model.currency);
model.nickName.addListener((ov, oldValue, newValue) -> validateInput());
super.initialize();
}

View File

@ -66,12 +66,6 @@ class RegistrationModel extends UIModel {
this.walletService = walletService;
this.user = user;
this.persistence = persistence;
}
@Override
public void initialize() {
super.initialize();
if (walletService != null && walletService.getWallet() != null) {
addressEntry = walletService.getRegistrationAddressEntry();

View File

@ -51,12 +51,6 @@ class RegistrationPM extends PresentationModel<RegistrationModel> {
public RegistrationPM(RegistrationModel model, BSFormatter formatter) {
super(model);
this.formatter = formatter;
}
@Override
public void initialize() {
super.initialize();
if (model.getAddressEntry() != null) {
address.set(model.getAddressEntry().getAddress());

View File

@ -65,12 +65,6 @@ class RestrictionsModel extends UIModel {
this.accountSettings = accountSettings;
this.persistence = persistence;
this.messageService = messageService;
}
@Override
public void initialize() {
super.initialize();
AccountSettings persistedAccountSettings = (AccountSettings) persistence.read(accountSettings);
if (persistedAccountSettings != null) {

View File

@ -28,19 +28,10 @@ import javafx.beans.property.StringProperty;
class SeedWordsPM extends PresentationModel<SeedWordsModel> {
final StringProperty seedWords = new SimpleStringProperty();
private final BSFormatter formatter;
@Inject
public SeedWordsPM(SeedWordsModel model, BSFormatter formatter) {
super(model);
this.formatter = formatter;
}
@Override
public void initialize() {
super.initialize();
if (model.getMnemonicCode() != null)
seedWords.set(formatter.mnemonicCodeToString(model.getMnemonicCode()));

View File

@ -36,26 +36,20 @@ class ClosedTradesModel extends UIModel {
private final User user;
private final ObservableList<ClosedTradesListItem> list = FXCollections.observableArrayList();
private MapChangeListener<String, Trade> mapChangeListener;
private final MapChangeListener<String, Trade> mapChangeListener;
@Inject
public ClosedTradesModel(TradeManager tradeManager, User user) {
this.tradeManager = tradeManager;
this.user = user;
}
@Override
public void initialize() {
mapChangeListener = change -> {
this.mapChangeListener = change -> {
if (change.wasAdded())
list.add(new ClosedTradesListItem(change.getValueAdded()));
else if (change.wasRemoved())
list.removeIf(e -> e.getTrade().getId().equals(change.getValueRemoved().getId()));
};
super.initialize();
}
@Override

View File

@ -37,26 +37,20 @@ class OffersModel extends UIModel {
private final User user;
private final ObservableList<OfferListItem> list = FXCollections.observableArrayList();
private MapChangeListener<String, Offer> offerMapChangeListener;
private final MapChangeListener<String, Offer> offerMapChangeListener;
@Inject
public OffersModel(TradeManager tradeManager, User user) {
this.tradeManager = tradeManager;
this.user = user;
}
@Override
public void initialize() {
offerMapChangeListener = change -> {
this.offerMapChangeListener = change -> {
if (change.wasAdded())
list.add(new OfferListItem(change.getValueAdded()));
else if (change.wasRemoved())
list.removeIf(e -> e.getOffer().getId().equals(change.getValueRemoved().getId()));
};
super.initialize();
}
@Override

View File

@ -66,11 +66,11 @@ class PendingTradesModel extends UIModel {
private PendingTradesListItem selectedItem;
private boolean isOfferer;
private Trade closedTrade;
private TxConfidenceListener txConfidenceListener;
private ChangeListener<Trade.State> stateChangeListener;
private ChangeListener<Throwable> faultChangeListener;
private MapChangeListener<String, Trade> mapChangeListener;
private final ChangeListener<Trade.State> stateChangeListener;
private final ChangeListener<Throwable> faultChangeListener;
private final MapChangeListener<String, Trade> mapChangeListener;
final StringProperty txId = new SimpleStringProperty();
final ObjectProperty<Trade.State> tradeState = new SimpleObjectProperty<>();
@ -82,15 +82,11 @@ class PendingTradesModel extends UIModel {
this.tradeManager = tradeManager;
this.walletService = walletService;
this.user = user;
}
this.stateChangeListener = (ov, oldValue, newValue) -> tradeState.set(newValue);
this.faultChangeListener = (ov, oldValue, newValue) -> fault.set(newValue);
@Override
public void initialize() {
stateChangeListener = (ov, oldValue, newValue) -> tradeState.set(newValue);
faultChangeListener = (ov, oldValue, newValue) -> fault.set(newValue);
mapChangeListener = change -> {
this.mapChangeListener = change -> {
if (change.wasAdded())
list.add(new PendingTradesListItem(change.getValueAdded()));
else if (change.wasRemoved())
@ -98,8 +94,6 @@ class PendingTradesModel extends UIModel {
sortList();
};
super.initialize();
}
@Override
@ -148,7 +142,7 @@ class PendingTradesModel extends UIModel {
trade.stateProperty().addListener(stateChangeListener);
tradeState.set(trade.stateProperty().get());
log.trace("selectTrade trade.stateProperty().get() " + trade.stateProperty().get());
if (trade.getDepositTx() != null)
txId.set(trade.getDepositTx().getHashAsString());

View File

@ -59,7 +59,7 @@ class PendingTradesPM extends PresentationModel<PendingTradesModel> {
}
private final BSFormatter formatter;
private InvalidationListener stateChangeListener;
private final InvalidationListener stateChangeListener;
private final BtcAddressValidator btcAddressValidator;
final StringProperty txId = new SimpleStringProperty();
@ -75,14 +75,7 @@ class PendingTradesPM extends PresentationModel<PendingTradesModel> {
this.formatter = formatter;
this.btcAddressValidator = btcAddressValidator;
}
@Override
public void initialize() {
stateChangeListener = (ov) -> updateState();
super.initialize();
this.stateChangeListener = (ov) -> updateState();
}
@Override

View File

@ -118,14 +118,8 @@ class CreateOfferModel extends UIModel {
this.user = user;
this.persistence = persistence;
this.formatter = formatter;
this.offerId = UUID.randomUUID().toString();
offerId = UUID.randomUUID().toString();
}
@Override
public void initialize() {
// static data
offerFeeAsCoin.set(FeePolicy.CREATE_OFFER_FEE);
networkFeeAsCoin.set(FeePolicy.TX_FEE);
@ -153,8 +147,6 @@ class CreateOfferModel extends UIModel {
// we need to set it here already as initWithData is called before activate
if (accountSettings != null)
securityDepositAsCoin.set(accountSettings.getSecurityDeposit());
super.initialize();
}
@Override

View File

@ -99,14 +99,7 @@ class CreateOfferPM extends PresentationModel<CreateOfferModel> {
this.fiatValidator = fiatValidator;
this.btcValidator = btcValidator;
this.formatter = formatter;
}
@Override
public void initialize() {
super.initialize();
// static
paymentLabel.set(BSResources.get("createOffer.fundsBox.paymentLabel", model.getOfferId()));
if (model.getAddressEntry() != null) {

View File

@ -63,7 +63,7 @@ class OfferBookModel extends UIModel {
private final FilteredList<OfferBookListItem> filteredItems;
private final SortedList<OfferBookListItem> sortedItems;
// private OfferBookInfo offerBookInfo;
private ChangeListener<BankAccount> bankAccountChangeListener;
private final ChangeListener<BankAccount> bankAccountChangeListener;
private final ObjectProperty<Coin> amountAsCoin = new SimpleObjectProperty<>();
private final ObjectProperty<Fiat> priceAsFiat = new SimpleObjectProperty<>();
@ -86,16 +86,9 @@ class OfferBookModel extends UIModel {
this.preferences = preferences;
this.formatter = formatter;
filteredItems = new FilteredList<>(offerBook.getOfferBookListItems());
sortedItems = new SortedList<>(filteredItems);
}
@Override
public void initialize() {
bankAccountChangeListener = (observableValue, oldValue, newValue) -> setBankAccount(newValue);
super.initialize();
this.filteredItems = new FilteredList<>(offerBook.getOfferBookListItems());
this.sortedItems = new SortedList<>(filteredItems);
this.bankAccountChangeListener = (observableValue, oldValue, newValue) -> setBankAccount(newValue);
}
@Override

View File

@ -57,12 +57,6 @@ class OfferBookPM extends PresentationModel<OfferBookModel> {
this.optionalFiatValidator = optionalFiatValidator;
this.optionalBtcValidator = optionalBtcValidator;
this.formatter = formatter;
}
@Override
public void initialize() {
super.initialize();
btcCode.bind(model.btcCode);
fiatCode.bind(model.fiatCode);

View File

@ -85,12 +85,6 @@ class TakeOfferModel extends UIModel {
this.walletService = walletService;
this.preferences = preferences;
this.persistence = persistence;
}
@Override
public void initialize() {
super.initialize();
offerFeeAsCoin.set(FeePolicy.CREATE_OFFER_FEE);
networkFeeAsCoin.set(FeePolicy.TX_FEE);

View File

@ -42,8 +42,6 @@ import static javafx.beans.binding.Bindings.createStringBinding;
class TakeOfferPM extends PresentationModel<TakeOfferModel> {
private String offerFee;
private String networkFee;
private String fiatCode;
private String amountRange;
private String price;
@ -62,6 +60,8 @@ class TakeOfferPM extends PresentationModel<TakeOfferModel> {
private final BtcValidator btcValidator;
private final BSFormatter formatter;
private final String offerFee;
private final String networkFee;
final StringProperty amount = new SimpleStringProperty();
final StringProperty volume = new SimpleStringProperty();
@ -91,16 +91,9 @@ class TakeOfferPM extends PresentationModel<TakeOfferModel> {
this.btcValidator = btcValidator;
this.formatter = formatter;
}
@Override
public void initialize() {
super.initialize();
// static
offerFee = formatter.formatCoinWithCode(model.offerFeeAsCoin.get());
networkFee = formatter.formatCoinWithCode(model.networkFeeAsCoin.get());
this.offerFee = formatter.formatCoinWithCode(model.offerFeeAsCoin.get());
this.networkFee = formatter.formatCoinWithCode(model.networkFeeAsCoin.get());
setupBindings();
setupListeners();

View File

@ -51,7 +51,6 @@ public class CreateOfferPMTest {
model = new CreateOfferModel(null, null, null, null, null, null, formatter);
presenter = new CreateOfferPM(model, new FiatValidator(null), new BtcValidator(), formatter);
presenter.initialize();
}
@Test