package org.ovirt.engine.ui.userportal.client.binders.specific; import org.ovirt.engine.ui.uicommon.models.Model; import org.ovirt.engine.ui.uicommon.models.pools.PoolGeneralModel; import org.ovirt.engine.ui.uicommon.models.vms.VmGeneralModel; import org.ovirt.engine.ui.userportal.client.binders.RendererType; import org.ovirt.engine.ui.userportal.client.binders.interfaces.EntityModelBinder; import org.ovirt.engine.ui.userportal.client.util.UserPortalTools; import com.google.gwt.safehtml.shared.SafeHtmlUtils; import com.smartgwt.client.data.Record; import com.smartgwt.client.data.RecordList; import com.smartgwt.client.widgets.viewer.DetailViewerField; public class PoolGeneralModelBinder implements EntityModelBinder { PoolGeneralModel model; RendererType rendererType = RendererType.DetailViewer; @Override public RecordList calcRecords() { Record r = new Record(); r.setAttribute("name", model.getName()); r.setAttribute("description", model.getDescription() == null ? "" : SafeHtmlUtils.fromString(UserPortalTools.getShortString(model.getDescription(), 50)).asString()); r.setAttribute("template", model.getTemplate()); r.setAttribute("os", model.getOS()); r.setAttribute("defaultDisplayType", model.getDefaultDisplayType()); r.setAttribute("definedMemory", model.getDefinedMemory()); r.setAttribute("minAllocatedMemory", model.getMinAllocatedMemory()); r.setAttribute("cpuCores", model.getCpuInfo()); r.setAttribute("monitors", model.getMonitorCount()); r.setAttribute("usbPolicy", model.getUsbPolicy()); r.setAttribute("origin", model.getOrigin()); r.setAttribute("domain", model.getDomain() == null ? "" : SafeHtmlUtils.fromString(model.getDomain()).asString()); r.setAttribute("timeZone", model.getTimeZone()); r.setAttribute("storageDomain", model.getStorageDomain()); r.setAttribute("defaultHost", model.getDefaultHost()); // Set hidden property for hidable items r.setAttribute("domain_hidden", !model.getHasDomain()); r.setAttribute("timeZone_hidden", !model.getHasTimeZone()); r.setAttribute("storageDomain_hidden", !model.getHasStorageDomain()); RecordList records = new RecordList(); records.add(r); return records; } @Override public void setModel(Model model) { this.model = (PoolGeneralModel)model; } @Override public DetailViewerField[] getFields() { return fields; } @Override public Integer[] getNumOfRowsInColumn() { return new Integer[] {5, 5, 4}; } private static DetailViewerField[] fields = { new DetailViewerField("name", "Name"), new DetailViewerField("description", "Description"), new DetailViewerField("template", "Template"), new DetailViewerField("os", "Operating System"), new DetailViewerField("defaultDisplayType", "Default Display Type"), new DetailViewerField("definedMemory", "Defined Memory"), new DetailViewerField("minAllocatedMemory", "Physical Memory Guaranteed"), new DetailViewerField("cpuCores", "Number of CPU Cores"), new DetailViewerField("monitors", "Number of Monitors"), new DetailViewerField("usbPolicy", "USB Policy"), new DetailViewerField("domain", "Domain"), new DetailViewerField("timeZone", "Time Zone"), new DetailViewerField("defaultHost", "Run On") }; @Override public RendererType getRendererType() { return rendererType; } }