Kanagaraj M has uploaded a new change for review.

Change subject: webadmin: refactored volume activity status column
......................................................................

webadmin: refactored volume activity status column

Removed the hard coded GlusterVolumeEntity from all the
volume activity related cells and used GlusterTaskSupport instead.
So that the columns/cells can be re-used for showing the
activities on bricks as well.

GlusterVolumeEntity and GlusterBrickEntity is inherited
from GlusterTaskSupport.

Change-Id: I85df6e5d2071f8ff1cc5f94ace90edfb0fff471e
Signed-off-by: Kanagaraj M <[email protected]>
---
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabVolumeView.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VolumeActivityColumn.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VolumeActivitySeperatorCell.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VolumeActivityStatusCell.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VolumeActivityStatusColumn.java
5 files changed, 27 insertions(+), 28 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/55/19955/1

diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabVolumeView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabVolumeView.java
index 03fc880..b6b65f6 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabVolumeView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabVolumeView.java
@@ -4,6 +4,7 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterTaskSupport;
 import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity;
 import org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeType;
 import org.ovirt.engine.core.common.businessentities.gluster.TransportType;
@@ -87,24 +88,24 @@
         getTable().addColumn(numOfBricksColumn, 
constants.numberOfBricksVolume(), "150px"); //$NON-NLS-1$
 
 
-        MenuCell<GlusterVolumeEntity> rebalanceMenuCell = 
getRebalanceActivityMenu(constants);
-        List<HasCell<GlusterVolumeEntity, ?>> list = new 
ArrayList<HasCell<GlusterVolumeEntity, ?>>();
+        MenuCell<GlusterTaskSupport> rebalanceMenuCell = 
getRebalanceActivityMenu(constants);
+        List<HasCell<GlusterTaskSupport, ?>> list = new 
ArrayList<HasCell<GlusterTaskSupport, ?>>();
         list.add(new VolumeActivityStatusColumn());
