Alexander Wels has uploaded a new change for review.

Change subject: webadmin: sorting DC tabs
......................................................................

webadmin: sorting DC tabs

- Implemented sorting in data center main tab.
- Implemented sorting in data center sub tabs.
- Added comparators for the sub tabs that do not support
  server side sorting.

Change-Id: Id95272bd4594a66611c11aaa690d44d88b082b49
Signed-off-by: Alexander Wels <[email protected]>
---
M 
backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/AuditLogConditionFieldAutoCompleter.java
M 
backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/StoragePoolFieldAutoCompleter.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/events/EventListModelTable.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterListModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/events/EventListModel.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabDataCenterView.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/datacenter/SubTabDataCenterClusterView.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/datacenter/SubTabDataCenterNetworkQoSView.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/datacenter/SubTabDataCenterNetworkView.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/datacenter/SubTabDataCenterQuotaView.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/datacenter/SubTabDataCenterStorageView.java
11 files changed, 143 insertions(+), 72 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/21/30121/1

diff --git 
a/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/AuditLogConditionFieldAutoCompleter.java
 
b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/AuditLogConditionFieldAutoCompleter.java
index e26dd79..a0fa586 100644
--- 
a/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/AuditLogConditionFieldAutoCompleter.java
+++ 
b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/AuditLogConditionFieldAutoCompleter.java
@@ -1,17 +1,27 @@
 package org.ovirt.engine.core.searchbackend;
 
 import java.util.Date;
+
 import org.ovirt.engine.core.common.AuditLogSeverity;
 import org.ovirt.engine.core.common.businessentities.DateEnumForSearch;
 
 public class AuditLogConditionFieldAutoCompleter extends 
BaseConditionFieldAutoCompleter {
+
+    public static final String TIME = "TIME";
+    public static final String TYPE = "TYPE";
+    public static final String SEVERITY = "SEVERITY";
+    public static final String MESSAGE = "MESSAGE";
+    public static final String CORRELATION_ID = "CORRELATION_ID";
+    public static final String ORIGIN = "ORIGIN";
+    public static final String CUSTOM_EVENT_ID = "CUSTOM_EVENT_ID";
+
     public AuditLogConditionFieldAutoCompleter() {
         super();
         // Building the basic vervs Dict
-        mVerbs.add("TYPE");
-        mVerbs.add("SEVERITY");
-        mVerbs.add("MESSAGE");
-        mVerbs.add("TIME");
+        mVerbs.add(TYPE);
+        mVerbs.add(SEVERITY);
+        mVerbs.add(MESSAGE);
+        mVerbs.add(TIME);
         mVerbs.add("USRNAME");
         mVerbs.add("EVENT_HOST");
         mVerbs.add("EVENT_VM");
@@ -19,9 +29,9 @@
         mVerbs.add("EVENT_STORAGE");
         mVerbs.add("EVENT_DATACENTER");
         mVerbs.add("EVENT_VOLUME");
-        mVerbs.add("CORRELATION_ID");
-        mVerbs.add("ORIGIN");
-        mVerbs.add("CUSTOM_EVENT_ID");
+        mVerbs.add(CORRELATION_ID);
+        mVerbs.add(ORIGIN);
+        mVerbs.add(CUSTOM_EVENT_ID);
         mVerbs.add("DELETED");
         buildCompletions();
         // These search options remain hidden from the autocompletion
@@ -35,10 +45,10 @@
         mVerbs.add("USRID");
         // Building the autoCompletion Dict
         // Building the types dict
-        getTypeDictionary().put("TYPE", Integer.class);
-        getTypeDictionary().put("SEVERITY", AuditLogSeverity.class);
-        getTypeDictionary().put("MESSAGE", String.class);
-        getTypeDictionary().put("TIME", Date.class);
+        getTypeDictionary().put(TYPE, Integer.class);
+        getTypeDictionary().put(SEVERITY, AuditLogSeverity.class);
+        getTypeDictionary().put(MESSAGE, String.class);
+        getTypeDictionary().put(TIME, Date.class);
         getTypeDictionary().put("USRNAME", String.class);
         getTypeDictionary().put("EVENT_HOST", String.class);
         getTypeDictionary().put("EVENT_VM", String.class);
@@ -54,15 +64,15 @@
         getTypeDictionary().put("_EVENT_QUOTA_ID", String.class);
         getTypeDictionary().put("EVENT_VOLUME", String.class);
         getTypeDictionary().put("_EVENT_VOLUME_ID", String.class);
-        getTypeDictionary().put("CORRELATION_ID", String.class);
-        getTypeDictionary().put("ORIGIN", String.class);
-        getTypeDictionary().put("CUSTOM_EVENT_ID", Integer.class);
+        getTypeDictionary().put(CORRELATION_ID, String.class);
+        getTypeDictionary().put(ORIGIN, String.class);
+        getTypeDictionary().put(CUSTOM_EVENT_ID, Integer.class);
         getTypeDictionary().put("DELETED", Boolean.class);
         // building the ColumnName Dict
-        columnNameDict.put("TYPE", "log_type");
-        columnNameDict.put("SEVERITY", "severity");
-        columnNameDict.put("MESSAGE", "message");
-        columnNameDict.put("TIME", "log_time");
+        columnNameDict.put(TYPE, "log_type");
+        columnNameDict.put(SEVERITY, "severity");
+        columnNameDict.put(MESSAGE, "message");
+        columnNameDict.put(TIME, "log_time");
         columnNameDict.put("USRNAME", "user_name");
         columnNameDict.put("USRID", "user_id::varchar");
         columnNameDict.put("EVENT_HOST", "vds_name");
@@ -78,9 +88,9 @@
         columnNameDict.put("_EVENT_QUOTA_ID", "quota_id::varchar");
         columnNameDict.put("EVENT_VOLUME", "gluster_volume_name");
         columnNameDict.put("_EVENT_VOLUME_ID", "gluster_volume_id::varchar");
-        columnNameDict.put("CORRELATION_ID", "correlation_id::varchar");
-        columnNameDict.put("ORIGIN", "origin::varchar");
-        columnNameDict.put("CUSTOM_EVENT_ID", "custom_event_id::int");
+        columnNameDict.put(CORRELATION_ID, "correlation_id::varchar");
+        columnNameDict.put(ORIGIN, "origin::varchar");
+        columnNameDict.put(CUSTOM_EVENT_ID, "custom_event_id::int");
         columnNameDict.put("DELETED", "deleted::boolean");
         // Building the validation dict
         buildBasicValidationTable();
@@ -89,13 +99,13 @@
     @SuppressWarnings("deprecation")
     @Override
     public IAutoCompleter getFieldRelationshipAutoCompleter(final String 
fieldName) {
-        if ("SEVERITY".equals(fieldName)) {
+        if (SEVERITY.equals(fieldName)) {
             return NumericConditionRelationAutoCompleter.INSTANCE;
         }
-        else if ("TIME".equals(fieldName)) {
+        else if (TIME.equals(fieldName)) {
             return TimeConditionRelationAutoCompleter.INSTANCE;
         }
-        else if ("TYPE".equals(fieldName) || "MESSAGE".equals(fieldName)
+        else if (TYPE.equals(fieldName) || MESSAGE.equals(fieldName)
                 || "USRNAME".equals(fieldName) || 
"EVENT_HOST".equals(fieldName)
                 || "_EVENT_HOST_ID".equals(fieldName)
                 || "EVENT_VM".equals(fieldName) || 
"_EVENT_VM_ID".equals(fieldName)
@@ -104,8 +114,8 @@
                 || "_EVENT_DATACENTER_ID".equals(fieldName)
                 || "_EVENT_QUOTA_ID".equals(fieldName)
                 || "EVENT_VOLUME".equals(fieldName) || 
"_EVENT_VOLUME_ID".equals(fieldName) ||
-                "CORRELATION_ID".equals(fieldName) || 
"ORIGIN".equals(fieldName) ||
-                "CUSTOM_EVENT_ID".equals(fieldName) || 
"DELETED".equals(fieldName)) {
+                CORRELATION_ID.equals(fieldName) || ORIGIN.equals(fieldName) ||
+                CUSTOM_EVENT_ID.equals(fieldName) || 
"DELETED".equals(fieldName)) {
             return StringConditionRelationAutoCompleter.INSTANCE;
         } else {
             return null;
@@ -114,10 +124,10 @@
 
     @Override
     public IConditionValueAutoCompleter getFieldValueAutoCompleter(String 
fieldName) {
-        if ("SEVERITY".equals(fieldName)) {
+        if (SEVERITY.equals(fieldName)) {
             return new EnumValueAutoCompleter(AuditLogSeverity.class);
         }
-        else if ("TIME".equals(fieldName)) {
+        else if (TIME.equals(fieldName)) {
             return new DateEnumValueAutoCompleter(DateEnumForSearch.class);
         } else {
             return null;
diff --git 
a/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/StoragePoolFieldAutoCompleter.java
 
b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/StoragePoolFieldAutoCompleter.java
index b6c0d56..fe25b4f 100644
--- 
a/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/StoragePoolFieldAutoCompleter.java
+++ 
b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/StoragePoolFieldAutoCompleter.java
@@ -3,29 +3,36 @@
 import org.ovirt.engine.core.common.businessentities.StoragePoolStatus;
 
 public class StoragePoolFieldAutoCompleter extends 
BaseConditionFieldAutoCompleter {
+
+    public static final String NAME = "NAME";
+    public static final String DESCRIPTION = "DESCRIPTION";
+    public static final String LOCAL = "LOCAL";
+    public static final String STATUS = "STATUS";
+    public static final String COMMENT = "COMMENT";
+
     public StoragePoolFieldAutoCompleter() {
         // Building the basic vervs Dict
-        mVerbs.add("NAME");
-        mVerbs.add("DESCRIPTION");
-        mVerbs.add("LOCAL");
-        mVerbs.add("STATUS");
-        mVerbs.add("COMMENT");
+        mVerbs.add(NAME);
+        mVerbs.add(DESCRIPTION);
+        mVerbs.add(LOCAL);
+        mVerbs.add(STATUS);
+        mVerbs.add(COMMENT);
 
         // Building the autoCompletion Dict
         buildCompletions();
         // Building the types dict
-        getTypeDictionary().put("NAME", String.class);
-        getTypeDictionary().put("DESCRIPTION", String.class);
-        getTypeDictionary().put("COMMENT", String.class);
-        getTypeDictionary().put("LOCAL", Boolean.class);
-        getTypeDictionary().put("STATUS", StoragePoolStatus.class);
+        getTypeDictionary().put(NAME, String.class);
+        getTypeDictionary().put(DESCRIPTION, String.class);
+        getTypeDictionary().put(COMMENT, String.class);
+        getTypeDictionary().put(LOCAL, Boolean.class);
+        getTypeDictionary().put(STATUS, StoragePoolStatus.class);
 
         // building the ColumnName Dict
-        columnNameDict.put("NAME", "name");
-        columnNameDict.put("DESCRIPTION", "description");
-        columnNameDict.put("COMMENT", "free_text_comment");
-        columnNameDict.put("LOCAL", "is_local");
-        columnNameDict.put("STATUS", "status");
+        columnNameDict.put(NAME, "name");
+        columnNameDict.put(DESCRIPTION, "description");
+        columnNameDict.put(COMMENT, "free_text_comment");
+        columnNameDict.put(LOCAL, "is_local");
+        columnNameDict.put(STATUS, "status");
 
         // Building the validation dict
         buildBasicValidationTable();
@@ -39,10 +46,10 @@
     @Override
     public IConditionValueAutoCompleter getFieldValueAutoCompleter(String 
fieldName) {
         IConditionValueAutoCompleter retval = null;
-        if ("STATUS".equals(fieldName)) {
+        if (STATUS.equals(fieldName)) {
             retval = new EnumValueAutoCompleter(StoragePoolStatus.class);
         }
-        else if ("LOCAL".equals(fieldName)) {
+        else if (LOCAL.equals(fieldName)) {
             retval = new BitValueAutoCompleter();
         }
         return retval;
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/events/EventListModelTable.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/events/EventListModelTable.java
index e1b64e9..53fb02e 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/events/EventListModelTable.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/events/EventListModelTable.java
@@ -3,6 +3,7 @@
 import java.util.Date;
 
 import org.ovirt.engine.core.common.businessentities.AuditLog;
+import org.ovirt.engine.core.searchbackend.AuditLogConditionFieldAutoCompleter;
 import org.ovirt.engine.ui.common.CommonApplicationConstants;
 import org.ovirt.engine.ui.common.system.ClientStorage;
 import org.ovirt.engine.ui.common.uicommon.model.SearchableTableModelProvider;
@@ -40,6 +41,7 @@
                 return object.getlog_time();
             }
         };
+        logTimeColumn.makeSortable(AuditLogConditionFieldAutoCompleter.TIME);
         getTable().addColumn(logTimeColumn, constants.timeEvent(), "170px"); 
//$NON-NLS-1$
 
         TextColumnWithTooltip<AuditLog> messageColumn = new 
TextColumnWithTooltip<AuditLog>() {
@@ -48,6 +50,7 @@
                 return object.getmessage();
             }
         };
+        
messageColumn.makeSortable(AuditLogConditionFieldAutoCompleter.MESSAGE);
         getTable().addColumn(messageColumn, constants.messageEvent(), 
"600px"); //$NON-NLS-1$
 
         TextColumnWithTooltip<AuditLog> correlationIdColumn = new 
TextColumnWithTooltip<AuditLog>() {
@@ -56,6 +59,7 @@
                 return object.getCorrelationId();
             }
         };
+        
correlationIdColumn.makeSortable(AuditLogConditionFieldAutoCompleter.CORRELATION_ID);
         getTable().addColumn(correlationIdColumn, 
constants.correltaionIdEvent(), "100px"); //$NON-NLS-1$
 
         TextColumnWithTooltip<AuditLog> originColumn = new 
TextColumnWithTooltip<AuditLog>() {
@@ -64,6 +68,7 @@
                 return object.getOrigin();
             }
         };
+        originColumn.makeSortable(AuditLogConditionFieldAutoCompleter.ORIGIN);
         getTable().addColumn(originColumn, constants.originEvent(), "100px"); 
//$NON-NLS-1$
 
         TextColumnWithTooltip<AuditLog> customEventIdColumn = new 
TextColumnWithTooltip<AuditLog>() {
@@ -74,6 +79,7 @@
                 return id >= 0 ? String.valueOf(id) : "";   //$NON-NLS-1$
             }
         };
+        
customEventIdColumn.makeSortable(AuditLogConditionFieldAutoCompleter.CUSTOM_EVENT_ID);
         getTable().addColumn(customEventIdColumn, 
constants.customEventIdEvent(), "100px"); //$NON-NLS-1$
     }
 
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterListModel.java
index f167d33..0ca1a00 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterListModel.java
@@ -249,12 +249,18 @@
     @Override
     protected void syncSearch()
     {
-        SearchParameters tempVar = new SearchParameters(getSearchString(), 
SearchType.StoragePool, isCaseSensitiveSearch());
+        SearchParameters tempVar = new 
SearchParameters(applySortOptions(getSearchString()), SearchType.StoragePool,
+                isCaseSensitiveSearch());
         tempVar.setMaxCount(getSearchPageSize());
         super.syncSearch(VdcQueryType.Search, tempVar);
 
     }
 
+    @Override
+    public boolean supportsServerSideSorting() {
+        return true;
+    }
+
     public void newEntity()
     {
         if (getWindow() != null)
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/events/EventListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/events/EventListModel.java
index 1a5f42e..cf1af53 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/events/EventListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/events/EventListModel.java
@@ -4,6 +4,7 @@
 import java.util.Collections;
 import java.util.List;
 
+import org.ovirt.engine.ui.frontend.communication.RefreshActiveModelEvent;
 import org.ovirt.engine.core.common.businessentities.AuditLog;
 import org.ovirt.engine.core.common.businessentities.IVdcQueryable;
 import org.ovirt.engine.core.common.interfaces.SearchType;
@@ -15,7 +16,6 @@
 import org.ovirt.engine.ui.frontend.AsyncQuery;
 import org.ovirt.engine.ui.frontend.Frontend;
 import org.ovirt.engine.ui.frontend.INewAsyncCallback;
-import org.ovirt.engine.ui.frontend.communication.RefreshActiveModelEvent;
 import org.ovirt.engine.ui.uicommonweb.Linq;
 import org.ovirt.engine.ui.uicommonweb.UICommand;
 import org.ovirt.engine.ui.uicommonweb.help.HelpTag;
@@ -144,6 +144,11 @@
         return false;
     }
 
+    @Override
+    public boolean supportsServerSideSorting() {
+        return true;
+    }
+
     protected void refreshModel()
     {
         AsyncQuery query = new AsyncQuery(this, new INewAsyncCallback() {
@@ -164,7 +169,8 @@
             }
         });
 
-        SearchParameters params = new SearchParameters(getSearchString(), 
SearchType.AuditLog, isCaseSensitiveSearch());
+        SearchParameters params = new 
SearchParameters(applySortOptions(getSearchString()), SearchType.AuditLog,
+                isCaseSensitiveSearch());
         params.setMaxCount(getSearchPageSize());
         params.setSearchFrom(getLastEvent() != null ? 
getLastEvent().getaudit_log_id() : 0);
         params.setRefresh(false);
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabDataCenterView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabDataCenterView.java
index 13bb2a3..f428caf 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabDataCenterView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabDataCenterView.java
@@ -4,6 +4,7 @@
 
 import org.ovirt.engine.core.common.businessentities.StoragePool;
 import org.ovirt.engine.core.common.businessentities.StoragePoolStatus;
+import org.ovirt.engine.core.searchbackend.StoragePoolFieldAutoCompleter;
 import org.ovirt.engine.ui.common.idhandler.ElementIdHandler;
 import org.ovirt.engine.ui.common.uicommon.model.MainModelProvider;
 import org.ovirt.engine.ui.common.widget.action.ActionButtonDefinition;
@@ -54,17 +55,20 @@
                 return object.getName();
             }
         };
+        nameColumn.makeSortable(StoragePoolFieldAutoCompleter.NAME);
         getTable().addColumn(nameColumn, constants.nameDc(), "150px"); 
//$NON-NLS-1$
 
         CommentColumn<StoragePool> commentColumn = new 
CommentColumn<StoragePool>();
         getTable().addColumnWithHtmlHeader(commentColumn, 
commentColumn.getHeaderHtml(), "30px"); //$NON-NLS-1$
 
-        TextColumnWithTooltip<StoragePool> storageTypeColumn = new 
BooleanColumn<StoragePool>(constants.storageTypeLocal(), 
constants.storageTypeShared()) {
+        TextColumnWithTooltip<StoragePool> storageTypeColumn = new 
BooleanColumn<StoragePool>(
+                constants.storageTypeLocal(), constants.storageTypeShared()) {
             @Override
             protected Boolean getRawValue(StoragePool object) {
                 return object.isLocal();
             }
         };
+        storageTypeColumn.makeSortable(StoragePoolFieldAutoCompleter.LOCAL);
         getTable().addColumn(storageTypeColumn, constants.storgeTypeDc(), 
"150px"); //$NON-NLS-1$
 
         TextColumnWithTooltip<StoragePool> statusColumn = new 
EnumColumn<StoragePool, StoragePoolStatus>() {
@@ -73,6 +77,7 @@
                 return object.getStatus();
             }
         };
+        statusColumn.makeSortable(StoragePoolFieldAutoCompleter.STATUS);
         getTable().addColumn(statusColumn, constants.statusDc(), "150px"); 
//$NON-NLS-1$
 
         TextColumnWithTooltip<StoragePool> versionColumn = new 
TextColumnWithTooltip<StoragePool>() {
@@ -89,6 +94,7 @@
                 return object.getdescription();
             }
         };
+        descColumn.makeSortable(StoragePoolFieldAutoCompleter.DESCRIPTION);
         getTable().addColumn(descColumn, constants.descriptionDc(), "300px"); 
//$NON-NLS-1$
 
         getTable().addActionButton(new 
WebAdminButtonDefinition<StoragePool>(constants.newDC()) {
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/datacenter/SubTabDataCenterClusterView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/datacenter/SubTabDataCenterClusterView.java
index e9461c7..9877cd6 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/datacenter/SubTabDataCenterClusterView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/datacenter/SubTabDataCenterClusterView.java
@@ -31,6 +31,7 @@
                 return object.getName();
             }
         };
+        nameColumn.makeSortable();
         getTable().addColumn(nameColumn, constants.nameCluster(), "300px"); 
//$NON-NLS-1$
 
         TextColumnWithTooltip<VDSGroup> versionColumn = new 
TextColumnWithTooltip<VDSGroup>() {
@@ -39,6 +40,7 @@
                 return object.getcompatibility_version().getValue();
             }
         };
+        versionColumn.makeSortable();
         getTable().addColumn(versionColumn, constants.comptVersCluster(), 
"300px"); //$NON-NLS-1$
 
         TextColumnWithTooltip<VDSGroup> descColumn = new 
TextColumnWithTooltip<VDSGroup>() {
@@ -47,6 +49,7 @@
                 return object.getdescription();
             }
         };
+        descColumn.makeSortable();
         getTable().addColumn(descColumn, constants.descriptionCluster());
     }
 
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/datacenter/SubTabDataCenterNetworkQoSView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/datacenter/SubTabDataCenterNetworkQoSView.java
index 3b01443..1d0d03c 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/datacenter/SubTabDataCenterNetworkQoSView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/datacenter/SubTabDataCenterNetworkQoSView.java
@@ -1,6 +1,7 @@
 package org.ovirt.engine.ui.webadmin.section.main.view.tab.datacenter;
 
-import com.google.gwt.core.client.GWT;
+import javax.inject.Inject;
+
 import org.ovirt.engine.core.common.businessentities.StoragePool;
 import org.ovirt.engine.core.common.businessentities.network.NetworkQoS;
 import org.ovirt.engine.ui.common.idhandler.ElementIdHandler;
@@ -14,7 +15,7 @@
 import org.ovirt.engine.ui.webadmin.section.main.view.AbstractSubTabTableView;
 import org.ovirt.engine.ui.webadmin.widget.action.WebAdminButtonDefinition;
 
-import javax.inject.Inject;
+import com.google.gwt.core.client.GWT;
 
 public class SubTabDataCenterNetworkQoSView extends 
AbstractSubTabTableView<StoragePool,
         NetworkQoS, DataCenterListModel, DataCenterNetworkQoSListModel>
@@ -37,60 +38,74 @@
     void initTable(final ApplicationConstants constants) {
         getTable().enableColumnResizing();
 
-        getTable().addColumn(new TextColumnWithTooltip<NetworkQoS>() {
+        TextColumnWithTooltip<NetworkQoS> nameColumn = new 
TextColumnWithTooltip<NetworkQoS>() {
             @Override
             public String getValue(NetworkQoS object) {
                 return object.getName() == null ? "" : object.getName(); 
//$NON-NLS-1$
             }
-        }, constants.networkQoSName(), "200px"); //$NON-NLS-1$
+        };
+        nameColumn.makeSortable();
+        getTable().addColumn(nameColumn, constants.networkQoSName(), "200px"); 
//$NON-NLS-1$
 
-        getTable().addColumn(new TextColumnWithTooltip<NetworkQoS>() {
+        TextColumnWithTooltip<NetworkQoS> inAverageColumn = new 
TextColumnWithTooltip<NetworkQoS>() {
             @Override
             public String getValue(NetworkQoS object) {
                 return object.getInboundAverage() == null ? 
constants.UnlimitedNetworkQoS()
                         : object.getInboundAverage().toString();
             }
-        }, constants.networkQoSInboundAverage(), "100px"); //$NON-NLS-1$
+        };
+        inAverageColumn.makeSortable();
+        getTable().addColumn(inAverageColumn, 
constants.networkQoSInboundAverage(), "100px"); //$NON-NLS-1$
 
-        getTable().addColumn(new TextColumnWithTooltip<NetworkQoS>() {
+        TextColumnWithTooltip<NetworkQoS> inPeakColumn = new 
TextColumnWithTooltip<NetworkQoS>() {
             @Override
             public String getValue(NetworkQoS object) {
                 return object.getInboundPeak() == null ? 
constants.UnlimitedNetworkQoS()
                         : object.getInboundPeak().toString();
             }
-        }, constants.networkQoSInboundPeak(), "100px"); //$NON-NLS-1$
+        };
+        inPeakColumn.makeSortable();
+        getTable().addColumn(inPeakColumn, constants.networkQoSInboundPeak(), 
"100px"); //$NON-NLS-1$
 
-        getTable().addColumn(new TextColumnWithTooltip<NetworkQoS>() {
+        TextColumnWithTooltip<NetworkQoS> inBurstColumn = new 
TextColumnWithTooltip<NetworkQoS>() {
             @Override
             public String getValue(NetworkQoS object) {
                 return object.getInboundBurst() == null ? 
constants.UnlimitedNetworkQoS()
                         : object.getInboundBurst().toString();
             }
-        }, constants.networkQoSInboundBurst(), "100px"); //$NON-NLS-1$
+        };
+        inBurstColumn.makeSortable();
+        getTable().addColumn(inBurstColumn, 
constants.networkQoSInboundBurst(), "100px"); //$NON-NLS-1$
 
-        getTable().addColumn(new TextColumnWithTooltip<NetworkQoS>() {
+        TextColumnWithTooltip<NetworkQoS> outAverageColumn = new 
TextColumnWithTooltip<NetworkQoS>() {
             @Override
             public String getValue(NetworkQoS object) {
                 return object.getOutboundAverage() == null ? 
constants.UnlimitedNetworkQoS()
                         : object.getOutboundAverage().toString();
             }
-        }, constants.networkQoSOutboundAverage(), "100px"); //$NON-NLS-1$
+        };
+        outAverageColumn.makeSortable();
+        getTable().addColumn(outAverageColumn, 
constants.networkQoSOutboundAverage(), "100px"); //$NON-NLS-1$
 
-        getTable().addColumn(new TextColumnWithTooltip<NetworkQoS>() {
+        TextColumnWithTooltip<NetworkQoS> outPeakColumn = new 
TextColumnWithTooltip<NetworkQoS>() {
             @Override
             public String getValue(NetworkQoS object) {
                 return object.getOutboundPeak() == null ? 
constants.UnlimitedNetworkQoS()
                         : object.getOutboundPeak().toString();
             }
-        }, constants.networkQoSOutboundPeak(), "100px"); //$NON-NLS-1$
+        };
+        outPeakColumn.makeSortable();
+        getTable().addColumn(outPeakColumn, 
constants.networkQoSOutboundPeak(), "100px"); //$NON-NLS-1$
 
-        getTable().addColumn(new TextColumnWithTooltip<NetworkQoS>() {
+        TextColumnWithTooltip<NetworkQoS> outBurstColumn = new 
TextColumnWithTooltip<NetworkQoS>() {
             @Override
             public String getValue(NetworkQoS object) {
                 return object.getOutboundBurst() == null ? 
constants.UnlimitedNetworkQoS()
                         : object.getOutboundBurst().toString();
             }
-        }, constants.networkQoSOutboundBurst(), "100px"); //$NON-NLS-1$
+        };
+        outBurstColumn.makeSortable();
+        getTable().addColumn(outBurstColumn, 
constants.networkQoSOutboundBurst(), "100px"); //$NON-NLS-1$
 
         getTable().addActionButton(new 
WebAdminButtonDefinition<NetworkQoS>(constants.newNetworkQoS()) {
             @Override
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/datacenter/SubTabDataCenterNetworkView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/datacenter/SubTabDataCenterNetworkView.java
index d21bdde..cfad7b8 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/datacenter/SubTabDataCenterNetworkView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/datacenter/SubTabDataCenterNetworkView.java
@@ -41,15 +41,17 @@
                 return object.getName();
             }
         };
+        nameColumn.makeSortable();
         getTable().addColumn(nameColumn, constants.nameNetwork(), "400px"); 
//$NON-NLS-1$
 
-        TextColumnWithTooltip<Network> typeColumn = new 
TextColumnWithTooltip<Network>() {
+        TextColumnWithTooltip<Network> descriptionColumn = new 
TextColumnWithTooltip<Network>() {
             @Override
             public String getValue(Network object) {
                 return object.getDescription();
             }
         };
-        getTable().addColumn(typeColumn, constants.descriptionNetwork(), 
"400px"); //$NON-NLS-1$
+        descriptionColumn.makeSortable();
+        getTable().addColumn(descriptionColumn, 
constants.descriptionNetwork(), "400px"); //$NON-NLS-1$
 
         getTable().addActionButton(new 
WebAdminButtonDefinition<Network>(constants.newNetwork()) {
             @Override
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/datacenter/SubTabDataCenterQuotaView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/datacenter/SubTabDataCenterQuotaView.java
index 85c523f..97ad80a 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/datacenter/SubTabDataCenterQuotaView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/datacenter/SubTabDataCenterQuotaView.java
@@ -38,19 +38,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(), "400px"); //$NON-NLS-1$
+        };
+        nameColumn.makeSortable();
+        getTable().addColumn(nameColumn, constants.nameQuota(), "400px"); 
//$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(), "400px"); //$NON-NLS-1$
+        };
+        descriptionColumn.makeSortable();
+        getTable().addColumn(descriptionColumn, constants.descriptionQuota(), 
"400px"); //$NON-NLS-1$
 
         getTable().addActionButton(new 
WebAdminButtonDefinition<Quota>(constants.addQuota()) {
             @Override
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/datacenter/SubTabDataCenterStorageView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/datacenter/SubTabDataCenterStorageView.java
index cd7dca0..ccc0bc9 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/datacenter/SubTabDataCenterStorageView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/datacenter/SubTabDataCenterStorageView.java
@@ -49,6 +49,7 @@
                 return object.getStorageName();
             }
         };
+        nameColumn.makeSortable();
         getTable().addColumn(nameColumn, constants.domainNameStorage(), 
"160px"); //$NON-NLS-1$
 
         TextColumnWithTooltip<StorageDomain> typeColumn = new 
EnumColumn<StorageDomain, StorageDomainType>() {
@@ -57,6 +58,7 @@
                 return object.getStorageDomainType();
             }
         };
+        typeColumn.makeSortable();
         getTable().addColumn(typeColumn, constants.domainTypeStorage(), 
"160px"); //$NON-NLS-1$
 
         TextColumnWithTooltip<StorageDomain> statusColumn = new 
EnumColumn<StorageDomain, StorageDomainStatus>() {
@@ -65,6 +67,7 @@
                 return object.getStatus();
             }
         };
+        statusColumn.makeSortable();
         getTable().addColumn(statusColumn, constants.statusStorage(), 
"160px"); //$NON-NLS-1$
 
         DiskSizeColumn<StorageDomain> freeColumn = new 
DiskSizeColumn<StorageDomain>(SizeConverter.SizeUnit.GB) {
@@ -74,6 +77,7 @@
                 return (long) availableDiskSize;
             }
         };
+        freeColumn.makeSortable();
         getTable().addColumn(freeColumn, constants.freeSpaceStorage(), 
"160px"); //$NON-NLS-1$
 
         DiskSizeColumn<StorageDomain> usedColumn = new 
DiskSizeColumn<StorageDomain>(SizeConverter.SizeUnit.GB) {
@@ -83,6 +87,7 @@
                 return (long) usedDiskSize;
             }
         };
+        usedColumn.makeSortable();
         getTable().addColumn(usedColumn, constants.usedSpaceStorage(), 
"160px"); //$NON-NLS-1$
 
         DiskSizeColumn<StorageDomain> totalColumn = new 
DiskSizeColumn<StorageDomain>(SizeConverter.SizeUnit.GB) {
@@ -92,6 +97,7 @@
                 return (long) totalDiskSize;
             }
         };
+        totalColumn.makeSortable();
         getTable().addColumn(totalColumn, constants.totalSpaceStorage(), 
"160px"); //$NON-NLS-1$
 
         TextColumnWithTooltip<StorageDomain> descriptionColumn = new 
TextColumnWithTooltip<StorageDomain>() {
@@ -100,6 +106,7 @@
                 return object.getDescription();
             }
         };
+        descriptionColumn.makeSortable();
         getTable().addColumn(descriptionColumn, 
constants.domainDescriptionStorage(), "160px"); //$NON-NLS-1$
 
         getTable().addActionButton(new 
WebAdminButtonDefinition<StorageDomain>(constants.attachDataStorage()) {
@@ -141,5 +148,4 @@
             }
         });
     }
-
 }


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Id95272bd4594a66611c11aaa690d44d88b082b49
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