package org.ovirt.engine.ui.webadmin.section.main.view.tab.cluster; import javax.inject.Inject; import org.ovirt.engine.core.common.businessentities.VDSGroup; import org.ovirt.engine.core.common.businessentities.VM; import org.ovirt.engine.core.common.businessentities.VMStatus; import org.ovirt.engine.ui.uicommonweb.models.clusters.ClusterListModel; import org.ovirt.engine.ui.uicommonweb.models.clusters.ClusterVmListModel; import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.cluster.SubTabClusterVmPresenter; import org.ovirt.engine.ui.webadmin.section.main.view.AbstractSubTabTableView; import org.ovirt.engine.ui.webadmin.uicommon.model.SearchableDetailModelProvider; import org.ovirt.engine.ui.webadmin.widget.table.column.EnumColumn; import org.ovirt.engine.ui.webadmin.widget.table.column.TextColumnWithTooltip; import org.ovirt.engine.ui.webadmin.widget.table.column.UptimeColumn; import org.ovirt.engine.ui.webadmin.widget.table.column.VmStatusColumn; import org.ovirt.engine.ui.webadmin.widget.table.column.VmTypeColumn; public class SubTabClusterVmView extends AbstractSubTabTableView<VDSGroup, VM, ClusterListModel, ClusterVmListModel> implements SubTabClusterVmPresenter.ViewDef { @Inject public SubTabClusterVmView(SearchableDetailModelProvider<VM, ClusterListModel, ClusterVmListModel> modelProvider) { super(modelProvider); initTable(); initWidget(getTable()); } void initTable() { getTable().addColumn(new VmStatusColumn(), "", "30px"); TextColumnWithTooltip<VM> nameColumn = new TextColumnWithTooltip<VM>() { @Override public String getValue(VM object) { return object.getvm_name(); } }; getTable().addColumn(nameColumn, "Name"); getTable().addColumn(new VmTypeColumn(), "", "30px"); TextColumnWithTooltip<VM> statusColumn = new EnumColumn<VM, VMStatus>() { @Override protected VMStatus getRawValue(VM object) { return object.getstatus(); } }; getTable().addColumn(statusColumn, "Status"); TextColumnWithTooltip<VM> uptimeColumn = new UptimeColumn<VM>() { @Override protected Double getRawValue(VM object) { return object.getRoundedElapsedTime(); } }; getTable().addColumn(uptimeColumn, "Uptime"); } }