-        list.add(new Column<GlusterVolumeEntity, GlusterVolumeEntity>(new 
VolumeActivitySeperatorCell<GlusterVolumeEntity>()) {
+        list.add(new Column<GlusterTaskSupport, GlusterTaskSupport>(new 
VolumeActivitySeperatorCell<GlusterTaskSupport>()) {
             @Override
-            public GlusterVolumeEntity getValue(GlusterVolumeEntity object) {
+            public GlusterTaskSupport getValue(GlusterTaskSupport object) {
                 return object;
             }
 
         });
-        list.add(new Column<GlusterVolumeEntity, 
GlusterVolumeEntity>(rebalanceMenuCell) {
+        list.add(new Column<GlusterTaskSupport, 
GlusterTaskSupport>(rebalanceMenuCell) {
             @Override
-            public GlusterVolumeEntity getValue(GlusterVolumeEntity object) {
+            public GlusterTaskSupport getValue(GlusterTaskSupport object) {
                 return object;
             }
         });
 
-        getTable().addColumn(new VolumeActivityColumn(list),
+        getTable().addColumn(new 
VolumeActivityColumn<GlusterVolumeEntity>(list),
                 constants.activitiesOnVolume(),
                 "100px"); //$NON-NLS-1$
 
@@ -147,8 +148,8 @@
         });
     }
 
-    private MenuCell<GlusterVolumeEntity> 
getRebalanceActivityMenu(ApplicationConstants constants) {
-        MenuCell<GlusterVolumeEntity> menuCell = new 
MenuCell<GlusterVolumeEntity>();
+    private MenuCell<GlusterTaskSupport> 
getRebalanceActivityMenu(ApplicationConstants constants) {
+        MenuCell<GlusterTaskSupport> menuCell = new 
MenuCell<GlusterTaskSupport>();
         menuCell.addMenuItem(constants.statusRebalance(), 
getMainModel().getStatusRebalanceCommand());
         menuCell.addMenuItem(constants.stopRebalance(), 
getMainModel().getStopRebalanceCommand());
         return menuCell;
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VolumeActivityColumn.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VolumeActivityColumn.java
index 5da4bd6..de707a6 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VolumeActivityColumn.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VolumeActivityColumn.java
@@ -2,19 +2,19 @@
 
 import java.util.List;
 
-import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity;
+import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterTaskSupport;
 
 import com.google.gwt.cell.client.HasCell;
 import com.google.gwt.user.cellview.client.Column;
 
-public class VolumeActivityColumn extends Column<GlusterVolumeEntity, 
GlusterVolumeEntity> {
+public class VolumeActivityColumn<T extends GlusterTaskSupport> extends 
Column<T, GlusterTaskSupport> {
 
-    public VolumeActivityColumn(List<HasCell<GlusterVolumeEntity, ?>> list) {
-        super(new VolumeActivityCompositeCell<GlusterVolumeEntity>(list));
+    public VolumeActivityColumn(List<HasCell<GlusterTaskSupport, ?>> list) {
+        super(new VolumeActivityCompositeCell<GlusterTaskSupport>(list));
     }
 
     @Override
-    public GlusterVolumeEntity getValue(GlusterVolumeEntity object) {
+    public GlusterTaskSupport getValue(T object) {
         return object;
     }
 }
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VolumeActivitySeperatorCell.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VolumeActivitySeperatorCell.java
index d2cbc1a..d69c0dc 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VolumeActivitySeperatorCell.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VolumeActivitySeperatorCell.java
@@ -1,7 +1,5 @@
 package org.ovirt.engine.ui.webadmin.widget.table.column;
 
-import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterTaskSupport;
-
 import com.google.gwt.cell.client.AbstractCell;
 import com.google.gwt.core.shared.GWT;
 import com.google.gwt.resources.client.ClientBundle;
@@ -12,7 +10,7 @@
 import com.google.gwt.safehtml.shared.SafeHtmlUtils;
 import com.google.gwt.user.client.ui.AbstractImagePrototype;
 
-public class VolumeActivitySeperatorCell<T extends GlusterTaskSupport> extends 
AbstractCell<T> {
+public class VolumeActivitySeperatorCell<T> extends AbstractCell<T> {
 
     public interface Resources extends ClientBundle {
 
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VolumeActivityStatusCell.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VolumeActivityStatusCell.java
index 1eae8c5..2476a95 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VolumeActivityStatusCell.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VolumeActivityStatusCell.java
@@ -1,7 +1,7 @@
 package org.ovirt.engine.ui.webadmin.widget.table.column;
 
 import org.ovirt.engine.core.common.asynctasks.gluster.GlusterTaskType;
-import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity;
+import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterTaskSupport;
 import org.ovirt.engine.ui.webadmin.ApplicationConstants;
 import org.ovirt.engine.ui.webadmin.ApplicationResources;
 import org.ovirt.engine.ui.webadmin.ApplicationTemplates;
@@ -14,7 +14,7 @@
 import com.google.gwt.safehtml.shared.SafeHtmlUtils;
 import com.google.gwt.user.client.ui.AbstractImagePrototype;
 
-public class VolumeActivityStatusCell extends 
AbstractCell<GlusterVolumeEntity> {
+public class VolumeActivityStatusCell<T extends GlusterTaskSupport> extends 
AbstractCell<T> {
 
     ApplicationResources resources = 
ClientGinjectorProvider.getApplicationResources();
 
@@ -23,19 +23,19 @@
     ApplicationTemplates applicationTemplates = 
ClientGinjectorProvider.getApplicationTemplates();
 
     @Override
-    public void render(Context context, GlusterVolumeEntity volume, 
SafeHtmlBuilder sb) {
-        // Nothing to render if no volume is provided, or if volume has no 
task:
-        if (volume == null || volume.getAsyncTask() == null) {
+    public void render(Context context, T taskSupport, SafeHtmlBuilder sb) {
+        // Nothing to render if no task is provided, or if task status is 
empty:
+        if (taskSupport == null || taskSupport.getAsyncTask() == null || 
taskSupport.getAsyncTask().getStatus() == null) {
             return;
         }
 
         // Find the image corresponding to the task on the volume:
-        GlusterTaskType taskType = volume.getAsyncTask().getType();
+        GlusterTaskType taskType = taskSupport.getAsyncTask().getType();
         ImageResource taskImage = null;
         String tooltip = ""; //$NON-NLS-1$
 
         if (taskType == GlusterTaskType.REBALANCE) {
-            switch (volume.getAsyncTask().getStatus()) {
+            switch (taskSupport.getAsyncTask().getStatus()) {
             case STARTED:
                 taskImage = resources.rebalanceRunning();
                 tooltip = constants.rebalanceInProgress();
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VolumeActivityStatusColumn.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VolumeActivityStatusColumn.java
index bf14363..f890f84 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VolumeActivityStatusColumn.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VolumeActivityStatusColumn.java
@@ -1,17 +1,17 @@
 package org.ovirt.engine.ui.webadmin.widget.table.column;
 
-import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity;
+import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterTaskSupport;
 
 import com.google.gwt.user.cellview.client.Column;
 
-public class VolumeActivityStatusColumn extends Column<GlusterVolumeEntity, 
GlusterVolumeEntity> {
+public class VolumeActivityStatusColumn extends Column<GlusterTaskSupport, 
GlusterTaskSupport> {
 
     public VolumeActivityStatusColumn() {
-        super(new VolumeActivityStatusCell());
+        super(new VolumeActivityStatusCell<GlusterTaskSupport>());
     }
 
     @Override
-    public GlusterVolumeEntity getValue(GlusterVolumeEntity object) {
+    public GlusterTaskSupport getValue(GlusterTaskSupport object) {
         return object;
     }
 


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

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

Reply via email to