Alexander Wels has uploaded a new change for review.

Change subject: webadmin: user main tab sorting
......................................................................

webadmin: user main tab sorting

- Implemented sorting on Users main tab
  - No sorting on email.
- Implemented sorting on Users sub tabs.

Change-Id: I87781ecd94ad15fb7db9209c347a57e3bd59db46
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1119873
Signed-off-by: Alexander Wels <[email protected]>
---
M 
backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/VdcUserConditionFieldAutoCompleter.java
A 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/comparators/QuotaComparator.java
A 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/comparators/UserGroupComparator.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/users/UserListModel.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabUserView.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/user/SubTabUserEventNotifierView.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/user/SubTabUserGroupView.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/user/SubTabUserPermissionView.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/user/SubTabUserQuotaView.java
9 files changed, 161 insertions(+), 35 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/25/30125/1

diff --git 
a/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/VdcUserConditionFieldAutoCompleter.java
 
b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/VdcUserConditionFieldAutoCompleter.java
index 788d3e1..a517a61 100644
--- 
a/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/VdcUserConditionFieldAutoCompleter.java
+++ 
b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/VdcUserConditionFieldAutoCompleter.java
@@ -1,6 +1,11 @@
 package org.ovirt.engine.core.searchbackend;
 
 public class VdcUserConditionFieldAutoCompleter extends 
