Daniel Erez has uploaded a new change for review. Change subject: webadmin: snapshots sub-tab - ensure model listeners ......................................................................
webadmin: snapshots sub-tab - ensure model listeners VMs -> Snapshots sub-sub: Ensure model listeners existence after sign out. Re-adding the listeners in presenter's onUiCommonInit method as VmSnapshotListModel is being initialized on sign in (along with the other list models: VmListModel -> initDetailModels). Change-Id: I006023de74150754d8c79f95b79eb9ad0158b055 Bug-Url: https://bugzilla.redhat.com/1058618 Signed-off-by: Daniel Erez <[email protected]> --- M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/AbstractModelBoundTableWidget.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/VmSnapshotListModelTable.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/virtualMachine/SubTabVirtualMachineSnapshotPresenter.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/virtualMachine/SubTabVirtualMachineSnapshotView.java 4 files changed, 41 insertions(+), 12 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/36/25536/1 diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/AbstractModelBoundTableWidget.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/AbstractModelBoundTableWidget.java index f4a506d..5009829 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/AbstractModelBoundTableWidget.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/AbstractModelBoundTableWidget.java @@ -82,4 +82,5 @@ */ public abstract void initTable(CommonApplicationConstants constants); + public void addModelListeners() { } } diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/VmSnapshotListModelTable.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/VmSnapshotListModelTable.java index 5d82132..81ea7b6 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/VmSnapshotListModelTable.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/VmSnapshotListModelTable.java @@ -51,6 +51,20 @@ private final CommonApplicationMessages messages; private final CommonApplicationConstants constants; + private final IEventListener entityChangedEvent = new IEventListener() { + @Override + public void eventRaised(Event ev, Object sender, EventArgs args) { + updateMemoryColumnVisibility(); + } + }; + + private final IEventListener selectedItemChangedEvent = new IEventListener() { + @Override + public void eventRaised(Event ev, Object sender, EventArgs args) { + updateSnapshotInfo(); + } + }; + VmSnapshotInfoPanel vmSnapshotInfoPanel; public VmSnapshotListModelTable(DataBoundTabModelProvider<Snapshot, L> modelProvider, @@ -85,18 +99,17 @@ initActionButtons(constants); // Add event listeners - getModel().getEntityChangedEvent().addListener(new IEventListener() { - @Override - public void eventRaised(Event ev, Object sender, EventArgs args) { - updateMemoryColumnVisibility(); - } - }); - getModel().getSelectedItemChangedEvent().addListener(new IEventListener() { - @Override - public void eventRaised(Event ev, Object sender, EventArgs args) { - updateSnapshotInfo(); - } - }); + addModelListeners(); + } + + @Override + public void addModelListeners() { + if (!getModel().getEntityChangedEvent().getListeners().contains(entityChangedEvent)) { + getModel().getEntityChangedEvent().addListener(entityChangedEvent); + } + if (!getModel().getSelectedItemChangedEvent().getListeners().contains(selectedItemChangedEvent)) { + getModel().getSelectedItemChangedEvent().addListener(selectedItemChangedEvent); + } } private void updateSnapshotInfo() { diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/virtualMachine/SubTabVirtualMachineSnapshotPresenter.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/virtualMachine/SubTabVirtualMachineSnapshotPresenter.java index 7a5302d..064e2e9 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/virtualMachine/SubTabVirtualMachineSnapshotPresenter.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/tab/virtualMachine/SubTabVirtualMachineSnapshotPresenter.java @@ -5,6 +5,7 @@ import org.ovirt.engine.ui.common.place.PlaceRequestFactory; import org.ovirt.engine.ui.common.presenter.AbstractSubTabPresenter; import org.ovirt.engine.ui.common.uicommon.model.SearchableDetailModelProvider; +import org.ovirt.engine.ui.common.uicommon.model.UiCommonInitEvent; import org.ovirt.engine.ui.common.widget.tab.ModelBoundTabData; import org.ovirt.engine.ui.uicommonweb.models.vms.VmListModel; import org.ovirt.engine.ui.uicommonweb.models.vms.VmSnapshotListModel; @@ -31,6 +32,9 @@ } public interface ViewDef extends AbstractSubTabPresenter.ViewDef<VM> { + + void addModelListeners(); + } @TabInfo(container = VirtualMachineSubTabPanelPresenter.class) @@ -57,4 +61,11 @@ updateMainTabSelection(event.getSelectedItems()); } + @Override + public void onUiCommonInit(UiCommonInitEvent event) { + super.onUiCommonInit(event); + + getView().addModelListeners(); + } + } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/virtualMachine/SubTabVirtualMachineSnapshotView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/virtualMachine/SubTabVirtualMachineSnapshotView.java index bf5415f..bdee838 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/virtualMachine/SubTabVirtualMachineSnapshotView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/virtualMachine/SubTabVirtualMachineSnapshotView.java @@ -41,4 +41,8 @@ initWidget(getModelBoundTableWidget()); } + @Override + public void addModelListeners() { + getModelBoundTableWidget().addModelListeners(); + } } -- To view, visit http://gerrit.ovirt.org/25536 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I006023de74150754d8c79f95b79eb9ad0158b055 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Daniel Erez <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
