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
* 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);
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,...)
*/
public void activate() {
log.trace("Lifecycle: activate " + this.getClass().getSimpleName());
@Override
public final void activate() {
if (model != null)
model.activate();
doActivate();
}
protected void doActivate() {
}
/**
* Used for deactivating resources (removing listeners, stopping timers or animations,...)
*/
public void deactivate() {
log.trace("Lifecycle: deactivate " + this.getClass().getSimpleName());
@Override
public final void deactivate() {
if (model != null)
model.deactivate();
doDeactivate();
}
protected void doDeactivate() {
}
/**

View File

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

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
///////////////////////////////////////////////////////////////////////////////////////////

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

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
///////////////////////////////////////////////////////////////////////////////////////////

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -31,34 +31,6 @@ import org.slf4j.LoggerFactory;
public class HomeViewCB extends CachedViewCB {
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() {
}
///////////////////////////////////////////////////////////////////////////////////////////
// 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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -93,9 +93,7 @@ public class TradeViewCB extends CachedViewCB implements TradeNavigator {
}
@Override
public void activate() {
super.activate();
public void doActivate() {
// We need to remove open validation error popups
// 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...
@ -120,20 +118,11 @@ public class TradeViewCB extends CachedViewCB implements TradeNavigator {
navigation.navigationTo(Navigation.Item.MAIN, navigationItem, Navigation.Item.OFFER_BOOK);
}
@SuppressWarnings("EmptyMethod")
@Override
public void deactivate() {
super.deactivate();
public void doDeactivate() {
navigation.removeListener(listener);
}
@SuppressWarnings("EmptyMethod")
@Override
public void terminate() {
super.terminate();
}
///////////////////////////////////////////////////////////////////////////////////////////
// TradeNavigator implementation

View File

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

View File

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

View File

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