Kanagaraj M has uploaded a new change for review.

Change subject: webadmin: add status image column to bricks tab
......................................................................

webadmin: add status image column to bricks tab

Added a status image colume to bricks subtab. Removed the
existing status text column from the table.

Change-Id: Ibbf48deb409f7dee046b9844b545f8355d5c042b
Signed-off-by: Kanagaraj M <[email protected]>
---
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/gluster/SubTabVolumeBrickView.java
A 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/BrickStatusCell.java
A 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/BrickStatusColumn.java
3 files changed, 78 insertions(+), 12 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/78/18678/1

diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/gluster/SubTabVolumeBrickView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/gluster/SubTabVolumeBrickView.java
index e3d0727..8aa846f 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/gluster/SubTabVolumeBrickView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/gluster/SubTabVolumeBrickView.java
@@ -1,11 +1,9 @@
 package org.ovirt.engine.ui.webadmin.section.main.view.tab.gluster;
 
 import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterBrickEntity;
-import org.ovirt.engine.core.common.businessentities.gluster.GlusterStatus;
 import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity;
 import org.ovirt.engine.ui.common.idhandler.ElementIdHandler;
 import org.ovirt.engine.ui.common.uicommon.model.SearchableDetailModelProvider;
-import org.ovirt.engine.ui.common.widget.table.column.EnumColumn;
 import org.ovirt.engine.ui.common.widget.table.column.TextColumnWithTooltip;
 import org.ovirt.engine.ui.uicommonweb.UICommand;
 import org.ovirt.engine.ui.uicommonweb.models.gluster.VolumeBrickListModel;
@@ -14,6 +12,7 @@
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.tab.gluster.SubTabVolumeBrickPresenter;
 import org.ovirt.engine.ui.webadmin.section.main.view.AbstractSubTabTableView;
 import org.ovirt.engine.ui.webadmin.widget.action.WebAdminButtonDefinition;
+import org.ovirt.engine.ui.webadmin.widget.table.column.BrickStatusColumn;
 
 import com.google.gwt.core.client.GWT;
 import com.google.inject.Inject;
@@ -35,6 +34,8 @@
     void initTable(ApplicationConstants constants) {
         getTable().enableColumnResizing();
 
+        getTable().addColumn(new BrickStatusColumn(), constants.empty(), 
"30px"); //$NON-NLS-1$
+
         TextColumnWithTooltip<GlusterBrickEntity> serverColumn = new 
TextColumnWithTooltip<GlusterBrickEntity>() {
             @Override
             public String getValue(GlusterBrickEntity brick) {
@@ -50,16 +51,6 @@
             }
         };
         getTable().addColumn(directoryColumn, 
constants.brickDirectoryVolumeBrick(), "400px"); //$NON-NLS-1$
-
-        TextColumnWithTooltip<GlusterBrickEntity> statusColumn =
-                new EnumColumn<GlusterBrickEntity, GlusterStatus>() {
-
-                    @Override
-                    protected GlusterStatus getRawValue(GlusterBrickEntity 
object) {
-                        return object.getStatus();
-                    }
-                };
-        getTable().addColumn(statusColumn, constants.statusBrick(), "200px"); 
//$NON-NLS-1$
 
         getTable().addActionButton(new 
WebAdminButtonDefinition<GlusterBrickEntity>(constants.addBricksBrick()) {
             @Override
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/BrickStatusCell.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/BrickStatusCell.java
new file mode 100644
index 0000000..ee9ff7c
--- /dev/null
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/BrickStatusCell.java
@@ -0,0 +1,57 @@
+package org.ovirt.engine.ui.webadmin.widget.table.column;
+
+import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterBrickEntity;
+import org.ovirt.engine.core.common.businessentities.gluster.GlusterStatus;
+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 com.google.gwt.cell.client.AbstractCell;
+import com.google.gwt.resources.client.ImageResource;
+import com.google.gwt.safehtml.shared.SafeHtml;
+import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
+import com.google.gwt.safehtml.shared.SafeHtmlUtils;
+import com.google.gwt.user.client.ui.AbstractImagePrototype;
+
+public class BrickStatusCell extends AbstractCell<GlusterBrickEntity> {
+
+    ApplicationResources resources = 
ClientGinjectorProvider.getApplicationResources();
+
+    ApplicationConstants constants = 
ClientGinjectorProvider.getApplicationConstants();
+
+    ApplicationTemplates applicationTemplates = 
ClientGinjectorProvider.getApplicationTemplates();
+
+    @Override
+    public void render(Context context, GlusterBrickEntity brick, 
SafeHtmlBuilder sb) {
+        // Nothing to render if no brick is provided:
+        if (brick == null) {
+            return;
+        }
+
+        // Find the image corresponding to the status of the brick:
+        GlusterStatus status = brick.getStatus();
+        ImageResource statusImage = null;
+        String tooltip;
+
+        switch (status) {
+        case DOWN:
+            statusImage = resources.downImage();
+            tooltip = constants.down();
+            break;
+        case UP:
+            statusImage = resources.upImage();
+            tooltip = constants.up();
+            break;
+        default:
+            statusImage = resources.downImage();
+            tooltip = constants.down();
+        }
+
+        // Generate the HTML for the image:
+        SafeHtml statusImageHtml =
+                
SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(statusImage).getHTML());
+        sb.append(applicationTemplates.statusTemplate(statusImageHtml, 
tooltip));
+    }
+
+}
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/BrickStatusColumn.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/BrickStatusColumn.java
new file mode 100644
index 0000000..71932a2
--- /dev/null
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/BrickStatusColumn.java
@@ -0,0 +1,18 @@
+package org.ovirt.engine.ui.webadmin.widget.table.column;
+
+import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterBrickEntity;
+
+import com.google.gwt.user.cellview.client.Column;
+
+public class BrickStatusColumn extends Column<GlusterBrickEntity, 
GlusterBrickEntity> {
+
+    public BrickStatusColumn() {
+        super(new BrickStatusCell());
+    }
+
+    @Override
+    public GlusterBrickEntity getValue(GlusterBrickEntity object) {
+        return object;
+    }
+
+}


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ibbf48deb409f7dee046b9844b545f8355d5c042b
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