Apply template methods to CachedViewCB's Activatable methods

... and remove empty lifecycle methods in view classes
This commit is contained in:
Chris Beams 2014-11-22 15:17:21 +01:00
parent a157c09997
commit ba66845c74
No known key found for this signature in database
GPG key ID: 3D214F8F5BC5ED73
25 changed files with 44 additions and 357 deletions

View file

@ -30,7 +30,7 @@ import static com.google.common.base.Preconditions.checkNotNull;
* If caching is used for loader we use the CachedViewController for turning the controller into sleep mode if not * If caching is used for loader we use the CachedViewController for turning the controller into sleep mode if not
* active and awake it at reactivation. * active and awake it at reactivation.
*/ */
public class CachedViewCB<M extends Activatable> extends ViewCB<M> { public class CachedViewCB<M extends Activatable> extends ViewCB<M> implements Activatable {
private static final Logger log = LoggerFactory.getLogger(CachedViewCB.class); private static final Logger log = LoggerFactory.getLogger(CachedViewCB.class);
protected static final Activatable EMPTY_MODEL = new Activatable() { protected static final Activatable EMPTY_MODEL = new Activatable() {
@ -81,21 +81,29 @@ public class CachedViewCB<M extends Activatable> extends ViewCB<M> {
/** /**
* Used to activate resources (adding listeners, starting timers or animations,...) * Used to activate resources (adding listeners, starting timers or animations,...)
*/ */
public void activate() { @Override
log.trace("Lifecycle: activate " + this.getClass().getSimpleName()); public final void activate() {
if (model != null) if (model != null)
model.activate(); model.activate();
doActivate();
}
protected void doActivate() {
} }
/** /**
* Used for deactivating resources (removing listeners, stopping timers or animations,...) * Used for deactivating resources (removing listeners, stopping timers or animations,...)
*/ */
public void deactivate() { @Override
log.trace("Lifecycle: deactivate " + this.getClass().getSimpleName()); public final void deactivate() {
if (model != null) if (model != null)
model.deactivate(); model.deactivate();
doDeactivate();
}
protected void doDeactivate() {
} }
/** /**

View file

@ -90,9 +90,7 @@ public class AccountViewCB extends CachedViewCB {
} }
@Override @Override
public void activate() { public void doActivate() {
super.activate();
navigation.addListener(navigationListener); navigation.addListener(navigationListener);
((TabPane) root).getSelectionModel().selectedItemProperty().addListener(tabChangeListener); ((TabPane) root).getSelectionModel().selectedItemProperty().addListener(tabChangeListener);
@ -114,9 +112,7 @@ public class AccountViewCB extends CachedViewCB {
} }
@Override @Override
public void deactivate() { public void doDeactivate() {
super.deactivate();
navigation.removeListener(navigationListener); navigation.removeListener(navigationListener);
((TabPane) root).getSelectionModel().selectedItemProperty().removeListener(tabChangeListener); ((TabPane) root).getSelectionModel().selectedItemProperty().removeListener(tabChangeListener);
} }

View file

@ -57,34 +57,6 @@ public class ArbitratorSettingsViewCB extends CachedViewCB {
} }
///////////////////////////////////////////////////////////////////////////////////////////
// Lifecycle
///////////////////////////////////////////////////////////////////////////////////////////
@SuppressWarnings("EmptyMethod")
@Override
public void initialize(URL url, ResourceBundle rb) {
super.initialize(url, rb);
}
@SuppressWarnings("EmptyMethod")
@Override
public void deactivate() {
super.deactivate();
}
@SuppressWarnings("EmptyMethod")
@Override
public void activate() {
super.activate();
}
@SuppressWarnings("EmptyMethod")
@Override
public void terminate() {
super.terminate();
}
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
// Navigation // Navigation

View file

@ -91,25 +91,6 @@ public class ArbitratorBrowserViewCB extends CachedViewCB implements ArbitratorL
} }
@SuppressWarnings("EmptyMethod")
@Override
public void activate() {
super.activate();
}
@SuppressWarnings("EmptyMethod")
@Override
public void deactivate() {
super.deactivate();
}
@SuppressWarnings("EmptyMethod")
@Override
public void terminate() {
super.terminate();
}
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
// Navigation // Navigation
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////

View file

@ -65,34 +65,6 @@ public class ArbitratorProfileViewCB extends CachedViewCB {
} }
///////////////////////////////////////////////////////////////////////////////////////////
// Lifecycle
///////////////////////////////////////////////////////////////////////////////////////////
@SuppressWarnings("EmptyMethod")
@Override
public void initialize(URL url, ResourceBundle rb) {
super.initialize(url, rb);
}
@SuppressWarnings("EmptyMethod")
@Override
public void activate() {
super.activate();
}
@SuppressWarnings("EmptyMethod")
@Override
public void deactivate() {
super.deactivate();
}
@SuppressWarnings("EmptyMethod")
@Override
public void terminate() {
super.terminate();
}
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
// Public Methods // Public Methods

View file

@ -194,24 +194,6 @@ public class ArbitratorRegistrationViewCB extends CachedViewCB {
}); });
} }
@SuppressWarnings("EmptyMethod")
@Override
public void activate() {
super.activate();
}
@SuppressWarnings("EmptyMethod")
@Override
public void deactivate() {
super.deactivate();
}
@SuppressWarnings("EmptyMethod")
@Override
public void terminate() {
super.terminate();
}
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
// Public Methods // Public Methods
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////

View file

@ -107,28 +107,13 @@ public class FiatAccountViewCB extends CachedViewCB<FiatAccountPM> implements Co
} }
@Override @Override
public void activate() { public void doActivate() {
super.activate();
setupListeners(); setupListeners();
setupBindings(); setupBindings();
selectionComboBox.setItems(model.getAllBankAccounts()); selectionComboBox.setItems(model.getAllBankAccounts());
} }
@SuppressWarnings("EmptyMethod")
@Override
public void deactivate() {
super.deactivate();
}
@SuppressWarnings("EmptyMethod")
@Override
public void terminate() {
super.terminate();
}
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
// ContextAware implementation // ContextAware implementation
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////

View file

@ -136,9 +136,7 @@ public class IrcAccountViewCB extends CachedViewCB<IrcAccountPM> implements Cont
} }
@Override @Override
public void activate() { public void doActivate() {
super.activate();
setupListeners(); setupListeners();
setupBindings(); setupBindings();
@ -153,18 +151,6 @@ public class IrcAccountViewCB extends CachedViewCB<IrcAccountPM> implements Cont
"bank transfer.")); "bank transfer."));
} }
@SuppressWarnings("EmptyMethod")
@Override
public void deactivate() {
super.deactivate();
}
@SuppressWarnings("EmptyMethod")
@Override
public void terminate() {
super.terminate();
}
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
// ContextAware implementation // ContextAware implementation

View file

@ -94,26 +94,12 @@ public class RestrictionsViewCB extends CachedViewCB<RestrictionsPM> implements
} }
@Override @Override
public void activate() { public void doActivate() {
super.activate();
languagesListView.setItems(model.getLanguageList()); languagesListView.setItems(model.getLanguageList());
countriesListView.setItems(model.getCountryList()); countriesListView.setItems(model.getCountryList());
arbitratorsListView.setItems(model.getArbitratorList()); arbitratorsListView.setItems(model.getArbitratorList());
} }
@SuppressWarnings("EmptyMethod")
@Override
public void deactivate() {
super.deactivate();
}
@SuppressWarnings("EmptyMethod")
@Override
public void terminate() {
super.terminate();
}
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
// ContextAware implementation // ContextAware implementation

View file

@ -108,9 +108,7 @@ public class AccountSettingsViewCB extends CachedViewCB {
} }
@Override @Override
public void activate() { public void doActivate() {
super.activate();
navigation.addListener(listener); navigation.addListener(listener);
Navigation.Item[] items = navigation.getCurrentItems(); Navigation.Item[] items = navigation.getCurrentItems();
if (items.length == 3 && if (items.length == 3 &&
@ -128,18 +126,10 @@ public class AccountSettingsViewCB extends CachedViewCB {
} }
@Override @Override
public void deactivate() { public void doDeactivate() {
super.deactivate();
navigation.removeListener(listener); navigation.removeListener(listener);
} }
@SuppressWarnings("EmptyMethod")
@Override
public void terminate() {
super.terminate();
}
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
// Public Methods // Public Methods

View file

@ -79,9 +79,7 @@ public class FundsViewCB extends CachedViewCB {
} }
@Override @Override
public void activate() { public void doActivate() {
super.activate();
((TabPane) root).getSelectionModel().selectedItemProperty().addListener(tabChangeListener); ((TabPane) root).getSelectionModel().selectedItemProperty().addListener(tabChangeListener);
navigation.addListener(navigationListener); navigation.addListener(navigationListener);
@ -92,9 +90,7 @@ public class FundsViewCB extends CachedViewCB {
} }
@Override @Override
public void deactivate() { public void doDeactivate() {
super.deactivate();
((TabPane) root).getSelectionModel().selectedItemProperty().removeListener(tabChangeListener); ((TabPane) root).getSelectionModel().selectedItemProperty().removeListener(tabChangeListener);
navigation.removeListener(navigationListener); navigation.removeListener(navigationListener);
} }

View file

@ -81,9 +81,7 @@ public class TransactionsViewCB extends CachedViewCB {
} }
@Override @Override
public void activate() { public void doActivate() {
super.activate();
List<Transaction> transactions = walletService.getWallet().getRecentTransactions(10000, true); List<Transaction> transactions = walletService.getWallet().getRecentTransactions(10000, true);
transactionsListItems = FXCollections.observableArrayList(); transactionsListItems = FXCollections.observableArrayList();
transactionsListItems.addAll(transactions.stream().map(transaction -> transactionsListItems.addAll(transactions.stream().map(transaction ->
@ -93,9 +91,7 @@ public class TransactionsViewCB extends CachedViewCB {
} }
@Override @Override
public void deactivate() { public void doDeactivate() {
super.deactivate();
for (TransactionsListItem transactionsListItem : transactionsListItems) for (TransactionsListItem transactionsListItem : transactionsListItems)
transactionsListItem.cleanup(); transactionsListItem.cleanup();
} }

View file

@ -102,9 +102,7 @@ public class WithdrawalViewCB extends CachedViewCB {
} }
@Override @Override
public void activate() { public void doActivate() {
super.activate();
table.getSelectionModel().selectedItemProperty().addListener((observableValue, oldValue, newValue) -> { table.getSelectionModel().selectedItemProperty().addListener((observableValue, oldValue, newValue) -> {
if (newValue != null) { if (newValue != null) {
@ -133,19 +131,11 @@ public class WithdrawalViewCB extends CachedViewCB {
} }
@Override @Override
public void deactivate() { public void doDeactivate() {
super.deactivate();
for (WithdrawalListItem item : addressList) for (WithdrawalListItem item : addressList)
item.cleanup(); item.cleanup();
} }
@SuppressWarnings("EmptyMethod")
@Override
public void terminate() {
super.terminate();
}
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
// UI handlers // UI handlers

View file

@ -31,34 +31,6 @@ import org.slf4j.LoggerFactory;
public class HomeViewCB extends CachedViewCB { public class HomeViewCB extends CachedViewCB {
private static final Logger log = LoggerFactory.getLogger(HomeViewCB.class); private static final Logger log = LoggerFactory.getLogger(HomeViewCB.class);
///////////////////////////////////////////////////////////////////////////////////////////
// Lifecycle
///////////////////////////////////////////////////////////////////////////////////////////
@SuppressWarnings("EmptyMethod")
@Override
public void initialize(URL url, ResourceBundle rb) {
super.initialize(url, rb);
}
@SuppressWarnings("EmptyMethod")
@Override
public void terminate() {
super.terminate();
}
@SuppressWarnings("EmptyMethod")
@Override
public void deactivate() {
super.deactivate();
}
@SuppressWarnings("EmptyMethod")
@Override
public void activate() {
super.activate();
}
} }

View file

@ -46,34 +46,6 @@ public class MsgViewCB extends CachedViewCB {
private MsgViewCB() { private MsgViewCB() {
} }
///////////////////////////////////////////////////////////////////////////////////////////
// Lifecycle
///////////////////////////////////////////////////////////////////////////////////////////
@SuppressWarnings("EmptyMethod")
@Override
public void initialize(URL url, ResourceBundle rb) {
super.initialize(url, rb);
}
@SuppressWarnings("EmptyMethod")
@Override
public void terminate() {
super.terminate();
}
@SuppressWarnings("EmptyMethod")
@Override
public void deactivate() {
super.deactivate();
}
@SuppressWarnings("EmptyMethod")
@Override
public void activate() {
super.activate();
}
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
// Navigation // Navigation

View file

@ -86,9 +86,7 @@ public class PortfolioViewCB extends CachedViewCB {
} }
@Override @Override
public void activate() { public void doActivate() {
super.activate();
((TabPane) root).getSelectionModel().selectedItemProperty().addListener(tabChangeListener); ((TabPane) root).getSelectionModel().selectedItemProperty().addListener(tabChangeListener);
navigation.addListener(navigationListener); navigation.addListener(navigationListener);
@ -99,20 +97,12 @@ public class PortfolioViewCB extends CachedViewCB {
} }
@Override @Override
public void deactivate() { public void doDeactivate() {
super.deactivate();
((TabPane) root).getSelectionModel().selectedItemProperty().removeListener(tabChangeListener); ((TabPane) root).getSelectionModel().selectedItemProperty().removeListener(tabChangeListener);
navigation.removeListener(navigationListener); navigation.removeListener(navigationListener);
currentTab = null; currentTab = null;
} }
@SuppressWarnings("EmptyMethod")
@Override
public void terminate() {
super.terminate();
}
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
// Navigation // Navigation

View file

@ -72,24 +72,10 @@ public class ClosedTradesViewCB extends CachedViewCB<ClosedTradesPM> {
} }
@Override @Override
public void activate() { public void doActivate() {
super.activate();
table.setItems(model.getList()); table.setItems(model.getList());
} }
@SuppressWarnings("EmptyMethod")
@Override
public void deactivate() {
super.deactivate();
}
@SuppressWarnings("EmptyMethod")
@Override
public void terminate() {
super.terminate();
}
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
// Private Methods // Private Methods

View file

@ -75,25 +75,10 @@ public class OffersViewCB extends CachedViewCB<OffersPM> {
} }
@Override @Override
public void activate() { public void doActivate() {
super.activate();
table.setItems(model.getList()); table.setItems(model.getList());
} }
@SuppressWarnings("EmptyMethod")
@Override
public void deactivate() {
super.deactivate();
}
@SuppressWarnings("EmptyMethod")
@Override
public void terminate() {
super.terminate();
}
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
// Private Methods // Private Methods
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////

View file

@ -149,9 +149,7 @@ public class PendingTradesViewCB extends CachedViewCB<PendingTradesPM> {
} }
@Override @Override
public void activate() { public void doActivate() {
super.activate();
table.setItems(model.getList()); table.setItems(model.getList());
model.getList().addListener(listChangeListener); model.getList().addListener(listChangeListener);
@ -174,9 +172,7 @@ public class PendingTradesViewCB extends CachedViewCB<PendingTradesPM> {
} }
@Override @Override
public void deactivate() { public void doDeactivate() {
super.deactivate();
table.getSelectionModel().selectedItemProperty().removeListener(selectedItemChangeListener); table.getSelectionModel().selectedItemProperty().removeListener(selectedItemChangeListener);
model.getList().removeListener(listChangeListener); model.getList().removeListener(listChangeListener);
model.txId.removeListener(txIdChangeListener); model.txId.removeListener(txIdChangeListener);

View file

@ -84,9 +84,7 @@ public class SettingsViewCB extends CachedViewCB {
} }
@Override @Override
public void activate() { public void doActivate() {
super.activate();
((TabPane) root).getSelectionModel().selectedItemProperty().addListener(tabChangeListener); ((TabPane) root).getSelectionModel().selectedItemProperty().addListener(tabChangeListener);
navigation.addListener(navigationListener); navigation.addListener(navigationListener);
@ -101,9 +99,7 @@ public class SettingsViewCB extends CachedViewCB {
} }
@Override @Override
public void deactivate() { public void doDeactivate() {
super.deactivate();
((TabPane) root).getSelectionModel().selectedItemProperty().removeListener(tabChangeListener); ((TabPane) root).getSelectionModel().selectedItemProperty().removeListener(tabChangeListener);
navigation.removeListener(navigationListener); navigation.removeListener(navigationListener);
} }

View file

@ -62,9 +62,7 @@ public class PreferencesViewCB extends CachedViewCB<PreferencesPM> {
} }
@Override @Override
public void activate() { public void doActivate() {
super.activate();
btcDenominationComboBox.setItems(model.getBtcDenominationItems()); btcDenominationComboBox.setItems(model.getBtcDenominationItems());
btcDenominationComboBox.getSelectionModel().select(model.btcDenomination().get()); btcDenominationComboBox.getSelectionModel().select(model.btcDenomination().get());
@ -74,19 +72,11 @@ public class PreferencesViewCB extends CachedViewCB<PreferencesPM> {
} }
@Override @Override
public void deactivate() { public void doDeactivate() {
super.deactivate();
useAnimationsCheckBox.selectedProperty().unbind(); useAnimationsCheckBox.selectedProperty().unbind();
useEffectsCheckBox.selectedProperty().unbind(); useEffectsCheckBox.selectedProperty().unbind();
} }
@SuppressWarnings("EmptyMethod")
@Override
public void terminate() {
super.terminate();
}
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
// UI Handlers // UI Handlers

View file

@ -93,9 +93,7 @@ public class TradeViewCB extends CachedViewCB implements TradeNavigator {
} }
@Override @Override
public void activate() { public void doActivate() {
super.activate();
// We need to remove open validation error popups // We need to remove open validation error popups
// Platform.runLater needed as focus-out event is called after selectedIndexProperty changed // Platform.runLater needed as focus-out event is called after selectedIndexProperty changed
// TODO Find a way to do that in the InputTextField directly, but a tab change does not trigger any event... // TODO Find a way to do that in the InputTextField directly, but a tab change does not trigger any event...
@ -120,20 +118,11 @@ public class TradeViewCB extends CachedViewCB implements TradeNavigator {
navigation.navigationTo(Navigation.Item.MAIN, navigationItem, Navigation.Item.OFFER_BOOK); navigation.navigationTo(Navigation.Item.MAIN, navigationItem, Navigation.Item.OFFER_BOOK);
} }
@SuppressWarnings("EmptyMethod")
@Override @Override
public void deactivate() { public void doDeactivate() {
super.deactivate();
navigation.removeListener(listener); navigation.removeListener(listener);
} }
@SuppressWarnings("EmptyMethod")
@Override
public void terminate() {
super.terminate();
}
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
// TradeNavigator implementation // TradeNavigator implementation

View file

@ -140,15 +140,8 @@ public class CreateOfferViewCB extends CachedViewCB<CreateOfferPM> {
volumeTextField.setPromptText(BSResources.get("createOffer.volume.prompt", model.fiatCode.get())); volumeTextField.setPromptText(BSResources.get("createOffer.volume.prompt", model.fiatCode.get()));
} }
@SuppressWarnings("EmptyMethod") @Override
public void activate() { public void doDeactivate() {
super.activate();
}
@SuppressWarnings("EmptyMethod")
public void deactivate() {
super.deactivate();
tabIsClosable.unbind(); tabIsClosable.unbind();
} }

View file

@ -140,9 +140,7 @@ public class OfferBookViewCB extends CachedViewCB<OfferBookPM> {
} }
@Override @Override
public void activate() { public void doActivate() {
super.activate();
amountTextField.setText(""); amountTextField.setText("");
priceTextField.setText(""); priceTextField.setText("");
volumeTextField.setText(""); volumeTextField.setText("");
@ -158,19 +156,9 @@ public class OfferBookViewCB extends CachedViewCB<OfferBookPM> {
table.sort(); table.sort();
} }
@SuppressWarnings("EmptyMethod")
@Override @Override
public void deactivate() { public void doDeactivate() {
super.deactivate();
removeBindings(); removeBindings();
}
@SuppressWarnings("EmptyMethod")
@Override
public void terminate() {
super.terminate();
} }

View file

@ -133,16 +133,6 @@ public class TakeOfferViewCB extends CachedViewCB<TakeOfferPM> {
setupBindings(); setupBindings();
} }
@SuppressWarnings("EmptyMethod")
public void activate() {
super.activate();
}
@SuppressWarnings("EmptyMethod")
public void deactivate() {
super.deactivate();
}
@Override @Override
public void terminate() { public void terminate() {
super.terminate(); super.terminate();