package org.ovirt.engine.ui.uicommonweb.models.templates;
import java.util.Collections;
import org.ovirt.engine.core.compat.*;
import org.ovirt.engine.ui.uicompat.*;
import org.ovirt.engine.core.common.businessentities.*;
import org.ovirt.engine.core.common.vdscommands.*;
import org.ovirt.engine.core.common.queries.*;
import org.ovirt.engine.core.common.action.*;
import org.ovirt.engine.ui.frontend.*;
import org.ovirt.engine.ui.uicommonweb.*;
import org.ovirt.engine.ui.uicommonweb.models.*;
import org.ovirt.engine.core.common.*;
import org.ovirt.engine.core.common.businessentities.*;
import org.ovirt.engine.ui.uicompat.*;
import org.ovirt.engine.ui.uicommonweb.*;
import org.ovirt.engine.ui.uicommonweb.models.*;
@SuppressWarnings("unused")
public class TemplateGeneralModel extends EntityModel
{
public VmTemplate getEntity()
{
if(super.getEntity() == null)
{
return null;
}
if (super.getEntity() instanceof VmTemplate)
{
return (VmTemplate)super.getEntity();
}
else
{
java.util.Map.Entry<VmTemplate, java.util.ArrayList<DiskImage>> pair = (java.util.Map.Entry<VmTemplate, java.util.ArrayList<DiskImage>>)super.getEntity();
return pair.getKey();
}
}
public void setEntity(VmTemplate value)
{
super.setEntity(value);
}
private String name;
public String getName()
{
return name;
}
public void setName(String value)
{
if (!StringHelper.stringsEqual(name, value))
{
name = value;
OnPropertyChanged(new PropertyChangedEventArgs("Name"));
}
}
private String description;
public String getDescription()
{
return description;
}
public void setDescription(String value)
{
if (!StringHelper.stringsEqual(description, value))
{
description = value;
OnPropertyChanged(new PropertyChangedEventArgs("Description"));
}
}
private String hostCluster;
public String getHostCluster()
{
return hostCluster;
}
public void setHostCluster(String value)
{
if (!StringHelper.stringsEqual(hostCluster, value))
{
hostCluster = value;
OnPropertyChanged(new PropertyChangedEventArgs("HostCluster"));
}
}
private String definedMemory;
public String getDefinedMemory()
{
return definedMemory;
}
public void setDefinedMemory(String value)
{
if (!StringHelper.stringsEqual(definedMemory, value))
{
definedMemory = value;
OnPropertyChanged(new PropertyChangedEventArgs("DefinedMemory"));
}
}
private String cpuInfo;
public String getCpuInfo()
{
return cpuInfo;
}
public void setCpuInfo(String value)
{
if (!StringHelper.stringsEqual(cpuInfo, value))
{
cpuInfo = value;
OnPropertyChanged(new PropertyChangedEventArgs("CpuInfo"));
}
}
private String os;
public String getOS()
{
return os;
}
public void setOS(String value)
{
if (!StringHelper.stringsEqual(os, value))
{
os = value;
OnPropertyChanged(new PropertyChangedEventArgs("OS"));
}
}
private String defaultDisplayType;
public String getDefaultDisplayType()
{
return defaultDisplayType;
}
public void setDefaultDisplayType(String value)
{
if (!StringHelper.stringsEqual(defaultDisplayType, value))
{
defaultDisplayType = value;
OnPropertyChanged(new PropertyChangedEventArgs("DefaultDisplayType"));
}
}
private String origin;
public String getOrigin()
{
return origin;
}
public void setOrigin(String value)
{
if (!StringHelper.stringsEqual(origin, value))
{
origin = value;
OnPropertyChanged(new PropertyChangedEventArgs("Origin"));
}
}
private boolean hasHighlyAvailable;
public boolean getHasHighlyAvailable()
{
return hasHighlyAvailable;
}
public void setHasHighlyAvailable(boolean value)
{
if (hasHighlyAvailable != value)
{
hasHighlyAvailable = value;
OnPropertyChanged(new PropertyChangedEventArgs("HasHighlyAvailable"));
}
}
private boolean isHighlyAvailable;
public boolean getIsHighlyAvailable()
{
return isHighlyAvailable;
}
public void setIsHighlyAvailable(boolean value)
{
if (isHighlyAvailable != value)
{
isHighlyAvailable = value;
OnPropertyChanged(new PropertyChangedEventArgs("IsHighlyAvailable"));
}
}
private boolean hasPriority;
public boolean getHasPriority()
{
return hasPriority;
}
public void setHasPriority(boolean value)
{
if (hasPriority != value)
{
hasPriority = value;
OnPropertyChanged(new PropertyChangedEventArgs("HasPriority"));
}
}
private String priority;
public String getPriority()
{
return priority;
}
public void setPriority(String value)
{
if (!StringHelper.stringsEqual(priority, value))
{
priority = value;
OnPropertyChanged(new PropertyChangedEventArgs("Priority"));
}
}
private boolean hasMonitorCount;
public boolean getHasMonitorCount()
{
return hasMonitorCount;
}
public void setHasMonitorCount(boolean value)
{
if (hasMonitorCount != value)
{
hasMonitorCount = value;
OnPropertyChanged(new PropertyChangedEventArgs("HasMonitorCount"));
}
}
private int monitorCount;
public int getMonitorCount()
{
return monitorCount;
}
public void setMonitorCount(int value)
{
if (monitorCount != value)
{
monitorCount = value;
OnPropertyChanged(new PropertyChangedEventArgs("MonitorCount"));
}
}
private boolean hasDomain;
public boolean getHasDomain()
{
return hasDomain;
}
public void setHasDomain(boolean value)
{
if (hasDomain != value)
{
hasDomain = value;
OnPropertyChanged(new PropertyChangedEventArgs("HasDomain"));
}
}
private boolean hasTimeZone;
public boolean getHasTimeZone()
{
return hasTimeZone;
}
public void setHasTimeZone(boolean value)
{
if (hasTimeZone != value)
{
hasTimeZone = value;
OnPropertyChanged(new PropertyChangedEventArgs("HasTimeZone"));
}
}
private String domain;
public String getDomain()
{
return domain;
}
public void setDomain(String value)
{
if (!StringHelper.stringsEqual(domain, value))
{
domain = value;
OnPropertyChanged(new PropertyChangedEventArgs("Domain"));
}
}
private String timeZone;
public String getTimeZone()
{
return timeZone;
}
public void setTimeZone(String value)
{
if (!StringHelper.stringsEqual(timeZone, value))
{
timeZone = value;
OnPropertyChanged(new PropertyChangedEventArgs("TimeZone"));
}
}
private boolean hasUsbPolicy;
public boolean getHasUsbPolicy()
{
return hasUsbPolicy;
}
public void setHasUsbPolicy(boolean value)
{
if (hasUsbPolicy != value)
{
hasUsbPolicy = value;
OnPropertyChanged(new PropertyChangedEventArgs("HasUsbPolicy"));
}
}
private String usbPolicy;
public String getUsbPolicy()
{
return usbPolicy;
}
public void setUsbPolicy(String value)
{
if (!StringHelper.stringsEqual(usbPolicy, value))
{
usbPolicy = value;
OnPropertyChanged(new PropertyChangedEventArgs("UsbPolicy"));
}
}
private boolean isStateless;
public boolean getIsStateless()
{
return isStateless;
}
public void setIsStateless(boolean value)
{
if (isStateless != value)
{
isStateless = value;
OnPropertyChanged(new PropertyChangedEventArgs("IsStateless"));
}
}
public TemplateGeneralModel()
{
setTitle("General");
}
@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();
setName(template.getname());
setDescription(template.getdescription());
setHostCluster(template.getvds_group_name());
setDefinedMemory(template.getmem_size_mb() + " MB");
setIsHighlyAvailable(template.getauto_startup());
setPriority(PriorityToString(template.getpriority()));
setMonitorCount(template.getnum_of_monitors());
setCpuInfo(StringFormat.format("%1$s (%2$s Socket(s), %3$s Core(s) per Socket)", template.getnum_of_cpus(), template.getnum_of_sockets(), template.getcpu_per_socket()));
Translator translator = EnumTranslator.Create(VmOsType.class);
setOS(translator.get(template.getos()));
translator = EnumTranslator.Create(DisplayType.class);
setDefaultDisplayType(translator.get(template.getdefault_display_type()));
translator = EnumTranslator.Create(OriginType.class);
setOrigin(translator.get(template.getorigin()));
setHasDomain(DataProvider.IsWindowsOsType(template.getos()));
setDomain(template.getdomain());
setHasTimeZone(DataProvider.IsWindowsOsType(template.getos()));
setTimeZone(template.gettime_zone());
setHasUsbPolicy(true);
translator = EnumTranslator.Create(UsbPolicy.class);
setUsbPolicy(translator.get(template.getusb_policy()));
setIsStateless(template.getis_stateless());
}
public String PriorityToString(int value)
{
String priorityStr;
int highPriority = DataProvider.GetMaxVmPriority();
int roundedPriority = DataProvider.RoundPriority(value);
if (roundedPriority == 1)
{
priorityStr = "Low";
}
else if (roundedPriority == highPriority / 2)
{
priorityStr = "Medium";
}
else if (roundedPriority == highPriority)
{
priorityStr = "High";
}
else
{
priorityStr = "Unknown";
}
return priorityStr;
}
}