Martin Peřina has uploaded a new change for review.

Change subject: webadmin: Display number if in/out migrations per host
......................................................................

webadmin: Display number if in/out migrations per host

Displays number of incoming and outgoing migrations per host in Host tab
using this notation:

 1. No migrations
                  VMs

 2. Only incoming migrations
      (IN_VMs ->) VMs

 3. Only outgoing migrations
                  VMs (OUT_VMs ->)

 4. Incoming and Outgoing migrations
      (IN_VMs ->) VMs (OUT_VMs ->)

Change-Id: I971482d8fa0db7b42f5e58c656dac10b7ac0968f
Bug-Url: https://bugzilla.redhat.com/1113664
Signed-off-by: Martin Perina <mper...@redhat.com>
---
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationMessages.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationResources.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationTemplates.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabHostView.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VmCountColumn.java
A 
frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/webadmin/images/right_arrow.png
6 files changed, 62 insertions(+), 15 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/26/38326/1

diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationMessages.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationMessages.java
index 8a5e8a9..05a3441 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationMessages.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationMessages.java
@@ -86,8 +86,8 @@
     @DefaultMessage("Some new hosts are detected in the cluster. You can 
<a>Import</a> them to engine or <a>Detach</a> them from the cluster.")
     String clusterHasNewGlusterHosts();
 
-    @DefaultMessage("{0} VMs running, out of which {1} migrating")
-    String migratingVmsOutOfTotal(String vmCount, String vmMigrating);
+    @DefaultMessage("{0} VMs running, {1} are migrating to host and {2} are 
migrating from host")
+    String vmsWithInOutMigrations(String vmCount, String incomingMigrations, 
String outgoingMigrations);
 
     @DefaultMessage("Rebalance {0}")
     String rebalanceStatusMessage(JobExecutionStatus jobStatus);
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationResources.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationResources.java
index ca194d2..5aee788 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationResources.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationResources.java
@@ -402,6 +402,9 @@
     @Source("images/double_arrow.png")
     ImageResource doubleArrowImage();
 
+    @Source("images/right_arrow.png")
+    ImageResource rightArrowImage();
+
     @Source("images/host_prepare_to_migrate.png")
     ImageResource prepareImage();
 
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationTemplates.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationTemplates.java
index c8bf4d3..85501a5 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationTemplates.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationTemplates.java
@@ -162,15 +162,27 @@
     @Template("<div title=\'{1}'style='line-height: 100%; text-align: center; 
vertical-align: middle;'>{0}</div>")
     SafeHtml image(SafeHtml statusImage, String title);
 
-    @Template("<div title=\"{2}\"><table cellspacing='0' cellpadding='0' 
style='line-height: 5px;'>" +
+    @Template("<div title=\"{0}\"><table cellspacing='0' cellpadding='0' 
style='line-height: 5px; width: 100%;'>" +
             "<tr>" +
-            "<td>{0} (</td>" +
-            "<td><div style='font-size: 10px; text-align: 
center;'>{1}</div><div>{3}</div></td>" +
-            "<td>)</td>" +
+            "{1}" +
+            "<td style='width: 30%; text-align: center;'>&#160;{2}&#160;</td>" 
+
+            "{3}" +
             "</tr>" +
             "</table>" +
             "</div>")
-    SafeHtml vmCountWithMigrating(String vmCountStr, String vmMigratingStr, 
String title, SafeHtml image);
+    SafeHtml vmCountWithMigrations(
+            String title,
+            SafeHtml incomingMigrations,
+            String vmCountStr,
+            SafeHtml outgoingMigrations);
+
+    @Template("<td style='text-align: right;'>{0}</td>" +
+            "<td style='text-align: center; white-space: nowrap; width: 
10%;'>" +
+            "<div style='font-size: 10px; text-align: center;'>{1}</div>" +
+            "<div style='width: 25px;'>{2}</div>" +
+            "</td>" +
+            "<td style='text-align: left;'>{3}</td>")
+    SafeHtml vmCountInOutMigrations(String prefix, String vmCountStr, SafeHtml 
image, String postfix);
 
     @Template("<div style='max-width: 500px; word-wrap:break-word; font-style: 
italic;'>{0}</div>")
     SafeHtml italicWordWrapMaxWidth(String text);
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabHostView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabHostView.java
index 0b3bf5c..98be431 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabHostView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabHostView.java
@@ -3,6 +3,7 @@
 import java.util.LinkedList;
 import java.util.List;
 
+import com.google.gwt.user.client.ui.HasHorizontalAlignment;
 import org.ovirt.engine.core.common.businessentities.VDS;
 import org.ovirt.engine.core.common.businessentities.VDSStatus;
 import org.ovirt.engine.core.common.businessentities.VdsSpmStatus;
@@ -148,6 +149,7 @@
 
         if (ApplicationModeHelper.getUiMode() != ApplicationMode.GlusterOnly) {
             VmCountColumn vmCountColumn = new VmCountColumn();
+            
vmCountColumn.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
             
vmCountColumn.makeSortable(VdsConditionFieldAutoCompleter.ACTIVE_VMS);
             getTable().addColumn(vmCountColumn, constants.vmsCount(), 
"110px"); //$NON-NLS-1$
         }
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VmCountColumn.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VmCountColumn.java
index 5a94b75..a3912ef 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VmCountColumn.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/VmCountColumn.java
@@ -16,20 +16,50 @@
     private static ApplicationTemplates templates = 
GWT.create(ApplicationTemplates.class);
     private static final ApplicationMessages messages = 
GWT.create(ApplicationMessages.class);
     private static final ApplicationResources resources = 
GWT.create(ApplicationResources.class);
-    private static SafeHtml imageHtml =
-            
SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.doubleArrowImage())
-            .getHTML());
+    private static SafeHtml arrowImageHtml =
+            
SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.rightArrowImage()).getHTML());
 
     @Override
     public SafeHtml getValue(VDS object) {
         String vmCountStr = String.valueOf(object.getVmCount());
-        Integer vmMigrating = object.getVmMigrating();
-        if (vmMigrating == null || vmMigrating == 0) {
+        int incomingMigrations = object.getIncomingMigrations();
+        int outgoingMigrations = object.getOutgoingMigrations();
+
+        if (incomingMigrations == 0 && outgoingMigrations == 0) {
+            // no migrations, just display number of VMs
             return new 
SafeHtmlBuilder().appendEscaped(vmCountStr).toSafeHtml();
         }
 
-        String vmMigratingStr = String.valueOf(vmMigrating);
-        String title = messages.migratingVmsOutOfTotal(vmCountStr, 
vmMigratingStr);
-        return templates.vmCountWithMigrating(vmCountStr, vmMigratingStr, 
title, imageHtml);
+        return templates.vmCountWithMigrations(
+                messages.vmsWithInOutMigrations(
+                        vmCountStr,
+                        String.valueOf(incomingMigrations),
+                        String.valueOf(outgoingMigrations)),
+                createMigrationsTemplate(incomingMigrations),
+                vmCountStr,
+                createMigrationsTemplate(outgoingMigrations));
+    }
+
+    protected SafeHtml createMigrationsTemplate(int migrations) {
+        String prefix, postfix, migrationsStr;
+        SafeHtml image;
+
+        if (migrations > 0) {
+            prefix = "("; //$NON-NLS-1$
+            migrationsStr = String.valueOf(migrations);
+            image = arrowImageHtml;
+            postfix = ")"; //$NON-NLS-1$
+        } else {
+            prefix = "\u00a0"; //$NON-NLS-1$
+            migrationsStr = "\u00a0"; //$NON-NLS-1$
+            image = SafeHtmlUtils.EMPTY_SAFE_HTML;
+            postfix = "\u00a0"; //$NON-NLS-1$
+        }
+
+        return templates.vmCountInOutMigrations(
+                prefix,
+                migrationsStr,
+                image,
+                postfix);
     }
 }
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/webadmin/images/right_arrow.png
 
b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/webadmin/images/right_arrow.png
new file mode 100644
index 0000000..e77d3fe
--- /dev/null
+++ 
b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/webadmin/images/right_arrow.png
Binary files differ


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I971482d8fa0db7b42f5e58c656dac10b7ac0968f
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Martin Peřina <mper...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to