BaseConditionFieldAutoCompleter {
+    public static final String FIRST_NAME = "NAME";
+    public static final String LAST_NAME = "LASTNAME";
+    public static final String USER_NAME = "USRNAME";
+    public static final String GROUP = "GROUP";
+
     public enum UserOrGroup {
         User,
         Group
@@ -8,14 +13,14 @@
 
     public VdcUserConditionFieldAutoCompleter() {
         super();
-        // Building the basic vervs Dict
-        mVerbs.add("NAME");
-        mVerbs.add("LASTNAME");
-        mVerbs.add("USRNAME");
+        // Building the basic verbs dictionary.
+        mVerbs.add(FIRST_NAME);
+        mVerbs.add(LAST_NAME);
+        mVerbs.add(USER_NAME);
         mVerbs.add("LOGIN");
         mVerbs.add("DIRECTORY");
         mVerbs.add("DEPARTMENT");
-        mVerbs.add("GROUP");
+        mVerbs.add(GROUP);
         mVerbs.add("TITLE");
         mVerbs.add("ACTIVE");
         mVerbs.add("ROLE");
@@ -23,17 +28,17 @@
         mVerbs.add("POOL");
         mVerbs.add("TYPE");
 
-        // Building the autoCompletion Dict
+        // Building the auto completion dictionary.
         buildCompletions();
-        // Building the types dict
-        getTypeDictionary().put("NAME", String.class);
-        getTypeDictionary().put("LASTNAME", String.class);
-        getTypeDictionary().put("USRNAME", String.class);
+        // Building the types dictionary.
+        getTypeDictionary().put(FIRST_NAME, String.class);
+        getTypeDictionary().put(LAST_NAME, String.class);
+        getTypeDictionary().put(USER_NAME, String.class);
         getTypeDictionary().put("LOGIN", String.class);
         getTypeDictionary().put("DIRECTORY", String.class);
         getTypeDictionary().put("DEPARTMENT", String.class);
         getTypeDictionary().put("TITLE", String.class);
-        getTypeDictionary().put("GROUP", String.class);
+        getTypeDictionary().put(GROUP, String.class);
         getTypeDictionary().put("ACTIVE", Boolean.class);
         getTypeDictionary().put("ROLE", String.class);
         getTypeDictionary().put("TAG", String.class);
@@ -41,14 +46,14 @@
         getTypeDictionary().put("TYPE", UserOrGroup.class);
 
         // building the ColumnName Dict
-        columnNameDict.put("NAME", "name");
-        columnNameDict.put("LASTNAME", "surname");
-        columnNameDict.put("USRNAME", "username");
+        columnNameDict.put(FIRST_NAME, "name");
+        columnNameDict.put(LAST_NAME, "surname");
+        columnNameDict.put(USER_NAME, "username");
         columnNameDict.put("LOGIN", "username");
         columnNameDict.put("DIRECTORY", "domain");
         columnNameDict.put("DEPARTMENT", "department");
         columnNameDict.put("TITLE", "role");
-        columnNameDict.put("GROUP", "groups");
+        columnNameDict.put(GROUP, "groups");
         columnNameDict.put("ACTIVE", "active");
         columnNameDict.put("ROLE", "mla_role");
         columnNameDict.put("TAG", "tag_name");
@@ -70,7 +75,7 @@
         String customizedRelation,
         String tableName,
         boolean caseSensitive) {
-        if ("USRNAME".equals(fieldName) && customizedValue.contains("@")) {
+        if (USER_NAME.equals(fieldName) && customizedValue.contains("@")) {
             // When the given user name contains the at sign, we need to split 
it and compare it to two columns in the
             // database: the column containing the login name of the user and 
the column containg the name of the
             // directory.
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/comparators/QuotaComparator.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/comparators/QuotaComparator.java
new file mode 100644
index 0000000..839de28
--- /dev/null
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/comparators/QuotaComparator.java
@@ -0,0 +1,40 @@
+package org.ovirt.engine.ui.uicommonweb.comparators;
+
+import java.util.Comparator;
+
+import org.ovirt.engine.core.common.businessentities.Quota;
+import 
org.ovirt.engine.core.common.businessentities.comparators.LexoNumericComparator;
+
+public class QuotaComparator {
+    private static final LexoNumericComparator lexoNumeric = new 
LexoNumericComparator();
+
+    /**
+     * Comparator for the description field in {@code Quota}.
+     */
+    public static final Comparator<Quota> DESCRIPTION = new 
Comparator<Quota>() {
+        @Override
+        public int compare(Quota quota1, Quota quota2) {
+            return lexoNumeric.compare(quota1.getDescription(), 
quota2.getDescription());
+        }
+    };
+
+    /**
+     * Comparator for the quota name field in {@code Quota}.
+     */
+    public static final Comparator<Quota> NAME = new Comparator<Quota>() {
+        @Override
+        public int compare(Quota quota1, Quota quota2) {
+            return lexoNumeric.compare(quota1.getQuotaName(), 
quota2.getQuotaName());
+        }
+    };
+
+    /**
+     * Comparator for the description field in {@code Quota}.
+     */
+    public static final Comparator<Quota> DATA_CENTER = new 
Comparator<Quota>() {
+        @Override
+        public int compare(Quota quota1, Quota quota2) {
+            return lexoNumeric.compare(quota1.getStoragePoolName(), 
quota2.getStoragePoolName());
+        }
+    };
+}
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/comparators/UserGroupComparator.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/comparators/UserGroupComparator.java
new file mode 100644
index 0000000..d0f0164
--- /dev/null
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/comparators/UserGroupComparator.java
@@ -0,0 +1,40 @@
+package org.ovirt.engine.ui.uicommonweb.comparators;
+
+import java.util.Comparator;
+
+import 
org.ovirt.engine.core.common.businessentities.comparators.LexoNumericComparator;
+import org.ovirt.engine.ui.uicommonweb.models.users.UserGroup;
+
+public class UserGroupComparator {
+    private static final LexoNumericComparator lexoNumeric = new 
LexoNumericComparator();
+
+    /**
+     * Comparator for the group name field in {@code UserGroup}.
+     */
+    public static final Comparator<UserGroup> NAME = new 
Comparator<UserGroup>() {
+        @Override
+        public int compare(UserGroup userGroup1, UserGroup userGroup2) {
+            return lexoNumeric.compare(userGroup1.getGroupName(), 
userGroup2.getGroupName());
+        }
+    };
+
+    /**
+     * Comparator for the organizational unit field in {@code UserGroup}.
+     */
+    public static final Comparator<UserGroup> ORG_UNIT = new 
Comparator<UserGroup>() {
+        @Override
+        public int compare(UserGroup userGroup1, UserGroup userGroup2) {
+            return lexoNumeric.compare(userGroup1.getOrganizationalUnit(), 
userGroup2.getOrganizationalUnit());
+        }
+    };
+
+    /**
+     * Comparator for the group name field in {@code UserGroup}.
+     */
+    public static final Comparator<UserGroup> DOMAIN = new 
Comparator<UserGroup>() {
+        @Override
+        public int compare(UserGroup userGroup1, UserGroup userGroup2) {
+            return lexoNumeric.compare(userGroup1.getDomain(), 
userGroup2.getDomain());
+        }
+    };
+}
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/users/UserListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/users/UserListModel.java
index ddcd1a9..40bc41e 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/users/UserListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/users/UserListModel.java
@@ -380,11 +380,17 @@
     @Override
     protected void syncSearch()
     {
-        SearchParameters tempVar = new SearchParameters(getSearchString(), 
SearchType.DBUser, isCaseSensitiveSearch());
+        SearchParameters tempVar = new 
SearchParameters(applySortOptions(getSearchString()), SearchType.DBUser,
+                isCaseSensitiveSearch());
         tempVar.setMaxCount(getSearchPageSize());
         super.syncSearch(VdcQueryType.Search, tempVar);
     }
 
+    @Override
+    public boolean supportsServerSideSorting() {
+        return true;
+    }
+
     private EntityModel userGroupListModel;
     private EntityModel userEventNotifierListModel;
 
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabUserView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabUserView.java
index 60431f5..2bd8e3d 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabUserView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabUserView.java
@@ -1,6 +1,7 @@
 package org.ovirt.engine.ui.webadmin.section.main.view.tab;
 
 import org.ovirt.engine.core.common.businessentities.DbUser;
+import org.ovirt.engine.core.searchbackend.VdcUserConditionFieldAutoCompleter;
 import org.ovirt.engine.ui.common.idhandler.ElementIdHandler;
 import org.ovirt.engine.ui.common.uicommon.model.MainModelProvider;
 import org.ovirt.engine.ui.common.widget.table.column.TextColumnWithTooltip;
@@ -35,28 +36,34 @@
 
         getTable().addColumn(new UserStatusColumn(), constants.empty(), 
"30px"); //$NON-NLS-1$
 
-        getTable().addColumn(new TextColumnWithTooltip<DbUser>() {
+        TextColumnWithTooltip<DbUser> firstNameColumn = new 
TextColumnWithTooltip<DbUser>() {
             @Override
             public String getValue(DbUser object) {
                 return object.getFirstName();
             }
-        }, constants.firstnameUser(), "150px"); //$NON-NLS-1$
+        };
+        
firstNameColumn.makeSortable(VdcUserConditionFieldAutoCompleter.FIRST_NAME);
+        getTable().addColumn(firstNameColumn, constants.firstnameUser(), 
"150px"); //$NON-NLS-1$
 
-        getTable().addColumn(new TextColumnWithTooltip<DbUser>() {
+        TextColumnWithTooltip<DbUser> lastNameColumn = new 
TextColumnWithTooltip<DbUser>() {
             @Override
             public String getValue(DbUser object) {
                 return object.getLastName();
             }
-        }, constants.lastNameUser(), "150px"); //$NON-NLS-1$
+        };
+        
lastNameColumn.makeSortable(VdcUserConditionFieldAutoCompleter.LAST_NAME);
+        getTable().addColumn(lastNameColumn, constants.lastNameUser(), 
"150px"); //$NON-NLS-1$
 
-        getTable().addColumn(new TextColumnWithTooltip<DbUser>() {
+        TextColumnWithTooltip<DbUser> userNameColumn = new 
TextColumnWithTooltip<DbUser>() {
             @Override
             public String getValue(DbUser object) {
                 return FormatUtils.getFullLoginName(object);
             }
-        }, constants.userNameUser(), "150px"); //$NON-NLS-1$
+        };
+        
userNameColumn.makeSortable(VdcUserConditionFieldAutoCompleter.USER_NAME);
+        getTable().addColumn(userNameColumn, constants.userNameUser(), 
"150px"); //$NON-NLS-1$
 
-        getTable().addColumn(new TextColumnWithTooltip<DbUser>() {
+        TextColumnWithTooltip<DbUser> groupColumn = new 
TextColumnWithTooltip<DbUser>() {
             @Override
             public String getValue(DbUser object) {
                 StringBuilder builder = new StringBuilder();
@@ -68,7 +75,9 @@
                 }
                 return builder.toString();
             }
-        }, constants.groupUser(), "150px"); //$NON-NLS-1$
+        };
+        groupColumn.makeSortable(VdcUserConditionFieldAutoCompleter.GROUP);
+        getTable().addColumn(groupColumn, constants.groupUser(), "150px"); 
//$NON-NLS-1$
 
         getTable().addColumn(new TextColumnWithTooltip<DbUser>() {
             @Override
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/user/SubTabUserEventNotifierView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/user/SubTabUserEventNotifierView.java
index d4e8aa8..8c9b426 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/user/SubTabUserEventNotifierView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/user/SubTabUserEventNotifierView.java
@@ -1,10 +1,13 @@
 package org.ovirt.engine.ui.webadmin.section.main.view.tab.user;
 
+import java.util.Comparator;
+
 import javax.inject.Inject;
 
 import org.ovirt.engine.core.common.AuditLogType;
 import org.ovirt.engine.core.common.businessentities.DbUser;
 import org.ovirt.engine.core.common.businessentities.event_subscriber;
+import 
org.ovirt.engine.core.common.businessentities.comparators.LexoNumericComparator;
 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;
@@ -41,6 +44,14 @@
                 return Enum.valueOf(AuditLogType.class, 
object.getevent_up_name());
             }
         };
+        eventNameColumn.makeSortable(new Comparator<event_subscriber>() {
+            private final LexoNumericComparator lexoNumericComparator = new 
LexoNumericComparator();
+
+            @Override
+            public int compare(event_subscriber o1, event_subscriber o2) {
+                return lexoNumericComparator.compare(o1.getevent_up_name(), 
o2.getevent_up_name());
+            }
+        });
         getTable().addColumn(eventNameColumn, 
constants.eventNameEventNotifier());
 
         getTable().addActionButton(new 
WebAdminButtonDefinition<event_subscriber>(constants.manageEventsEventNotifier())
 {
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/user/SubTabUserGroupView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/user/SubTabUserGroupView.java
index 82165ae..ca1d911 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/user/SubTabUserGroupView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/user/SubTabUserGroupView.java
@@ -5,6 +5,7 @@
 import org.ovirt.engine.core.common.businessentities.DbUser;
 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.UserGroupComparator;
 import org.ovirt.engine.ui.uicommonweb.models.users.UserGroup;
 import org.ovirt.engine.ui.uicommonweb.models.users.UserGroupListModel;
 import org.ovirt.engine.ui.uicommonweb.models.users.UserListModel;
@@ -29,15 +30,17 @@
                 return object.getGroupName();
             }
         };
+        nameColumn.makeSortable(UserGroupComparator.NAME);
         getTable().addColumn(nameColumn, constants.groupNameGroup());
 
-        TextColumnWithTooltip<UserGroup> OrgUnitColumn = new 
TextColumnWithTooltip<UserGroup>() {
+        TextColumnWithTooltip<UserGroup> orgUnitColumn = new 
TextColumnWithTooltip<UserGroup>() {
             @Override
             public String getValue(UserGroup object) {
                 return object.getOrganizationalUnit();
             }
         };
-        getTable().addColumn(OrgUnitColumn, constants.orgUnitGroup());
+        orgUnitColumn.makeSortable(UserGroupComparator.ORG_UNIT);
+        getTable().addColumn(orgUnitColumn, constants.orgUnitGroup());
 
         TextColumnWithTooltip<UserGroup> domainColumn = new 
TextColumnWithTooltip<UserGroup>() {
             @Override
@@ -45,6 +48,7 @@
                 return object.getDomain();
             }
         };
+        domainColumn.makeSortable(UserGroupComparator.DOMAIN);
         getTable().addColumn(domainColumn, constants.domainGroup());
     }
 
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/user/SubTabUserPermissionView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/user/SubTabUserPermissionView.java
index 5514111..9803234 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/user/SubTabUserPermissionView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/user/SubTabUserPermissionView.java
@@ -44,6 +44,7 @@
                 return object.getRoleName();
             }
         };
+        roleColumn.makeSortable();
         getTable().addColumn(roleColumn, constants.rolePermission());
 
         TextColumnWithTooltip<Permissions> permissionColumn = new 
ObjectNameColumn<Permissions>() {
@@ -52,15 +53,17 @@
                 return new Object[] { object.getObjectType(), 
object.getObjectName() };
             }
         };
