package org.ovirt.engine.ui.webadmin.widget.table.column; import org.ovirt.engine.core.common.businessentities.VM; import org.ovirt.engine.core.common.businessentities.VMStatus; import org.ovirt.engine.ui.common.widget.renderer.EnumRenderer; import org.ovirt.engine.ui.common.widget.table.column.AbstractProgressBarColumn; import org.ovirt.engine.ui.webadmin.ApplicationMessages; import org.ovirt.engine.ui.webadmin.gin.AssetProvider; import com.google.gwt.safehtml.shared.SafeHtml; public class MigrationProgressColumn extends AbstractOneColorPercentColumn<VM> { private EnumRenderer<VMStatus> renderer = new EnumRenderer<>(); private static final ApplicationMessages messages = AssetProvider.getMessages(); public MigrationProgressColumn() { super(AbstractProgressBarColumn.ProgressBarColors.GREEN); } @Override public Integer getProgressValue(VM object) { return object.getMigrationProgressPercent(); } public final SafeHtml getValue(VM vm) { if (!migrating(vm)) { return null; } return super.getValue(vm); } public boolean migrating(VM vm) { return vm.getStatus() == VMStatus.MigratingFrom; } @Override protected String getStyle() { return "engine-progress-box-migration";//$NON-NLS-1$ } @Override protected String getProgressText(VM vm) { String percentText = super.getProgressText(vm); if (migrating(vm)) { return messages.migratingProgress(renderer.render(vm.getStatus()), percentText); } return percentText; } }