package org.ovirt.engine.ui.uicommonweb.models.vms.instancetypes;
import org.ovirt.engine.core.common.businessentities.VmBase;
import org.ovirt.engine.core.compat.Guid;
import org.ovirt.engine.ui.uicommonweb.models.vms.CustomInstanceType;
import org.ovirt.engine.ui.uicommonweb.models.vms.UnitVmModel;
public class NewPoolInstanceTypeManager extends InstanceTypeManager {
public NewPoolInstanceTypeManager(UnitVmModel model) {
super(model);
}
@Override
protected VmBase getSource() {
if (!(getModel().getInstanceTypes().getSelectedItem() instanceof CustomInstanceType)) {
return (VmBase) getModel().getInstanceTypes().getSelectedItem();
} else {
return getModel().getTemplateWithVersion().getSelectedItem() == null
? null
: getModel().getTemplateWithVersion().getSelectedItem().getTemplateVersion();
}
}
@Override
protected void updateBalloon(VmBase vmBase, boolean continueWithNext) {
if (!isSourceCustomInstanceType()) {
super.updateBalloon(vmBase, continueWithNext);
} else if (continueWithNext) {
updateRngDevice(vmBase);
}
}
@Override
protected void maybeSetSingleQxlPci(VmBase vmBase) {
boolean customInstanceTypeUsed = getModel().getInstanceTypes().getSelectedItem() instanceof CustomInstanceType;
boolean blankTemplateUsed =
getModel().getTemplateWithVersion().getSelectedItem() != null
&& getModel().getTemplateWithVersion().getSelectedItem().getTemplateVersion()
.getId().equals(Guid.Empty);
if (customInstanceTypeUsed && blankTemplateUsed) {
maybeSetEntity(getModel().getIsSingleQxlEnabled(), getModel().getIsQxlSupported());
} else {
super.maybeSetSingleQxlPci(vmBase);
}
}
}