Alexander Wels has uploaded a new change for review.

Change subject: webadmin: Alert/Event/Task footer fix
......................................................................

webadmin: Alert/Event/Task footer fix

- The massive GIN update patch caused the events/alerts/tasks
  to not update properly, this patch fixes the problem.
- Removed the *FirstRowModelProvider as they are simply not needed.

Change-Id: I9083319d000e66404d531c9576a28e184979f485
Signed-off-by: Alexander Wels <aw...@redhat.com>
---
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/model/SearchableTabModelProvider.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/model/TabModelProvider.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/EntityModel.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/UiCommonModule.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/EventModule.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/MainSectionView.java
D 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/AlertFirstRowModelProvider.java
D 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/EventFirstRowModelProvider.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/EventModelProvider.java
D 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/TaskFirstRowModelProvider.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/footer/AlertsEventsFooterView.java
12 files changed, 54 insertions(+), 214 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/57/35857/1

diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/model/SearchableTabModelProvider.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/model/SearchableTabModelProvider.java
index 947c558..8bdea7f 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/model/SearchableTabModelProvider.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/model/SearchableTabModelProvider.java
@@ -2,10 +2,6 @@
 
 import 
org.ovirt.engine.ui.common.presenter.popup.DefaultConfirmationPopupPresenterWidget;
 import org.ovirt.engine.ui.uicommonweb.models.SearchableListModel;
-import org.ovirt.engine.ui.uicommonweb.models.events.EventListModel;
-import org.ovirt.engine.ui.uicompat.Event;
-import org.ovirt.engine.ui.uicompat.IEventListener;
-import org.ovirt.engine.ui.uicompat.PropertyChangedEventArgs;
 
 import com.google.gwt.event.shared.EventBus;
 import com.google.inject.Provider;
@@ -26,41 +22,8 @@
     }
 
     @Override
-    protected void initializeModelHandlers(final M model) {
-        super.initializeModelHandlers(model);
-
-        // Add necessary property change handlers
-        model.getPropertyChangedEvent().addListener(new 
IEventListener<PropertyChangedEventArgs>() {
-            @Override
-            public void eventRaised(Event<? extends PropertyChangedEventArgs> 
ev, Object sender, PropertyChangedEventArgs args) {
-                // For EventListModel classes: update data whenever the last 
event changes
-                if (model instanceof EventListModel && 
"LastEvent".equals(args.propertyName)) { //$NON-NLS-1$
-                    EventListModel eventListModel = (EventListModel) model;
-
-                    if (eventListModel.getLastEvent() == null && 
eventListModel.isRequestingData()) {
-                        // Tell data provider we await further data
-                        clearData();
-                    } else {
-                        // Data has arrived, update data provider
-                        updateData();
-                    }
-                }
-                if 
(PropertyChangedEventArgs.PROGRESS.equals(args.propertyName)) {
-                    clearData();
-                }
-            }
-        });
-    }
-
-    @Override
-    void clearData() {
+    protected void clearData() {
         // Remove locally cached row data and enforce "loading" state
         getDataProvider().updateRowCount(0, false);
     }
-
-    @Override
-    protected boolean handleItemsChangedEvent() {
-        return getModel() instanceof EventListModel ? false : true;
-    }
-
 }
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/model/TabModelProvider.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/model/TabModelProvider.java
index 4b196ad..4c210b9 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/model/TabModelProvider.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/model/TabModelProvider.java
@@ -25,6 +25,7 @@
 
     private final EventBus eventBus;
     private final ModelBoundPopupHandler<M> popupHandler;
+    private boolean modelInitialized = false;
 
     protected Provider<M> modelProvider;
 
@@ -40,8 +41,8 @@
     @Override
     public M getModel() {
         M model = modelProvider.get();
-        if (!model.isInitialized()) {
-            model.initialize();
+        if (!modelInitialized) {
+            modelInitialized = true;
             initializeModelHandlers(model);
         }
         return model;
@@ -76,15 +77,6 @@
                 }
             }
         });
-    }
-
-    /**
-     * Override this and return true if your model provider uses the same 
model as another model provider.
-     * This way this model provider will not try to initialize the model again.
-     * @return {@code true if the provider re-uses a model}, {@code false 
otherwise}
-     */
-    protected boolean reusesModel() {
-        return false;
     }
 
     @SuppressWarnings("unchecked")
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/EntityModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/EntityModel.java
index 6aab21c..6e31ee0 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/EntityModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/EntityModel.java
@@ -1,8 +1,5 @@
 package org.ovirt.engine.ui.uicommonweb.models;
 
