package org.ovirt.engine.ui.uicommonweb.models.templates; import java.util.Objects; import org.ovirt.engine.core.common.businessentities.QuotaEnforcementTypeEnum; import org.ovirt.engine.core.common.businessentities.VmTemplate; import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider; import org.ovirt.engine.ui.uicommonweb.help.HelpTag; import org.ovirt.engine.ui.uicommonweb.models.vms.AbstractGeneralModel; import org.ovirt.engine.ui.uicompat.ConstantsManager; import org.ovirt.engine.ui.uicompat.EnumTranslator; import org.ovirt.engine.ui.uicompat.PropertyChangedEventArgs; import org.ovirt.engine.ui.uicompat.Translator; public class TemplateGeneralModel extends AbstractGeneralModel<VmTemplate> { private String name; public String getName() { return name; } public void setName(String value) { if (!Objects.equals(name, value)) { name = value; onPropertyChanged(new PropertyChangedEventArgs("Name")); //$NON-NLS-1$ } } private String templateId; public String getTemplateId() { return templateId; } public void setTemplateId(String value) { if (!Objects.equals(templateId, value)) { templateId = value; onPropertyChanged(new PropertyChangedEventArgs("TemplateId")); //$NON-NLS-1$ } } private String description; public String getDescription() { return description; } public void setDescription(String value) { if (!Objects.equals(description, value)) { description = value; onPropertyChanged(new PropertyChangedEventArgs("Description")); //$NON-NLS-1$ } } private String quotaName; public String getQuotaName() { return quotaName; } public void setQuotaName(String quotaName) { this.quotaName = quotaName; } private boolean quotaAvailable; public boolean isQuotaAvailable() { return quotaAvailable; } public void setQuotaAvailable(boolean quotaAvailable) { this.quotaAvailable = quotaAvailable; } private String hostCluster; public String getHostCluster() { return hostCluster; } public void setHostCluster(String value) { if (!Objects.equals(hostCluster, value)) { hostCluster = value; onPropertyChanged(new PropertyChangedEventArgs("HostCluster")); //$NON-NLS-1$ } } private String definedMemory; public String getDefinedMemory() { return definedMemory; } public void setDefinedMemory(String value) { if (!Objects.equals(definedMemory, value)) { definedMemory = value; onPropertyChanged(new PropertyChangedEventArgs("DefinedMemory")); //$NON-NLS-1$ } } private String cpuInfo; public String getCpuInfo() { return cpuInfo; } public void setCpuInfo(String value) { if (!Objects.equals(cpuInfo, value)) { cpuInfo = value; onPropertyChanged(new PropertyChangedEventArgs("CpuInfo")); //$NON-NLS-1$ } } private String os; public String getOS() { return os; } public void setOS(String value) { if (!Objects.equals(os, value)) { os = value; onPropertyChanged(new PropertyChangedEventArgs("OS")); //$NON-NLS-1$ } } private String defaultDisplayType; public String getDefaultDisplayType() { return defaultDisplayType; } public void setDefaultDisplayType(String value) { if (!Objects.equals(defaultDisplayType, value)) { defaultDisplayType = value; onPropertyChanged(new PropertyChangedEventArgs("DefaultDisplayType")); //$NON-NLS-1$ } } private String origin; public String getOrigin() { return origin; } public void setOrigin(String value) { if (!Objects.equals(origin, value)) { origin = value; onPropertyChanged(new PropertyChangedEventArgs("Origin")); //$NON-NLS-1$ } } private boolean isHighlyAvailable; public boolean getIsHighlyAvailable() { return isHighlyAvailable; } public void setIsHighlyAvailable(boolean value) { if (isHighlyAvailable != value) { isHighlyAvailable = value; onPropertyChanged(new PropertyChangedEventArgs("IsHighlyAvailable")); //$NON-NLS-1$ } } private String priority; public String getPriority() { return priority; } public void setPriority(String value) { if (!Objects.equals(priority, value)) { priority = value; onPropertyChanged(new PropertyChangedEventArgs("Priority")); //$NON-NLS-1$ } } private boolean hasMonitorCount; public boolean getHasMonitorCount() { return hasMonitorCount; } public void setHasMonitorCount(boolean value) { if (hasMonitorCount != value) { hasMonitorCount = value; onPropertyChanged(new PropertyChangedEventArgs("HasMonitorCount")); //$NON-NLS-1$ } } private int monitorCount; public int getMonitorCount() { return monitorCount; } public void setMonitorCount(int value) { if (monitorCount != value) { monitorCount = value; onPropertyChanged(new PropertyChangedEventArgs("MonitorCount")); //$NON-NLS-1$ } } private boolean allowConsoleReconnect; public boolean getAllowConsoleReconnect() { return allowConsoleReconnect; } public void setAllowConsoleReconnect(boolean value) { if (allowConsoleReconnect != value) { allowConsoleReconnect = value; onPropertyChanged(new PropertyChangedEventArgs("AllowConsoleReconnect")); //$NON-NLS-1$ } } private boolean hasDomain; public boolean getHasDomain() { return hasDomain; } public void setHasDomain(boolean value) { if (hasDomain != value) { hasDomain = value; onPropertyChanged(new PropertyChangedEventArgs("HasDomain")); //$NON-NLS-1$ } } private boolean hasTimeZone; public boolean getHasTimeZone() { return hasTimeZone; } public void setHasTimeZone(boolean value) { if (hasTimeZone != value) { hasTimeZone = value; onPropertyChanged(new PropertyChangedEventArgs("HasTimeZone")); //$NON-NLS-1$ } } private String domain; public String getDomain() { return domain; } public void setDomain(String value) { if (!Objects.equals(domain, value)) { domain = value; onPropertyChanged(new PropertyChangedEventArgs("Domain")); //$NON-NLS-1$ } } private String timeZone; public String getTimeZone() { return timeZone; } public void setTimeZone(String value) { if (!Objects.equals(timeZone, value)) { timeZone = value; onPropertyChanged(new PropertyChangedEventArgs("TimeZone")); //$NON-NLS-1$ } } private boolean hasUsbPolicy; public boolean getHasUsbPolicy() { return hasUsbPolicy; } public void setHasUsbPolicy(boolean value) { if (hasUsbPolicy != value) { hasUsbPolicy = value; onPropertyChanged(new PropertyChangedEventArgs("HasUsbPolicy")); //$NON-NLS-1$ } } private String usbPolicy; public String getUsbPolicy() { return usbPolicy; } public void setUsbPolicy(String value) { if (!Objects.equals(usbPolicy, value)) { usbPolicy = value; onPropertyChanged(new PropertyChangedEventArgs("UsbPolicy")); //$NON-NLS-1$ } } private boolean isStateless; public boolean getIsStateless() { return isStateless; } public void setIsStateless(boolean value) { if (isStateless != value) { isStateless = value; onPropertyChanged(new PropertyChangedEventArgs("IsStateless")); //$NON-NLS-1$ } } public TemplateGeneralModel() { setTitle(ConstantsManager.getInstance().getConstants().generalTitle()); setHelpTag(HelpTag.general); setHashName("general"); //$NON-NLS-1$ } @Override protected void onEntityChanged() { super.onEntityChanged(); if (super.getEntity() != null) { updateProperties(); } } @Override protected void entityPropertyChanged(Object sender, PropertyChangedEventArgs e) { super.entityPropertyChanged(sender, e); updateProperties(); } private void updateProperties() { VmTemplate template = getEntity(); super.updateProperties(template.getId()); setName(template.getName()); setTemplateId(template.getId().toString()); setDescription(template.getDescription()); setQuotaName(template.getQuotaName() != null ? template.getQuotaName() : ""); //$NON-NLS-1$ setQuotaAvailable(template.getQuotaEnforcementType() != null && !template.getQuotaEnforcementType().equals(QuotaEnforcementTypeEnum.DISABLED)); setHostCluster(template.getClusterName()); setDefinedMemory(template.getMemSizeMb() + " MB"); //$NON-NLS-1$ setIsHighlyAvailable(template.isAutoStartup()); setPriority(AsyncDataProvider.getInstance().priorityToString(template.getPriority())); setMonitorCount(template.getNumOfMonitors()); setAllowConsoleReconnect(template.isAllowConsoleReconnect()); setCpuInfo(ConstantsManager.getInstance().getMessages().cpuInfoLabel( template.getNumOfCpus(), template.getNumOfSockets(), template.getCpuPerSocket(), template.getThreadsPerCpu())); setOS(AsyncDataProvider.getInstance().getOsName(template.getOsId())); Translator translator = EnumTranslator.getInstance(); setDefaultDisplayType(translator.translate(template.getDefaultDisplayType())); setOrigin(translator.translate(template.getOrigin())); setHasDomain(AsyncDataProvider.getInstance().isWindowsOsType(template.getOsId())); if (template.getVmInit() != null) { setDomain(template.getVmInit().getDomain()); } setHasTimeZone(AsyncDataProvider.getInstance().isWindowsOsType(template.getOsId())); setTimeZone(template.getTimeZone()); setHasUsbPolicy(true); setUsbPolicy(translator.translate(template.getUsbPolicy())); setIsStateless(template.isStateless()); } }