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 TemplateDiskListModelBinder 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("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("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; } }