Shubhendu Tripathi has uploaded a new change for review.

Change subject: webadmin: Add an indicator if volume snapshot is scheduled
......................................................................

webadmin: Add an indicator if volume snapshot is scheduled

Added an indicator column to volume tab, to indicate if
volume snapshot creation is scheduled.

Change-Id: I4ea607285caaa343c389813681bd9e782381ae86
Signed-off-by: Shubhendu Tripathi <[email protected]>
---
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationResources.java
A 
frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/ui/common/images/snapshot_scheduled.png
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/section/main/view/tab/MainTabVolumeView.java
A 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/cell/VolumeInfoCell.java
A 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VolumeInfoColumn.java
6 files changed, 65 insertions(+), 11 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/66/38566/1

diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationResources.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationResources.java
index 6341deb..083f990 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationResources.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationResources.java
@@ -197,6 +197,9 @@
     @Source("images/volume_all_bricks_down_warning.png")
     ImageResource volumeAllBricksDownWarning();
 
+    @Source("images/snapshot_scheduled.png")
+    ImageResource snapshotScheduledImage();
+
     // Model-bound widgets
 
     @Source("images/snapshot.png")
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/ui/common/images/snapshot_scheduled.png
 
b/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/ui/common/images/snapshot_scheduled.png
new file mode 100644
index 0000000..33801b2
--- /dev/null
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/ui/common/images/snapshot_scheduled.png
Binary files differ
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 125c786..7482501 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
@@ -4086,8 +4086,8 @@
     @DefaultStringValue("No of snapshots")
     String noOfSnapshotsLabel();
 
-    @DefaultStringValue("Snapshot Scheduled")
-    String snapshotScheduledLabel();
+    @DefaultStringValue("Info")
+    String volumeInfoVolume();
 
     @DefaultStringValue("Options - Cluster")
     String configureClusterSnapshotOptions();
@@ -4112,4 +4112,7 @@
 
     @DefaultStringValue("Remote cluster is not maintained by engine. Ignore 
geo replication?")
     String remoteClusterNotMaintainedByEngine();
+
+    @DefaultStringValue("Volume snapshots are scheduled.")
+    String glusterVolumeSnapshotsScheduledToolTip();
 }
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 e686982..1f018c8 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
@@ -31,6 +31,7 @@
 import org.ovirt.engine.ui.webadmin.widget.table.column.VolumeActivityColumn;
 import 
org.ovirt.engine.ui.webadmin.widget.table.column.VolumeActivityStatusColumn;
 import 
org.ovirt.engine.ui.webadmin.widget.table.column.VolumeBrickStatusColumn;
+import org.ovirt.engine.ui.webadmin.widget.table.column.VolumeInfoColumn;
 import org.ovirt.engine.ui.webadmin.widget.table.column.VolumeStatusColumn;
 
 import com.google.gwt.cell.client.HasCell;
@@ -97,6 +98,8 @@
 
         getTable().addColumn(new VolumeBrickStatusColumn(), 
constants.bricksStatusVolume(), "150px"); //$NON-NLS-1$
 
+        getTable().addColumn(new VolumeInfoColumn(), 
constants.volumeInfoVolume(), "100px"); //$NON-NLS-1$
+
         MenuCell<GlusterTaskSupport> rebalanceMenuCell = 
getRebalanceActivityMenu(constants);
         MenuCell<GlusterTaskSupport> removeBricksMenuCell = 
getRemoveBrickActivityMenu(constants);
         List<HasCell<GlusterTaskSupport, ?>> list = new 
ArrayList<HasCell<GlusterTaskSupport, ?>>();
@@ -159,15 +162,6 @@
         };
         snapshotCountColumn.makeSortable();
         getTable().addColumn(snapshotCountColumn, 
constants.noOfSnapshotsLabel(), "100px"); //$NON-NLS-1$
-
-        AbstractTextColumnWithTooltip<GlusterVolumeEntity> 
snapshotScheduledColumn = new 
AbstractTextColumnWithTooltip<GlusterVolumeEntity>() {
-            @Override
-            public String getValue(GlusterVolumeEntity object) {
-                return object.getSnapshotScheduled().toString();
-            }
-        };
-        snapshotScheduledColumn.makeSortable();
-        getTable().addColumn(snapshotScheduledColumn, 
constants.snapshotScheduledLabel(), "100px"); //$NON-NLS-1$
 
         getTable().addActionButton(new 
WebAdminButtonDefinition<GlusterVolumeEntity>(constants.newVolume()) {
             @Override
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/cell/VolumeInfoCell.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/cell/VolumeInfoCell.java
new file mode 100644
index 0000000..24330a2
--- /dev/null
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/cell/VolumeInfoCell.java
@@ -0,0 +1,37 @@
+package org.ovirt.engine.ui.webadmin.widget.table.cell;
+
+import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity;
+import org.ovirt.engine.ui.webadmin.ApplicationConstants;
+import org.ovirt.engine.ui.webadmin.ApplicationResources;
+import org.ovirt.engine.ui.webadmin.ApplicationTemplates;
+
+import com.google.gwt.cell.client.AbstractCell;
+import com.google.gwt.core.shared.GWT;
+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 VolumeInfoCell extends AbstractCell<GlusterVolumeEntity> {
+
+    private static final ApplicationResources resources = 
GWT.create(ApplicationResources.class);
+    private static final ApplicationConstants constants = 
GWT.create(ApplicationConstants.class);
+    private static final ApplicationTemplates applicationTemplates = 
GWT.create(ApplicationTemplates.class);
+
+    protected ImageResource snapshotScheduledImage = 
resources.snapshotScheduledImage();
+
+    @Override
+    public void render(Context context, GlusterVolumeEntity volume, 
SafeHtmlBuilder sb) {
+        // Nothing to render if no volume is provided:
+        if (volume == null) {
+            return;
+        }
+        if (volume.getSnapshotScheduled()) {
+            SafeHtml geoRepMasterHtml =
+                    
SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(snapshotScheduledImage).getHTML());
+            sb.append(applicationTemplates.statusTemplate(geoRepMasterHtml,
+                    constants.glusterVolumeSnapshotsScheduledToolTip()));
+        }
+    }
+}
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VolumeInfoColumn.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VolumeInfoColumn.java
new file mode 100644
index 0000000..4670c71
--- /dev/null
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VolumeInfoColumn.java
@@ -0,0 +1,17 @@
+package org.ovirt.engine.ui.webadmin.widget.table.column;
+
+import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity;
+import org.ovirt.engine.ui.common.widget.table.column.AbstractSortableColumn;
+import org.ovirt.engine.ui.webadmin.widget.table.cell.VolumeInfoCell;
+
+public class VolumeInfoColumn extends 
AbstractSortableColumn<GlusterVolumeEntity, GlusterVolumeEntity> {
+
+    public VolumeInfoColumn() {
+        super(new VolumeInfoCell());
+    }
+
+    @Override
+    public GlusterVolumeEntity getValue(GlusterVolumeEntity object) {
+        return object;
+    }
+}


-- 
To view, visit https://gerrit.ovirt.org/38566
To unsubscribe, visit https://gerrit.ovirt.org/settings

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

Reply via email to