Alexander Wels has uploaded a new change for review. Change subject: webadmin: Quota tab sorting ......................................................................
webadmin: Quota tab sorting - Implemented sorting on Quota main tab. - Only for name and description - Implemented sorting on Quota sub tabs. - Not implemented for VM/Template Change-Id: I2740a5a15523da95b599de5b7acf688472d6df49 Signed-off-by: Alexander Wels <aw...@redhat.com> --- M backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/QuotaConditionFieldAutoCompleter.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/TextColumnWithEditableTooltip.java A frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/comparators/QuotaStorageComparator.java A frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/comparators/QuotaVdsGroupComparator.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/quota/QuotaListModel.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabQuotaView.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaClusterView.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaPermissionView.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaStorageView.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaUserView.java 10 files changed, 144 insertions(+), 50 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/40/28440/1 diff --git a/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/QuotaConditionFieldAutoCompleter.java b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/QuotaConditionFieldAutoCompleter.java index 0133b61..8934a19 100644 --- a/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/QuotaConditionFieldAutoCompleter.java +++ b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/QuotaConditionFieldAutoCompleter.java @@ -3,21 +3,21 @@ import org.ovirt.engine.core.common.businessentities.QuotaEnforcementTypeEnum; public class QuotaConditionFieldAutoCompleter extends BaseConditionFieldAutoCompleter { - private static final String name = "NAME"; - private static final String storagePoolName = "STORAGEPOOLNAME"; - private static final String description = "DESCRIPTION"; - private static final String thresholdVdsGroupPercentage = "THRESHOLDVDSGROUPPERCENTAGE"; - private static final String thresholdStoragePercentage = "THRESHOLDSTORAGEPERCENTAGE"; - private static final String graceVdsGrouPercentage = "GRACEVDSGROUPPERCENTAGE"; - private static final String graceStoragePercentage = "GRACESTORAGEPERCENTAGE"; + public static final String NAME = "NAME"; + public static final String STORAGEPOOLNAME = "STORAGEPOOLNAME"; + public static final String DESCRIPTION = "DESCRIPTION"; + public static final String thresholdVdsGroupPercentage = "THRESHOLDVDSGROUPPERCENTAGE"; + public static final String thresholdStoragePercentage = "THRESHOLDSTORAGEPERCENTAGE"; + public static final String graceVdsGrouPercentage = "GRACEVDSGROUPPERCENTAGE"; + public static final String graceStoragePercentage = "GRACESTORAGEPERCENTAGE"; private static final String enforcementType = "ENFORCEMENTTYPE"; public QuotaConditionFieldAutoCompleter() { // Building the basic verbs dict. - mVerbs.add(name); - mVerbs.add(storagePoolName); - mVerbs.add(description); + mVerbs.add(NAME); + mVerbs.add(STORAGEPOOLNAME); + mVerbs.add(DESCRIPTION); mVerbs.add(thresholdStoragePercentage); mVerbs.add(thresholdVdsGroupPercentage); mVerbs.add(graceStoragePercentage); @@ -28,9 +28,9 @@ buildCompletions(); // Building the types dict. - getTypeDictionary().put(name, String.class); - getTypeDictionary().put(storagePoolName, String.class); - getTypeDictionary().put(description, String.class); + getTypeDictionary().put(NAME, String.class); + getTypeDictionary().put(STORAGEPOOLNAME, String.class); + getTypeDictionary().put(DESCRIPTION, String.class); getTypeDictionary().put(thresholdStoragePercentage, Integer.class); getTypeDictionary().put(thresholdVdsGroupPercentage, Integer.class); getTypeDictionary().put(graceStoragePercentage, Integer.class); @@ -38,9 +38,9 @@ getTypeDictionary().put(enforcementType, QuotaEnforcementTypeEnum.class); // building the ColumnName dict. - columnNameDict.put(name, "quota_name"); - columnNameDict.put(storagePoolName, "storage_pool_name"); - columnNameDict.put(description, "description"); + columnNameDict.put(NAME, "quota_name"); + columnNameDict.put(STORAGEPOOLNAME, "storage_pool_name"); + columnNameDict.put(DESCRIPTION, "description"); columnNameDict.put(thresholdVdsGroupPercentage, "threshold_vds_group_percentage"); columnNameDict.put(thresholdStoragePercentage, "threshold_storage_percentage"); columnNameDict.put(graceStoragePercentage, "grace_storage_percentage"); diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/TextColumnWithEditableTooltip.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/TextColumnWithEditableTooltip.java index 86cea09..42838ba 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/TextColumnWithEditableTooltip.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/TextColumnWithEditableTooltip.java @@ -1,6 +1,5 @@ package org.ovirt.engine.ui.common.widget.table.column; -import com.google.gwt.user.cellview.client.Column; /** * Column for displaying text using {@link TextCellWithEditableTooltip}. @@ -8,7 +7,8 @@ * @param <T> * Table row data type. */ -public abstract class TextColumnWithEditableTooltip<T> extends Column<T, String> implements ColumnWithElementId { +public abstract class TextColumnWithEditableTooltip<T> extends SortableColumn<T, String> + implements ColumnWithElementId { public TextColumnWithEditableTooltip() { super(new TextCellWithEditableTooltip()); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/comparators/QuotaStorageComparator.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/comparators/QuotaStorageComparator.java new file mode 100644 index 0000000..f6e94d2 --- /dev/null +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/comparators/QuotaStorageComparator.java @@ -0,0 +1,30 @@ +package org.ovirt.engine.ui.uicommonweb.comparators; + +import java.util.Comparator; + +import org.ovirt.engine.core.common.businessentities.QuotaStorage; +import org.ovirt.engine.core.common.businessentities.comparators.LexoNumericComparator; + +public class QuotaStorageComparator { + private static final LexoNumericComparator lexoNumeric = new LexoNumericComparator(); + + /** + * Comparator for the storage name field in {@code QuotaStorage}. + */ + public static final Comparator<QuotaStorage> NAME = new Comparator<QuotaStorage>() { + @Override + public int compare(QuotaStorage quotaStorage1, QuotaStorage quotaStorage2) { + return lexoNumeric.compare(quotaStorage1.getStorageName(), quotaStorage2.getStorageName()); + } + }; + + /** + * Comparator for the storage name field in {@code QuotaStorage}. + */ + public static final Comparator<QuotaStorage> USED = new Comparator<QuotaStorage>() { + @Override + public int compare(QuotaStorage quotaStorage1, QuotaStorage quotaStorage2) { + return quotaStorage1.getStorageSizeGBUsage().compareTo(quotaStorage2.getStorageSizeGBUsage()); + } + }; +} diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/comparators/QuotaVdsGroupComparator.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/comparators/QuotaVdsGroupComparator.java new file mode 100644 index 0000000..29dba33 --- /dev/null +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/comparators/QuotaVdsGroupComparator.java @@ -0,0 +1,41 @@ +package org.ovirt.engine.ui.uicommonweb.comparators; + +import java.util.Comparator; + +import org.ovirt.engine.core.common.businessentities.QuotaVdsGroup; +import org.ovirt.engine.core.common.businessentities.comparators.LexoNumericComparator; + +public class QuotaVdsGroupComparator { + private static final LexoNumericComparator lexoNumeric = new LexoNumericComparator(); + + /** + * Comparator for the vds group name field in {@code QuotaVdsGroup}. + */ + public static final Comparator<QuotaVdsGroup> NAME = new Comparator<QuotaVdsGroup>() { + @Override + public int compare(QuotaVdsGroup quotaGroup1, QuotaVdsGroup quotaGroup2) { + return lexoNumeric.compare(quotaGroup1.getVdsGroupName(), quotaGroup2.getVdsGroupName()); + } + }; + + /** + * Comparator for the mem size mb usage field in {@code QuotaVdsGroup}. + */ + public static final Comparator<QuotaVdsGroup> MEM_USAGE = new Comparator<QuotaVdsGroup>() { + @Override + public int compare(QuotaVdsGroup quotaGroup1, QuotaVdsGroup quotaGroup2) { + return quotaGroup1.getMemSizeMBUsage().compareTo(quotaGroup2.getMemSizeMBUsage()); + } + }; + + /** + * Comparator for the virtual cpu usage field in {@code QuotaVdsGroup}. + */ + public static final Comparator<QuotaVdsGroup> VIRTUAL_CPU_USAGE = new Comparator<QuotaVdsGroup>() { + @Override + public int compare(QuotaVdsGroup quotaGroup1, QuotaVdsGroup quotaGroup2) { + return quotaGroup1.getVirtualCpuUsage().compareTo(quotaGroup2.getVirtualCpuUsage()); + } + }; + +} diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/quota/QuotaListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/quota/QuotaListModel.java index 785ad18..54fcbaa 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/quota/QuotaListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/quota/QuotaListModel.java @@ -131,9 +131,15 @@ @Override protected void syncSearch() { - SearchParameters tempVar = new SearchParameters(getSearchString(), SearchType.Quota, isCaseSensitiveSearch()); + SearchParameters tempVar = new SearchParameters(applySortOptions(getSearchString()), SearchType.Quota, + isCaseSensitiveSearch()); tempVar.setMaxCount(getSearchPageSize()); super.syncSearch(VdcQueryType.Search, tempVar); + } + + @Override + public boolean supportsServerSideSorting() { + return true; } private void updateActionAvailability() { @@ -191,7 +197,7 @@ @Override public void eventRaised(Event ev, Object sender, EventArgs args) { - StoragePool selectedDataCenter = (StoragePool) qModel.getDataCenter().getSelectedItem(); + StoragePool selectedDataCenter = qModel.getDataCenter().getSelectedItem(); if(selectedDataCenter == null){ return; } @@ -271,16 +277,16 @@ return; } Quota quota = (Quota) model.getEntity(); - quota.setQuotaName((String) model.getName().getEntity()); - quota.setDescription((String) model.getDescription().getEntity()); - quota.setStoragePoolId(((StoragePool) model.getDataCenter().getSelectedItem()).getId()); + quota.setQuotaName(model.getName().getEntity()); + quota.setDescription(model.getDescription().getEntity()); + quota.setStoragePoolId(model.getDataCenter().getSelectedItem().getId()); quota.setGraceVdsGroupPercentage(model.getGraceClusterAsInteger()); quota.setGraceStoragePercentage(model.getGraceStorageAsInteger()); quota.setThresholdVdsGroupPercentage(model.getThresholdClusterAsInteger()); quota.setThresholdStoragePercentage(model.getThresholdStorageAsInteger()); - if ((Boolean) model.getGlobalClusterQuota().getEntity()) { + if (model.getGlobalClusterQuota().getEntity()) { QuotaVdsGroup quotaVdsGroup; for (QuotaVdsGroup iter : (ArrayList<QuotaVdsGroup>) model.getQuotaClusters().getItems()) { quota.setGlobalQuotaVdsGroup(new QuotaVdsGroup()); @@ -301,7 +307,7 @@ quota.setQuotaVdsGroups(quotaClusterList); } - if ((Boolean) model.getGlobalStorageQuota().getEntity()) { + if (model.getGlobalStorageQuota().getEntity()) { QuotaStorage quotaStorage; for (QuotaStorage iter : (ArrayList<QuotaStorage>) model.getQuotaStorages().getItems()) { quota.setGlobalQuotaStorage(new QuotaStorage()); @@ -325,7 +331,7 @@ QuotaCRUDParameters parameters = new QuotaCRUDParameters(quota); if (isClone) { - parameters.setCopyPermissions((Boolean) model.getCopyPermissions().getEntity()); + parameters.setCopyPermissions(model.getCopyPermissions().getEntity()); parameters.setQuotaId(quota.getId()); quota.setId(Guid.Empty); } @@ -349,7 +355,7 @@ private boolean hasUnlimitedSpecificQuota() { QuotaModel model = (QuotaModel) getWindow(); - if ((Boolean)model.getSpecificClusterQuota().getEntity()) { + if (model.getSpecificClusterQuota().getEntity()) { for (QuotaVdsGroup quotaVdsGroup : (ArrayList<QuotaVdsGroup>) model.getAllDataCenterClusters().getItems()) { if (QuotaVdsGroup.UNLIMITED_MEM.equals(quotaVdsGroup.getMemSizeMB()) || QuotaVdsGroup.UNLIMITED_VCPU.equals(quotaVdsGroup.getVirtualCpu())) { @@ -358,7 +364,7 @@ } } - if((Boolean)model.getSpecificStorageQuota().getEntity()) { + if(model.getSpecificStorageQuota().getEntity()) { for (QuotaStorage quotaStorage : (ArrayList<QuotaStorage>) model.getAllDataCenterStorages().getItems()) { if (QuotaStorage.UNLIMITED.equals(quotaStorage.getStorageSizeGB())) { return true; @@ -439,7 +445,7 @@ @Override public void eventRaised(Event ev, Object sender, EventArgs args) { - StoragePool selectedDataCenter = (StoragePool) qModel.getDataCenter().getSelectedItem(); + StoragePool selectedDataCenter = qModel.getDataCenter().getSelectedItem(); AsyncDataProvider.getClusterList(new AsyncQuery(this, new INewAsyncCallback() { @Override diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabQuotaView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabQuotaView.java index d3ebe66..b68a5c5 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabQuotaView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabQuotaView.java @@ -4,6 +4,7 @@ import org.ovirt.engine.core.common.businessentities.QuotaStorage; import org.ovirt.engine.core.common.businessentities.QuotaVdsGroup; import org.ovirt.engine.core.common.utils.SizeConverter; +import org.ovirt.engine.core.searchbackend.QuotaConditionFieldAutoCompleter; import org.ovirt.engine.ui.common.idhandler.ElementIdHandler; import org.ovirt.engine.ui.common.uicommon.model.MainModelProvider; import org.ovirt.engine.ui.common.widget.renderer.DiskSizeRenderer; @@ -45,19 +46,23 @@ getTable().addColumn(new QuotaDcStatusColumn(), constants.empty(), "30px"); //$NON-NLS-1$ - getTable().addColumn(new TextColumnWithTooltip<Quota>() { + TextColumnWithTooltip<Quota> nameColumn = new TextColumnWithTooltip<Quota>() { @Override public String getValue(Quota object) { return object.getQuotaName() == null ? "" : object.getQuotaName(); //$NON-NLS-1$ } - }, constants.nameQuota(), "120px"); //$NON-NLS-1$ + }; + nameColumn.makeSortable(QuotaConditionFieldAutoCompleter.NAME); + getTable().addColumn(nameColumn, constants.nameQuota(), "120px"); //$NON-NLS-1$ - getTable().addColumn(new TextColumnWithTooltip<Quota>() { + TextColumnWithTooltip<Quota> descriptionColumn = new TextColumnWithTooltip<Quota>() { @Override public String getValue(Quota object) { return object.getDescription() == null ? "" : object.getDescription(); //$NON-NLS-1$ } - }, constants.descriptionQuota(), "120px"); //$NON-NLS-1$ + }; + descriptionColumn.makeSortable(QuotaConditionFieldAutoCompleter.DESCRIPTION); + getTable().addColumn(descriptionColumn, constants.descriptionQuota(), "120px"); //$NON-NLS-1$ getTable().addColumn(new QuotaPercentColumn<Quota>() { @Override diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaClusterView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaClusterView.java index 8c94774..e258fec 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaClusterView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaClusterView.java @@ -7,6 +7,7 @@ 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.TextColumnWithTooltip; +import org.ovirt.engine.ui.uicommonweb.comparators.QuotaVdsGroupComparator; import org.ovirt.engine.ui.uicommonweb.models.quota.QuotaClusterListModel; import org.ovirt.engine.ui.uicommonweb.models.quota.QuotaListModel; import org.ovirt.engine.ui.webadmin.ApplicationConstants; @@ -35,17 +36,17 @@ private void initTable(final ApplicationConstants constants, final ApplicationMessages messages) { getTable().enableColumnResizing(); - getTable().addColumn(new TextColumnWithTooltip<QuotaVdsGroup>() { + TextColumnWithTooltip<QuotaVdsGroup> nameColumn = new TextColumnWithTooltip<QuotaVdsGroup>() { @Override public String getValue(QuotaVdsGroup object) { return object.getVdsGroupName() == null || object.getVdsGroupName().equals("") ? constants.ultQuotaForAllClustersQuotaPopup() : object.getVdsGroupName(); } - }, - constants.nameCluster(), - "300px"); //$NON-NLS-1$ + }; + nameColumn.makeSortable(QuotaVdsGroupComparator.NAME); + getTable().addColumn(nameColumn, constants.nameCluster(), "300px"); //$NON-NLS-1$ - getTable().addColumn(new TextColumnWithTooltip<QuotaVdsGroup>() { + TextColumnWithTooltip<QuotaVdsGroup> usedMemColumn = new TextColumnWithTooltip<QuotaVdsGroup>() { @Override public String getValue(QuotaVdsGroup object) { if (object.getMemSizeMB() == null) { @@ -56,10 +57,11 @@ return messages.limitedMemConsumption(object.getMemSizeMBUsage(), object.getMemSizeMB()); } } - }, - constants.usedMemoryTotalCluster(), "300px"); //$NON-NLS-1$ + }; + usedMemColumn.makeSortable(QuotaVdsGroupComparator.MEM_USAGE); + getTable().addColumn(usedMemColumn, constants.usedMemoryTotalCluster(), "300px"); //$NON-NLS-1$ - getTable().addColumn(new TextColumnWithTooltip<QuotaVdsGroup>() { + TextColumnWithTooltip<QuotaVdsGroup> virtualCpuColumn = new TextColumnWithTooltip<QuotaVdsGroup>() { @Override public String getValue(QuotaVdsGroup object) { if (object.getVirtualCpu() == null) { @@ -70,8 +72,9 @@ return messages.limitedVcpuConsumption(object.getVirtualCpuUsage(), object.getVirtualCpu()); } } - }, - constants.runningCpuTotalCluster(), "300px"); //$NON-NLS-1$ + }; + virtualCpuColumn.makeSortable(QuotaVdsGroupComparator.VIRTUAL_CPU_USAGE); + getTable().addColumn(virtualCpuColumn, constants.runningCpuTotalCluster(), "300px"); //$NON-NLS-1$ } } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaPermissionView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaPermissionView.java index 38e3686..25eb174 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaPermissionView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaPermissionView.java @@ -10,6 +10,7 @@ import org.ovirt.engine.ui.common.widget.table.column.PermissionTypeColumn; import org.ovirt.engine.ui.common.widget.table.column.TextColumnWithTooltip; import org.ovirt.engine.ui.uicommonweb.UICommand; +import org.ovirt.engine.ui.uicommonweb.comparators.PermissionsComparator; import org.ovirt.engine.ui.uicommonweb.models.quota.QuotaListModel; import org.ovirt.engine.ui.uicommonweb.models.quota.QuotaPermissionListModel; import org.ovirt.engine.ui.webadmin.ApplicationConstants; @@ -43,6 +44,7 @@ return object.getOwnerName(); } }; + userColumn.makeSortable(PermissionsComparator.OWNER_NAME); getTable().addColumn(userColumn, constants.userPermission()); TextColumnWithTooltip<Permissions> roleColumn = new TextColumnWithTooltip<Permissions>() { @@ -51,6 +53,7 @@ return object.getRoleName(); } }; + roleColumn.makeSortable(PermissionsComparator.ROLE_NAME); getTable().addColumn(roleColumn, constants.rolePermission()); TextColumnWithTooltip<Permissions> permissionColumn = new ObjectNameColumn<Permissions>() { @@ -61,6 +64,7 @@ }; } }; + permissionColumn.makeSortable(PermissionsComparator.INHERITED); getTable().addColumn(permissionColumn, constants.inheretedFromPermission()); getTable().addActionButton(new WebAdminButtonDefinition<Permissions>(constants.addPermission()) { diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaStorageView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaStorageView.java index 0b7fc56..9b6f6c4 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaStorageView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaStorageView.java @@ -11,6 +11,7 @@ import org.ovirt.engine.ui.common.widget.table.column.TextCellWithEditableTooltip; import org.ovirt.engine.ui.common.widget.table.column.TextColumnWithEditableTooltip; import org.ovirt.engine.ui.common.widget.table.column.TextColumnWithTooltip; +import org.ovirt.engine.ui.uicommonweb.comparators.QuotaStorageComparator; import org.ovirt.engine.ui.uicommonweb.models.quota.QuotaListModel; import org.ovirt.engine.ui.uicommonweb.models.quota.QuotaStorageListModel; import org.ovirt.engine.ui.webadmin.ApplicationConstants; @@ -42,17 +43,17 @@ private void initTable(final ApplicationConstants constants, final ApplicationMessages messages) { getTable().enableColumnResizing(); - getTable().addColumn(new TextColumnWithTooltip<QuotaStorage>() { + TextColumnWithTooltip<QuotaStorage> nameColumn = new TextColumnWithTooltip<QuotaStorage>() { @Override public String getValue(QuotaStorage object) { return object.getStorageName() == null || object.getStorageName().equals("") ? constants.utlQuotaAllStoragesQuotaPopup() : object.getStorageName(); } - }, - constants.nameQuotaStorage(), - "400px"); //$NON-NLS-1$ + }; + nameColumn.makeSortable(QuotaStorageComparator.NAME); + getTable().addColumn(nameColumn, constants.nameQuotaStorage(), "400px"); //$NON-NLS-1$ - getTable().addColumn(new TextColumnWithEditableTooltip<QuotaStorage>() { + TextColumnWithEditableTooltip<QuotaStorage> usedColumn = new TextColumnWithEditableTooltip<QuotaStorage>() { @Override public String getValue(QuotaStorage object) { if (object.getStorageSizeGB() == null) { @@ -75,7 +76,8 @@ textCellWithEditableTooltip.setTitle(constants.quotaCalculationsMessage()); return textCellWithEditableTooltip; } - }, - constants.usedStorageTotalQuotaStorage(), "400px"); //$NON-NLS-1$ + }; + usedColumn.makeSortable(QuotaStorageComparator.USED); + getTable().addColumn(usedColumn, constants.usedStorageTotalQuotaStorage(), "400px"); //$NON-NLS-1$ } } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaUserView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaUserView.java index c29b672..575423e 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaUserView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaUserView.java @@ -10,6 +10,7 @@ import org.ovirt.engine.ui.common.widget.table.column.PermissionTypeColumn; import org.ovirt.engine.ui.common.widget.table.column.TextColumnWithTooltip; import org.ovirt.engine.ui.uicommonweb.UICommand; +import org.ovirt.engine.ui.uicommonweb.comparators.PermissionsComparator; import org.ovirt.engine.ui.uicommonweb.models.quota.QuotaListModel; import org.ovirt.engine.ui.uicommonweb.models.quota.QuotaUserListModel; import org.ovirt.engine.ui.webadmin.ApplicationConstants; @@ -45,6 +46,7 @@ return object.getOwnerName(); } }; + userColumn.makeSortable(PermissionsComparator.OWNER_NAME); getTable().addColumn(userColumn, constants.userUser(), "400px"); //$NON-NLS-1$ TextColumnWithTooltip<Permissions> permissionColumn = new ObjectNameColumn<Permissions>() { @@ -55,6 +57,7 @@ }; } }; + permissionColumn.makeSortable(PermissionsComparator.INHERITED); getTable().addColumn(permissionColumn, constants.inheritedFromUser(), "400px"); //$NON-NLS-1$ getTable().addActionButton(new WebAdminButtonDefinition<Permissions>(constants.addUser()) { -- To view, visit http://gerrit.ovirt.org/28440 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I2740a5a15523da95b599de5b7acf688472d6df49 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Alexander Wels <aw...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches