package org.ovirt.engine.ui.webadmin.section.main.view.tab.storage; import java.util.Date; import org.ovirt.engine.core.common.businessentities.VM; import org.ovirt.engine.core.common.businessentities.storage_domains; import org.ovirt.engine.ui.uicommonweb.models.storage.StorageListModel; import org.ovirt.engine.ui.uicommonweb.models.storage.StorageVmListModel; import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.storage.SubTabStorageVmPresenter; 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.GeneralDateTimeColumn; import org.ovirt.engine.ui.webadmin.widget.table.column.TextColumnWithTooltip; import org.ovirt.engine.ui.webadmin.widget.table.column.VmStatusColumn; import com.google.inject.Inject; public class SubTabStorageVmView extends AbstractSubTabTableView<storage_domains, VM, StorageListModel, StorageVmListModel> implements SubTabStorageVmPresenter.ViewDef { @Inject public SubTabStorageVmView(SearchableDetailModelProvider<VM, StorageListModel, StorageVmListModel> 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"); TextColumnWithTooltip<VM> diskColumn = new TextColumnWithTooltip<VM>() { @Override public String getValue(VM object) { return String.valueOf(object.getDiskMap().size()); } }; getTable().addColumn(diskColumn, "Disks"); TextColumnWithTooltip<VM> templateColumn = new TextColumnWithTooltip<VM>() { @Override public String getValue(VM object) { return object.getvmt_name(); } }; getTable().addColumn(templateColumn, "Template"); TextColumnWithTooltip<VM> vSizeColumn = new TextColumnWithTooltip<VM>() { @Override public String getValue(VM object) { return String.valueOf(object.getDiskSize()); } }; getTable().addColumn(vSizeColumn, "V-Size"); TextColumnWithTooltip<VM> actualSizeColumn = new TextColumnWithTooltip<VM>() { @Override public String getValue(VM object) { return String.valueOf(object.getActualDiskWithSnapshotsSize()); } }; getTable().addColumn(actualSizeColumn, "Actual Size"); TextColumnWithTooltip<VM> creationDateColumn = new GeneralDateTimeColumn<VM>() { @Override protected Date getRawValue(VM object) { return object.getvm_creation_date(); } }; getTable().addColumn(creationDateColumn, "Creation Date"); } }