package org.ovirt.engine.ui.userportal.client.binders.specific; import org.ovirt.engine.core.common.businessentities.DiskImage; import org.ovirt.engine.core.common.businessentities.VolumeType; import org.ovirt.engine.ui.uicommon.models.ListModel; import org.ovirt.engine.ui.uicommon.models.Model; import org.ovirt.engine.ui.uicompat.EnumTranslator; import org.ovirt.engine.ui.uicompat.Translator; import org.ovirt.engine.ui.userportal.client.binders.RendererType; import org.ovirt.engine.ui.userportal.client.binders.interfaces.ListModelBinder; import org.ovirt.engine.ui.userportal.client.util.UserPortalTools; import com.smartgwt.client.data.RecordList; import com.smartgwt.client.widgets.grid.ListGridField; import com.smartgwt.client.widgets.grid.ListGridRecord; public class PoolDiskListModelBinder implements ListModelBinder { ListModel model; RendererType rendererType = RendererType.Grid; @Override public void setModel(Model model) { this.model = (ListModel)model; } @Override public ListGridField[] getFields() { return fields; } @Override public RecordList calcRecords() { RecordList records = new RecordList(); Iterable<DiskImage> disks = (Iterable)model.getItems(); Translator translator = EnumTranslator.Create(VolumeType.class); if (disks != null) { for (DiskImage disk : disks) { ListGridRecord r = new ListGridRecord(); r.setAttribute("name", "Disk " + disk.getinternal_drive_mapping()); r.setAttribute("size", (disk.getsize() / (1024*1024*1024)) + "GB"); r.setAttribute("actualSize", ((Double)disk.getActualDiskWithSnapshotsSize()).intValue() + "GB"); r.setAttribute("type", disk.getdisk_type().toString()); r.setAttribute("format", disk.getvolume_format().toString()); r.setAttribute("allocation", translator.get(disk.getvolume_type())); r.setAttribute("interface", disk.getdisk_interface().toString()); r.setAttribute("dateCreated", UserPortalTools.formatDate(disk.getcreation_date())); r.setAttribute("entity", disk); r.setAttribute("entityGuid", disk.getId()); records.add(r); } } return records; } private static ListGridField[] fields = { new ListGridField("name", "Name", 120), new ListGridField("size", "Size", 120), new ListGridField("actualSize", "Actual Size", 120), new ListGridField("type", "Type", 120), new ListGridField("format", "Format", 120), new ListGridField("allocation", "Allocation", 120), new ListGridField("interface", "Interface", 120), new ListGridField("dateCreated", "Date Created", 120) }; @Override public RendererType getRendererType() { return rendererType; } }