-import java.util.ArrayList;
-import java.util.List;
-
 import org.ovirt.engine.ui.uicommonweb.Convertible;
 import org.ovirt.engine.ui.uicommonweb.validation.IValidation;
 import org.ovirt.engine.ui.uicommonweb.validation.ValidationResult;
@@ -13,16 +10,12 @@
 import org.ovirt.engine.ui.uicompat.PropertyChangedEventArgs;
 import org.ovirt.engine.ui.uicompat.ProvidePropertyChangedEvent;
 
-import com.google.gwt.event.shared.HandlerRegistration;
 import com.google.gwt.event.shared.HasHandlers;
 
 public class EntityModel<T> extends Model implements HasHandlers {
 
-    private final List<HandlerRegistration> handlerRegistrations = new 
ArrayList<HandlerRegistration>();
-
     public static final EventDefinition entityChangedEventDefinition;
     private Event<EventArgs> privateEntityChangedEvent;
-    private boolean initialized = false;
 
     public Event<EventArgs> getEntityChangedEvent()
     {
@@ -167,14 +160,5 @@
 
     public Convertible asConvertible() {
         return new Convertible(this);
-    }
-
-    public boolean isInitialized() {
-        return initialized;
-    }
-
-    @Override
-    public void initialize() {
-        initialized = true;
     }
 }
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
index 5a4629f..27da20d 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
@@ -3192,9 +3192,6 @@
     @DefaultStringValue("Please select a name for the cloned Template(s)")
     String sameTemplateNameExists();
 
-    @DefaultStringValue("[No jobs available]")
-    String emptyJobMessage();
-
     @DefaultStringValue("These calculations represents the max growth 
potential and may differ from the actual consumption. Please refer 
documentation for further explanations.")
     String quotaCalculationsMessage();
 
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/UiCommonModule.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/UiCommonModule.java
index c327406..0feac7d 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/UiCommonModule.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/UiCommonModule.java
@@ -36,14 +36,12 @@
 import org.ovirt.engine.ui.webadmin.gin.uicommon.VnicProfileModule;
 import org.ovirt.engine.ui.webadmin.gin.uicommon.VolumeModule;
 import org.ovirt.engine.ui.webadmin.uicommon.WebAdminConfigurator;
-import org.ovirt.engine.ui.webadmin.uicommon.model.AlertFirstRowModelProvider;
 import org.ovirt.engine.ui.webadmin.uicommon.model.AlertModelProvider;
 import org.ovirt.engine.ui.webadmin.uicommon.model.BookmarkModelProvider;
 import 
org.ovirt.engine.ui.webadmin.uicommon.model.ClusterPolicyClusterModelProvider;
 import org.ovirt.engine.ui.webadmin.uicommon.model.ClusterPolicyModelProvider;
 import 
org.ovirt.engine.ui.webadmin.uicommon.model.CpuProfilePermissionModelProvider;
 import 
org.ovirt.engine.ui.webadmin.uicommon.model.DiskProfilePermissionModelProvider;
-import org.ovirt.engine.ui.webadmin.uicommon.model.EventFirstRowModelProvider;
 import org.ovirt.engine.ui.webadmin.uicommon.model.EventModelProvider;
 import org.ovirt.engine.ui.webadmin.uicommon.model.InstanceTypeModelProvider;
 import org.ovirt.engine.ui.webadmin.uicommon.model.RoleModelProvider;
@@ -51,7 +49,6 @@
 import 
org.ovirt.engine.ui.webadmin.uicommon.model.SystemPermissionModelProvider;
 import org.ovirt.engine.ui.webadmin.uicommon.model.SystemTreeModelProvider;
 import org.ovirt.engine.ui.webadmin.uicommon.model.TagModelProvider;
-import org.ovirt.engine.ui.webadmin.uicommon.model.TaskFirstRowModelProvider;
 import org.ovirt.engine.ui.webadmin.uicommon.model.TaskModelProvider;
 
 import com.google.inject.Singleton;
@@ -101,16 +98,13 @@
         bind(TagModelProvider.class).asEagerSingleton();
 
         // AlertListModel
-        bind(AlertModelProvider.class).asEagerSingleton();
-        bind(AlertFirstRowModelProvider.class).asEagerSingleton();
+        bind(AlertModelProvider.class).in(Singleton.class);
 
         // TaskListModel
-        bind(TaskModelProvider.class).asEagerSingleton();
-        bind(TaskFirstRowModelProvider.class).asEagerSingleton();
+        bind(TaskModelProvider.class).in(Singleton.class);
 
         // EventListModel
         bind(EventModelProvider.class).in(Singleton.class);
-        bind(EventFirstRowModelProvider.class).in(Singleton.class);
 
         // RoleListModel
         bind(RoleModelProvider.class).in(Singleton.class);
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/EventModule.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/EventModule.java
index 16847f2..a47cda2 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/EventModule.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/uicommon/EventModule.java
@@ -5,11 +5,13 @@
 import 
org.ovirt.engine.ui.common.presenter.popup.DefaultConfirmationPopupPresenterWidget;
 import org.ovirt.engine.ui.common.uicommon.model.MainModelProvider;
 import org.ovirt.engine.ui.common.uicommon.model.MainTabModelProvider;
+import org.ovirt.engine.ui.common.uicommon.model.TabModelProvider;
 import org.ovirt.engine.ui.uicommonweb.UICommand;
 import org.ovirt.engine.ui.uicommonweb.models.CommonModel;
 import org.ovirt.engine.ui.uicommonweb.models.Model;
 import org.ovirt.engine.ui.uicommonweb.models.events.EventListModel;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.event.EventPopupPresenterWidget;
+import org.ovirt.engine.ui.webadmin.uicommon.model.EventModelProvider;
 
 import com.google.gwt.event.shared.EventBus;
 import com.google.gwt.inject.client.AbstractGinModule;
@@ -45,6 +47,11 @@
         return result;
     }
 
+    @Provides
+    public TabModelProvider<EventListModel> 
getEventModelProvider(EventModelProvider provider) {
+        return provider;
+    }
+
     @Override
     protected void configure() {
         bind(EventListModel.class).in(Singleton.class);
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/MainSectionView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/MainSectionView.java
index ec3e8c9..404b741 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/MainSectionView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/MainSectionView.java
@@ -13,14 +13,11 @@
 import org.ovirt.engine.ui.webadmin.ApplicationTemplates;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.MainSectionPresenter;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.MainTabBarOffsetUiHandlers;
-import org.ovirt.engine.ui.webadmin.uicommon.model.AlertFirstRowModelProvider;
 import org.ovirt.engine.ui.webadmin.uicommon.model.AlertModelProvider;
 import org.ovirt.engine.ui.webadmin.uicommon.model.BookmarkModelProvider;
-import org.ovirt.engine.ui.webadmin.uicommon.model.EventFirstRowModelProvider;
 import org.ovirt.engine.ui.webadmin.uicommon.model.EventModelProvider;
 import org.ovirt.engine.ui.webadmin.uicommon.model.SystemTreeModelProvider;
 import org.ovirt.engine.ui.webadmin.uicommon.model.TagModelProvider;
-import org.ovirt.engine.ui.webadmin.uicommon.model.TaskFirstRowModelProvider;
 import org.ovirt.engine.ui.webadmin.uicommon.model.TaskModelProvider;
 import org.ovirt.engine.ui.webadmin.widget.bookmark.BookmarkList;
 import org.ovirt.engine.ui.webadmin.widget.footer.AlertsEventsFooterView;
@@ -96,11 +93,8 @@
             BookmarkModelProvider bookmarkModelProvider,
             TagModelProvider tagModelProvider,
             AlertModelProvider alertModelProvider,
-            AlertFirstRowModelProvider alertFirstRowModelProvider,
             EventModelProvider eventModelProvider,
-            EventFirstRowModelProvider eventFirstRowModelProvider,
             TaskModelProvider taskModelProvider,
-            TaskFirstRowModelProvider taskFirstRowModelProvider,
             ApplicationConstants constants,
             ApplicationResources resources,
             ApplicationTemplates templates,
@@ -118,11 +112,8 @@
         addContentToWestPanel(treeModelProvider, bookmarkModelProvider, 
tagModelProvider, westStackPanel, constants);
 
         initAlertEventFooterPanel(alertModelProvider,
-                alertFirstRowModelProvider,
                 eventModelProvider,
-                eventFirstRowModelProvider,
                 taskModelProvider,
-                taskFirstRowModelProvider,
                 resources,
                 templates,
                 eventBus,
@@ -202,19 +193,13 @@
     }
 
     void initAlertEventFooterPanel(AlertModelProvider alertModelProvider,
-            AlertFirstRowModelProvider alertFirstRowModelProvider,
             EventModelProvider eventModelProvider,
-            EventFirstRowModelProvider eventFirstRowModelProvider,
             TaskModelProvider taskModelProvider,
-            TaskFirstRowModelProvider taskFirstRowModelProvider,
             ApplicationResources resources,
             ApplicationTemplates templates,
             EventBus eventBus,
             ClientStorage clientStorage, ApplicationConstants constants) {
-        alertEventFooterPanel.add(new AlertsEventsFooterView(
-                alertModelProvider, alertFirstRowModelProvider,
-                eventModelProvider, eventFirstRowModelProvider,
-                taskModelProvider, taskFirstRowModelProvider,
+        alertEventFooterPanel.add(new 
AlertsEventsFooterView(alertModelProvider, eventModelProvider, 
taskModelProvider,
                 resources, templates, eventBus, clientStorage, constants));
     }
 
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/AlertFirstRowModelProvider.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/AlertFirstRowModelProvider.java
deleted file mode 100644
index f450296..0000000
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/AlertFirstRowModelProvider.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.ovirt.engine.ui.webadmin.uicommon.model;
-
-import java.util.Arrays;
-import java.util.List;
-
-import org.ovirt.engine.core.common.businessentities.AuditLog;
-import 
org.ovirt.engine.ui.common.presenter.popup.DefaultConfirmationPopupPresenterWidget;
-
-import com.google.gwt.event.shared.EventBus;
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-
-public class AlertFirstRowModelProvider extends AlertModelProvider {
-
-    @Inject
-    public AlertFirstRowModelProvider(EventBus eventBus,
-            Provider<DefaultConfirmationPopupPresenterWidget> 
defaultConfirmPopupProvider) {
-        super(eventBus, defaultConfirmPopupProvider);
-    }
-
-    @Override
-    protected void updateDataProvider(List<AuditLog> items) {
-        List<AuditLog> firstRowData = items.isEmpty() ? items : 
Arrays.asList(items.get(0));
-        super.updateDataProvider(firstRowData);
-    }
-
-    @Override
-    protected boolean reusesModel() {
-        return true;
-    }
-
-}
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/EventFirstRowModelProvider.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/EventFirstRowModelProvider.java
deleted file mode 100644
index 52ac361..0000000
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/EventFirstRowModelProvider.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.ovirt.engine.ui.webadmin.uicommon.model;
-
-import java.util.Arrays;
-import java.util.List;
-
-import org.ovirt.engine.core.common.businessentities.AuditLog;
-import 
org.ovirt.engine.ui.common.presenter.popup.DefaultConfirmationPopupPresenterWidget;
-
-import com.google.gwt.event.shared.EventBus;
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-
-public class EventFirstRowModelProvider extends EventModelProvider {
-
-    @Inject
-    public EventFirstRowModelProvider(EventBus eventBus,
-            Provider<DefaultConfirmationPopupPresenterWidget> 
defaultConfirmPopupProvider) {
-        super(eventBus, defaultConfirmPopupProvider);
-    }
-
-    @Override
-    protected void updateDataProvider(List<AuditLog> items) {
-        List<AuditLog> firstRowData = items.isEmpty() ? items : 
Arrays.asList(items.get(0));
-        super.updateDataProvider(firstRowData);
-    }
-
-    @Override
-    protected boolean reusesModel() {
-        return true;
-    }
-
-}
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/EventModelProvider.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/EventModelProvider.java
index d795be0..3a979f5 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/EventModelProvider.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/EventModelProvider.java
@@ -4,6 +4,9 @@
 import 
org.ovirt.engine.ui.common.presenter.popup.DefaultConfirmationPopupPresenterWidget;
 import org.ovirt.engine.ui.common.uicommon.model.SearchableTabModelProvider;
 import org.ovirt.engine.ui.uicommonweb.models.events.EventListModel;
+import org.ovirt.engine.ui.uicompat.Event;
+import org.ovirt.engine.ui.uicompat.IEventListener;
+import org.ovirt.engine.ui.uicompat.PropertyChangedEventArgs;
 
 import com.google.gwt.event.shared.EventBus;
 import com.google.inject.Inject;
@@ -17,4 +20,30 @@
         super(eventBus, defaultConfirmPopupProvider);
     }
 
+    @Override
+    protected void initializeModelHandlers(final EventListModel model) {
+        super.initializeModelHandlers(model);
+
+        // Add necessary property change handlers
+        model.getPropertyChangedEvent().addListener(new 
IEventListener<PropertyChangedEventArgs>() {
+            @Override
+            public void eventRaised(Event<? extends PropertyChangedEventArgs> 
ev, Object sender, PropertyChangedEventArgs args) {
+                // For EventListModel classes: update data whenever the last 
event changes
+                if ("LastEvent".equals(args.propertyName)) { //$NON-NLS-1$
+                    if (model.getLastEvent() == null && 
model.isRequestingData()) {
+                        // Tell data provider we await further data
+                        clearData();
+                    } else {
+                        // Data has arrived, update data provider
+                        updateData();
+                    }
+                }
+            }
+        });
+    }
+
+    @Override
+    protected boolean handleItemsChangedEvent() {
+        return false;
+    }
 }
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/TaskFirstRowModelProvider.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/TaskFirstRowModelProvider.java
deleted file mode 100644
index bafc80a..0000000
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/TaskFirstRowModelProvider.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package org.ovirt.engine.ui.webadmin.uicommon.model;
-
-import java.util.Arrays;
-import java.util.List;
-
-import org.ovirt.engine.core.common.job.Job;
-import 
org.ovirt.engine.ui.common.presenter.popup.DefaultConfirmationPopupPresenterWidget;
-import org.ovirt.engine.ui.webadmin.ApplicationConstants;
-
-import com.google.gwt.event.shared.EventBus;
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-
-public class TaskFirstRowModelProvider extends TaskModelProvider {
-
-    private static Job emptyJob = new Job();
-    private static List<Job> emptyJobList;
-
-    @Inject
-    public TaskFirstRowModelProvider(EventBus eventBus,
-            Provider<DefaultConfirmationPopupPresenterWidget> 
defaultConfirmPopupProvider,
-            ApplicationConstants constants) {
-        super(eventBus, defaultConfirmPopupProvider);
-        emptyJob.setDescription(constants.emptyJobMessage());
-        emptyJobList = Arrays.asList(emptyJob);
-    }
-
-    @Override
-    protected void updateDataProvider(List<Job> items) {
-        List<Job> firstRowData = items.isEmpty() ? emptyJobList : 
Arrays.asList(items.get(0));
-        super.updateDataProvider(firstRowData);
-    }
-
-    @Override
-    protected boolean reusesModel() {
-        return true;
-    }
-
-}
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 40eb086..f179413 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
@@ -3,8 +3,6 @@
 import java.util.Date;
 import java.util.List;
 
-import com.google.gwt.user.cellview.client.Column;
-import com.google.gwt.view.client.SelectionChangeEvent;
 import org.ovirt.engine.core.common.businessentities.AuditLog;
 import org.ovirt.engine.core.common.job.Job;
 import org.ovirt.engine.ui.common.system.ClientStorage;
@@ -21,13 +19,9 @@
 import org.ovirt.engine.ui.webadmin.ApplicationConstants;
 import org.ovirt.engine.ui.webadmin.ApplicationResources;
 import org.ovirt.engine.ui.webadmin.ApplicationTemplates;
-import org.ovirt.engine.ui.webadmin.gin.ClientGinjectorProvider;
-import org.ovirt.engine.ui.webadmin.uicommon.model.AlertFirstRowModelProvider;
 import org.ovirt.engine.ui.webadmin.uicommon.model.AlertModelProvider;
 import 
org.ovirt.engine.ui.webadmin.uicommon.model.AlertModelProvider.AlertCountChangeHandler;
-import org.ovirt.engine.ui.webadmin.uicommon.model.EventFirstRowModelProvider;
 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.TaskHandler;
 import org.ovirt.engine.ui.webadmin.widget.action.WebAdminButtonDefinition;
@@ -46,6 +40,7 @@
 import com.google.gwt.uibinder.client.UiBinder;
 import com.google.gwt.uibinder.client.UiField;
 import com.google.gwt.user.cellview.client.CellTable;
+import com.google.gwt.user.cellview.client.Column;
 import com.google.gwt.user.client.Element;
 import com.google.gwt.user.client.ui.AbstractImagePrototype;
 import com.google.gwt.user.client.ui.Composite;
@@ -55,6 +50,7 @@
 import com.google.gwt.user.client.ui.SimplePanel;
 import com.google.gwt.user.client.ui.ToggleButton;
 import com.google.gwt.user.client.ui.Widget;
+import com.google.gwt.view.client.SelectionChangeEvent;
 
 public class AlertsEventsFooterView extends Composite implements 
AlertCountChangeHandler, TaskHandler {
 
@@ -114,14 +110,11 @@
     private final ApplicationConstants constants;
     private final SafeHtml alertImage;
 
-    private TaskModelProvider taskModelProvider;
+    private final TaskModelProvider taskModelProvider;
 
     public AlertsEventsFooterView(AlertModelProvider alertModelProvider,
-            AlertFirstRowModelProvider alertFirstRowModelProvider,
             EventModelProvider eventModelProvider,
-            EventFirstRowModelProvider eventFirstRowModelProvider,
             TaskModelProvider taskModelProvider,
-            TaskFirstRowModelProvider taskFirstRowModelProvider,
             ApplicationResources resources,
             ApplicationTemplates templates,
             EventBus eventBus,
@@ -136,20 +129,20 @@
         alertModelProvider.setAlertCountChangeHandler(this);
         taskModelProvider.setTaskHandler(this);
 
-        alertsTable = createActionTable(alertModelProvider);
+        alertsTable = createActionTable(alertModelProvider, eventBus, 
clientStorage);
         alertsTable.setBarStyle(style.barStyle());
         initAlertTable(alertsTable, alertModelProvider);
 
-        _alertsTable = createActionTable(alertFirstRowModelProvider);
+        _alertsTable = createActionTable(alertModelProvider, eventBus, 
clientStorage);
         _alertsTable.setBarStyle(style.barStyle());
         _alertsTable.getElement().getStyle().setOverflowY(Overflow.HIDDEN);
         initTable(_alertsTable);
 
-        eventsTable = createActionTable(eventModelProvider);
+        eventsTable = createActionTable(eventModelProvider, eventBus, 
clientStorage);
         eventsTable.setBarStyle(style.barStyle());
         initTable(eventsTable);
 
-        _eventsTable = createActionTable(eventFirstRowModelProvider);
+        _eventsTable = createActionTable(eventModelProvider, eventBus, 
clientStorage);
         _eventsTable.setBarStyle(style.barStyle());
         _eventsTable.getElement().getStyle().setOverflowY(Overflow.HIDDEN);
         initTable(_eventsTable);
@@ -158,7 +151,7 @@
         tasksTree.updateTree(taskModelProvider.getModel());
 
         _tasksTable =
-                new SimpleActionTable<Job>(taskFirstRowModelProvider, 
getTableResources(), eventBus, clientStorage);
+                new SimpleActionTable<Job>(taskModelProvider, 
getTableResources(), eventBus, clientStorage);
         _tasksTable.setBarStyle(style.barStyle());
         _tasksTable.getElement().getStyle().setOverflowY(Overflow.HIDDEN);
         initTaskTable(_tasksTable);
@@ -190,10 +183,9 @@
         setAlertCount(0);
     }
 
-    SimpleActionTable<AuditLog> 
createActionTable(SearchableTabModelProvider<AuditLog, ?> modelProvider) {
-        return new SimpleActionTable<AuditLog>(modelProvider, 
getTableResources(),
-                ClientGinjectorProvider.getEventBus(),
-                ClientGinjectorProvider.getClientStorage());
+    SimpleActionTable<AuditLog> 
createActionTable(SearchableTabModelProvider<AuditLog, ?> modelProvider,
+            EventBus eventBus, ClientStorage clientStorage) {
+        return new SimpleActionTable<AuditLog>(modelProvider, 
getTableResources(), eventBus, clientStorage);
     }
 
     AlertsEventsFooterResources getTableResources() {


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I9083319d000e66404d531c9576a28e184979f485
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Alexander Wels <aw...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to