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
