ofri masad has uploaded a new change for review. Change subject: webadmin: Add notification to quota resize (#848289) ......................................................................
webadmin: Add notification to quota resize (#848289) https://bugzilla.redhat.com/848289 This patch continues the previous backend change. An alert icon will appear next to the quota utilization status in the edit-quota dialog next to any exceeded storage quota. Change-Id: I784da6102463158f5c30a821a00fce78210767ec Signed-off-by: Ofri Masad <oma...@redhat.com> --- M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/quota/QuotaPopupView.java A frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/QuotaUtilizationStatusColumn.java 2 files changed, 52 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/58/7858/1 diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/quota/QuotaPopupView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/quota/QuotaPopupView.java index af9c97a..d6928c3 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/quota/QuotaPopupView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/quota/QuotaPopupView.java @@ -42,6 +42,7 @@ import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.ScrollPanel; import com.google.inject.Inject; +import org.ovirt.engine.ui.webadmin.widget.table.column.QuotaUtilizationStatusColumn; public class QuotaPopupView extends AbstractModelBoundPopupView<QuotaModel> implements QuotaPopupPresenterWidget.ViewDef, SliderValueChange { @@ -250,6 +251,8 @@ } }, constants.storageNameQuota(), "200px"); //$NON-NLS-1$ + quotaStorageTable.addColumn(new QuotaUtilizationStatusColumn<QuotaStorage>(), constants.empty(), "1px"); //$NON-NLS-1$ + quotaStorageTable.addColumn(new TextColumnWithTooltip<QuotaStorage>() { @Override public String getValue(QuotaStorage object) { @@ -336,6 +339,8 @@ } }, constants.clusterNameQuota(), "200px"); //$NON-NLS-1$ + quotaClusterTable.addColumn(new QuotaUtilizationStatusColumn<QuotaVdsGroup>(), constants.empty(), "1px"); //$NON-NLS-1$ + quotaClusterTable.addColumn(new TextColumnWithTooltip<QuotaVdsGroup>() { @Override public String getValue(QuotaVdsGroup object) { diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/QuotaUtilizationStatusColumn.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/QuotaUtilizationStatusColumn.java new file mode 100644 index 0000000..3f69366 --- /dev/null +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/QuotaUtilizationStatusColumn.java @@ -0,0 +1,47 @@ +package org.ovirt.engine.ui.webadmin.widget.table.column; + +import org.ovirt.engine.core.common.businessentities.QuotaStorage; + +import com.google.gwt.resources.client.ImageResource; +import org.ovirt.engine.core.common.businessentities.QuotaVdsGroup; +import org.ovirt.engine.ui.common.widget.table.column.ImageResourceColumn; +import org.ovirt.engine.ui.webadmin.ApplicationResources; +import org.ovirt.engine.ui.webadmin.gin.ClientGinjectorProvider; + +public class QuotaUtilizationStatusColumn<IVdcQueryable> extends ImageResourceColumn<IVdcQueryable> { + + @Override + public ImageResource getValue(IVdcQueryable quota) { + boolean quotaExceeded = false; + if (quota instanceof QuotaStorage) { + quotaExceeded = getQuotaExceeded((QuotaStorage)quota); + } else if (quota instanceof QuotaVdsGroup) { + quotaExceeded = getQuotaExceeded((QuotaVdsGroup)quota); + } else { + return null; + } + + if (quotaExceeded) { + setTitle("Quota exceeded");//$NON-NLS-1$ + } + + return quotaExceeded ? getResources().alertImage() : null; + } + + private boolean getQuotaExceeded(QuotaStorage quota) { + return quota.getStorageSizeGB() != QuotaStorage.UNLIMITED + && quota.getStorageSizeGB() < quota.getStorageSizeGBUsage(); + } + + private boolean getQuotaExceeded(QuotaVdsGroup quota) { + return (quota.getMemSizeMB() != QuotaVdsGroup.UNLIMITED_MEM + && quota.getMemSizeMB() < quota.getMemSizeMBUsage()) + || (quota.getVirtualCpu() != QuotaVdsGroup.UNLIMITED_VCPU + && quota.getVirtualCpu() < quota.getVirtualCpuUsage()); + } + + private ApplicationResources getResources() { + // Get a reference to the application resources: + return ClientGinjectorProvider.instance().getApplicationResources(); + } +} -- To view, visit http://gerrit.ovirt.org/7858 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I784da6102463158f5c30a821a00fce78210767ec Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: ofri masad <oma...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches