Asaf Shakarchi has uploaded a new change for review.

Change subject: webadmin: Display the single status of domains in main tab.
......................................................................

webadmin: Display the single status of domains in main tab.

Create a new view (storage_domains_for_search) which contains storage
domains specifically entries used by search, the view contains the
status per storage domain, for domains (ISO) that attached to more than one 
pool,
a null value will be displayed in the status field.

Search now uses the new created domains view described above.

In WebAdmin main storage domain tab, for ISO domain, the shared (cross
pool) status is displayed, otherwise the domain's status is used.

Change-Id: If18c028dfcb985fd96f302b53401c1082a349416
Bug-Url: https://bugzilla.redhat.com/852100
Signed-off-by: Asaf Shakarchi <[email protected]>
---
M backend/manager/dbscripts/create_views.sql
M 
backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SearchObjectAutoCompleter.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabStorageView.java
3 files changed, 35 insertions(+), 5 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/58/8258/1

diff --git a/backend/manager/dbscripts/create_views.sql 
b/backend/manager/dbscripts/create_views.sql
index 02cdf6c..1606ddc 100644
--- a/backend/manager/dbscripts/create_views.sql
+++ b/backend/manager/dbscripts/create_views.sql
@@ -284,6 +284,32 @@
 INNER JOIN storage_domain_dynamic ON storage_domain_static.id = 
storage_domain_dynamic.id;
 
 
+CREATE OR REPLACE VIEW storage_domains_for_search
+AS
+SELECT
+                storage_domain_static.id as id, storage_domain_static.storage 
as storage, storage_domain_static.storage_name as storage_name,
+                storage_domain_static.storage_type as storage_type, 
storage_domain_static.storage_domain_type as storage_domain_type,
+                storage_domain_static.storage_domain_format_type as 
storage_domain_format_type,
+                storage_domain_static.last_time_used_as_master as 
last_time_used_as_master,
+                CASE WHEN status_table.is_multi_domain THEN NULL ELSE 
status_table.status END as status,
+                null as owner, null as storage_pool_id, null as 
storage_pool_name,
+                storage_domain_dynamic.available_disk_size as 
available_disk_size,
+                storage_domain_dynamic.used_disk_size as used_disk_size,
+                
fn_get_disk_commited_value_by_storage(storage_domain_static.id) as 
commited_disk_size,
+                
fn_get_storage_domain_shared_status_by_domain_id(storage_domain_static.id,storage_domain_static.storage,storage_domain_static.storage_type)
 as storage_domain_shared_status,
+                storage_domain_static.recoverable as recoverable
+FROM
+                storage_domain_static
+INNER JOIN
+                storage_domain_dynamic ON storage_domain_static.id = 
storage_domain_dynamic.id
+INNER JOIN
+                (SELECT storage_id, count(storage_id) > 1 as is_multi_domain,
+       max(status) AS status
+FROM storage_pool_iso_map
+GROUP BY storage_id) AS status_table ON 
storage_domain_static.id=status_table.storage_id;
+
+
+
 CREATE OR REPLACE VIEW luns_view
 AS
 SELECT
diff --git 
a/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SearchObjectAutoCompleter.java
 
b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SearchObjectAutoCompleter.java
index 0530b18..ae687a9 100644
--- 
a/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SearchObjectAutoCompleter.java
+++ 
b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SearchObjectAutoCompleter.java
@@ -186,7 +186,7 @@
                     put(SearchObjects.VDC_STORAGE_DOMAIN_OBJ_NAME,
                             new EntitySearchInfo(new 
StorageDomainCrossRefAutoCompleter(),
                                     new StorageDomainFieldAutoCompleter(),
-                                    "storage_domains_without_storage_pools",
+                                    "storage_domains_for_search",
                                     "storage_domains_with_hosts_view",
                                     "id",
                                     "storage_name ASC "));
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabStorageView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabStorageView.java
index e2f98a6..9060c47 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabStorageView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabStorageView.java
@@ -2,7 +2,6 @@
 
 import java.util.List;
 
-import org.ovirt.engine.core.common.businessentities.StorageDomainSharedStatus;
 import org.ovirt.engine.core.common.businessentities.StorageDomainType;
 import org.ovirt.engine.core.common.businessentities.StorageFormatType;
 import org.ovirt.engine.core.common.businessentities.StorageType;
@@ -18,6 +17,7 @@
 import org.ovirt.engine.ui.uicommonweb.ReportInit;
 import org.ovirt.engine.ui.uicommonweb.UICommand;
 import org.ovirt.engine.ui.uicommonweb.models.storage.StorageListModel;
+import org.ovirt.engine.ui.uicompat.EnumTranslator;
 import org.ovirt.engine.ui.webadmin.ApplicationConstants;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.tab.MainTabStoragePresenter;
 import 
org.ovirt.engine.ui.webadmin.section.main.view.AbstractMainTabWithDetailsTableView;
@@ -79,10 +79,14 @@
         getTable().addColumn(formatColumn, constants.formatStorage());
 
         TextColumnWithTooltip<storage_domains> crossDataCenterStatusColumn =
-                new EnumColumn<storage_domains, StorageDomainSharedStatus>() {
+                new TextColumnWithTooltip<storage_domains>() {
                     @Override
-                    protected StorageDomainSharedStatus 
getRawValue(storage_domains object) {
-                        return object.getstorage_domain_shared_status();
+                    public String getValue(storage_domains object) {
+                        if 
(object.getstorage_domain_type().equals(StorageDomainType.ISO)) {
+                            return 
EnumTranslator.createAndTranslate(object.getstorage_domain_shared_status());
+                        } else {
+                            return 
EnumTranslator.createAndTranslate(object.getstatus());
+                        }
                     }
                 };
         getTable().addColumn(crossDataCenterStatusColumn, 
constants.crossDcStatusStorage());


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

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

Reply via email to