Eli Mesika has uploaded a new change for review.

Change subject: webadmin: Adding external status to UI
......................................................................

webadmin: Adding external status to UI

This patch actually displays the external status icon in the storage
domain main view.

Change-Id: I569130b66dadbcdce1cd32a5cd8a2a8d7a3501cb
Signed-off-by: emesika <emes...@redhat.com>
---
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabStorageView.java
A 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/StorageDomainAdditionalStatusColumn.java
2 files changed, 61 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/38/42138/1

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 87c7e93..673fb53 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
@@ -29,6 +29,7 @@
 import org.ovirt.engine.ui.webadmin.widget.action.WebAdminButtonDefinition;
 import 
org.ovirt.engine.ui.webadmin.widget.action.WebAdminMenuBarButtonDefinition;
 import org.ovirt.engine.ui.webadmin.widget.table.column.CommentColumn;
+import 
org.ovirt.engine.ui.webadmin.widget.table.column.StorageDomainAdditionalStatusColumn;
 import 
org.ovirt.engine.ui.webadmin.widget.table.column.StorageDomainSharedStatusColumn;
 
 import com.google.gwt.core.client.GWT;
@@ -55,6 +56,7 @@
         getTable().enableColumnResizing();
 
         getTable().addColumn(new StorageDomainSharedStatusColumn(), 
constants.empty(), "30px"); //$NON-NLS-1$
+        getTable().addColumn(new StorageDomainAdditionalStatusColumn(), 
constants.empty(), "30px"); //$NON-NLS-1$
 
         AbstractTextColumn<StorageDomain> nameColumn = new 
AbstractTextColumn<StorageDomain>() {
             @Override
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/StorageDomainAdditionalStatusColumn.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/StorageDomainAdditionalStatusColumn.java
new file mode 100644
index 0000000..9448e34
--- /dev/null
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/StorageDomainAdditionalStatusColumn.java
@@ -0,0 +1,59 @@
+package org.ovirt.engine.ui.webadmin.widget.table.column;
+
+import com.google.gwt.resources.client.ImageResource;
+import com.google.gwt.safehtml.shared.SafeHtml;
+import org.ovirt.engine.core.common.businessentities.ExternalStatus;
+import org.ovirt.engine.core.common.businessentities.StorageDomain;
+import org.ovirt.engine.ui.webadmin.ApplicationConstants;
+import org.ovirt.engine.ui.webadmin.gin.AssetProvider;
+
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+public class StorageDomainAdditionalStatusColumn extends 
EntityAdditionalStatusColumn<StorageDomain> {
+
+    private final static ApplicationConstants constants = 
AssetProvider.getConstants();
+
+
+    @Override
+    public SafeHtml getEntityValue(StorageDomain object) {
+        List<SafeHtml> imagesHtml = new 
ArrayList(getSafeHtmlStringMap(object).keySet());
+        if (! imagesHtml.isEmpty()) {
+            return MultiImageColumnHelper.getValue(imagesHtml);
+        }
+        return null;
+    }
+
+    @Override
+    public SafeHtml getEntityTooltip(StorageDomain object) {
+        Map<SafeHtml, String> imagesToText = getSafeHtmlStringMap(object);
+        if (!imagesToText.isEmpty()) {
+            return MultiImageColumnHelper.getTooltip(imagesToText);
+        }
+        return null;
+    }
+
+    private Map<SafeHtml, String> getSafeHtmlStringMap(StorageDomain object) {
+        StorageDomain storageDomain = getEntityObject(object);
+        Map<SafeHtml, String> imagesToText = new LinkedHashMap<>();
+
+        if (storageDomain.getExternalStatus() != ExternalStatus.Ok) {
+            ImageResource statusImage = 
getStatusImage(storageDomain.getExternalStatus());
+            imagesToText.put(getImageSafeHtml(statusImage),
+                    constants.ExternalStatus() + 
storageDomain.getExternalStatus().name());
+        }
+        return imagesToText;
+    }
+
+    @Override
+    protected StorageDomain getEntityObject(StorageDomain object) {
+        if (object instanceof StorageDomain){
+            return object;
+        }
+        else {
+            return null;
+        }
+    }
+}


-- 
To view, visit https://gerrit.ovirt.org/42138
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I569130b66dadbcdce1cd32a5cd8a2a8d7a3501cb
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Eli Mesika <emes...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to