+        permissionColumn.makeSortable();
         getTable().addColumn(permissionColumn, constants.objectPermission());
 
-        TextColumnWithTooltip<Permissions> groupColumn = new 
GroupNameColumn<Permissions>() {
+        TextColumnWithTooltip<Permissions> inheritedColumn = new 
GroupNameColumn<Permissions>() {
             @Override
             protected Object[] getRawValue(Permissions object) {
                 return new Object[] { getDetailModel().getEntity(), 
object.getad_element_id(), object.getOwnerName() };
             }
         };
-        getTable().addColumn(groupColumn, constants.inheritedPermission());
+        inheritedColumn.makeSortable();
+        getTable().addColumn(inheritedColumn, constants.inheritedPermission());
 
         getTable().addActionButton(new 
WebAdminButtonDefinition<Permissions>(constants.removePermission()) {
             @Override
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/user/SubTabUserQuotaView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/user/SubTabUserQuotaView.java
index 2103fd6..89a5e6a 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/user/SubTabUserQuotaView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/user/SubTabUserQuotaView.java
@@ -6,6 +6,7 @@
 import org.ovirt.engine.core.common.businessentities.Quota;
 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.QuotaComparator;
 import org.ovirt.engine.ui.uicommonweb.models.users.UserListModel;
 import org.ovirt.engine.ui.uicommonweb.models.users.UserQuotaListModel;
 import org.ovirt.engine.ui.webadmin.ApplicationConstants;
@@ -28,25 +29,32 @@
 
         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(), "300px"); //$NON-NLS-1$
+        };
+        nameColumn.makeSortable(QuotaComparator.NAME);
+        getTable().addColumn(nameColumn, constants.nameQuota(), "300px"); 
//$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(), "300px"); //$NON-NLS-1$
-        getTable().addColumn(new TextColumnWithTooltip<Quota>() {
+        };
+        descriptionColumn.makeSortable(QuotaComparator.DESCRIPTION);
+        getTable().addColumn(descriptionColumn, constants.descriptionQuota(), 
"300px"); //$NON-NLS-1$
+
+        TextColumnWithTooltip<Quota> datacenterColumn = new 
TextColumnWithTooltip<Quota>() {
             @Override
             public String getValue(Quota object) {
                 return object.getStoragePoolName() == null ? "" : 
object.getStoragePoolName(); //$NON-NLS-1$
             }
-        }, constants.dcQuota(), "300px"); //$NON-NLS-1$
+        };
+        datacenterColumn.makeSortable(QuotaComparator.DATA_CENTER);
+        getTable().addColumn(datacenterColumn, constants.dcQuota(), "300px"); 
//$NON-NLS-1$
     }
 
 }


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

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

Reply via email to