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;'> {2} </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