Gilad Chaplik has uploaded a new change for review.

Change subject: webadmin: task tree doesn't refresh after logout
......................................................................

webadmin: task tree doesn't refresh after logout

Resubscribing to items change event.

Change-Id: I26bbcd28bd024b9124e7b0e5a293baf72ff7eab1
Signed-off-by: Gilad Chaplik <[email protected]>
---
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/TaskModelProvider.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/footer/AlertsEventsFooterView.java
2 files changed, 28 insertions(+), 11 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/70/21570/1

diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/TaskModelProvider.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/TaskModelProvider.java
index 3c8a186..62b751b 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/TaskModelProvider.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/TaskModelProvider.java
@@ -14,15 +14,17 @@
 
 public class TaskModelProvider extends SearchableTabModelProvider<Job, 
TaskListModel> {
 
-    public interface TaskCountChangeHandler {
+    public interface TaskHandler {
 
         void onTaskCountChange(int count);
 
         void onRunningTasksCountChange(int count);
 
+        void updateTree();
+
     }
 
-    private TaskCountChangeHandler taskCountChangeHandler;
+    private TaskHandler taskHandler;
     private int lastRunningTasksCount = 0;
 
     @Inject
@@ -31,14 +33,14 @@
         super(eventBus, defaultConfirmPopupProvider);
     }
 
-    public void setTaskCountChangeHandler(TaskCountChangeHandler 
taskCountChangeHandler) {
-        this.taskCountChangeHandler = taskCountChangeHandler;
+    public void setTaskHandler(TaskHandler taskHandler) {
+        this.taskHandler = taskHandler;
     }
 
     @Override
     protected void updateDataProvider(List<Job> items) {
-        if (taskCountChangeHandler != null) {
-            taskCountChangeHandler.onTaskCountChange(items.size());
+        if (taskHandler != null) {
+            taskHandler.onTaskCountChange(items.size());
         }
         int count = 0;
         for (Job job : items) {
@@ -48,8 +50,8 @@
         }
         if (count != lastRunningTasksCount) {
             lastRunningTasksCount = count;
-            if (taskCountChangeHandler != null) {
-                taskCountChangeHandler.onRunningTasksCountChange(count);
+            if (taskHandler != null) {
+                taskHandler.onRunningTasksCountChange(count);
             }
         }
 
@@ -61,4 +63,11 @@
         return getCommonModel().getTaskList();
     }
 
+    @Override
+    protected void onCommonModelChange() {
+        super.onCommonModelChange();
+        if (taskHandler != null) {
+            taskHandler.updateTree();
+        }
+    }
 }
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/footer/AlertsEventsFooterView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/footer/AlertsEventsFooterView.java
index d196be2..f9cec6a 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/footer/AlertsEventsFooterView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/footer/AlertsEventsFooterView.java
@@ -23,7 +23,7 @@
 import org.ovirt.engine.ui.webadmin.uicommon.model.EventModelProvider;
 import org.ovirt.engine.ui.webadmin.uicommon.model.TaskFirstRowModelProvider;
 import org.ovirt.engine.ui.webadmin.uicommon.model.TaskModelProvider;
-import 
org.ovirt.engine.ui.webadmin.uicommon.model.TaskModelProvider.TaskCountChangeHandler;
+import 
org.ovirt.engine.ui.webadmin.uicommon.model.TaskModelProvider.TaskHandler;
 import org.ovirt.engine.ui.webadmin.widget.table.column.TaskStatusColumn;
 
 import com.google.gwt.core.client.GWT;
@@ -49,7 +49,7 @@
 import com.google.gwt.user.client.ui.ToggleButton;
 import com.google.gwt.user.client.ui.Widget;
 
-public class AlertsEventsFooterView extends Composite implements 
AlertCountChangeHandler, TaskCountChangeHandler {
+public class AlertsEventsFooterView extends Composite implements 
AlertCountChangeHandler, TaskHandler {
 
     interface WidgetUiBinder extends UiBinder<Widget, AlertsEventsFooterView> {
         WidgetUiBinder uiBinder = GWT.create(WidgetUiBinder.class);
@@ -107,6 +107,8 @@
     private final ApplicationConstants constants;
     private final SafeHtml alertImage;
 
+    private TaskModelProvider taskModelProvider;
+
     public AlertsEventsFooterView(AlertModelProvider alertModelProvider,
             AlertFirstRowModelProvider alertFirstRowModelProvider,
             EventModelProvider eventModelProvider,
@@ -121,10 +123,11 @@
         this.resources = resources;
         this.templates = templates;
         this.constants = constants;
+        this.taskModelProvider = taskModelProvider;
         initWidget(WidgetUiBinder.uiBinder.createAndBindUi(this));
         initButtonHandlers();
         alertModelProvider.setAlertCountChangeHandler(this);
-        taskModelProvider.setTaskCountChangeHandler(this);
+        taskModelProvider.setTaskHandler(this);
 
         alertsTable = createActionTable(alertModelProvider);
         alertsTable.setBarStyle(style.barStyle());
@@ -430,4 +433,9 @@
     public void onTaskCountChange(int count) {
         return;
     }
+
+    @Override
+    public void updateTree() {
+        tasksTree.updateTree(taskModelProvider.getModel());
+    }
 }


-- 
To view, visit http://gerrit.ovirt.org/21570
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I26bbcd28bd024b9124e7b0e5a293baf72ff7eab1
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Gilad Chaplik <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to