Shahar Havivi has uploaded a new change for review. Change subject: ui: edit VM override user qxl flag ......................................................................
ui: edit VM override user qxl flag Bug-Url: https://bugzilla.redhat.com/1111565 Change-Id: I1cbb3128b8251311d3fa1c2b25ed5e90642e0e24 Signed-off-by: Shahar Havivi <[email protected]> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ExistingPoolModelBehavior.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ExistingVmModelBehavior.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewPoolModelBehavior.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewTemplateVmModelBehavior.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewVmModelBehavior.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/TemplateVmModelBehavior.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmModelBehaviorBase.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/ExistingPoolInstanceTypeManager.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/ExistingVmInstanceTypeManager.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/InstanceTypeManager.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/NewPoolInstanceTypeManager.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/NewVmInstanceTypeManager.java 13 files changed, 126 insertions(+), 36 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/21/30021/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ExistingPoolModelBehavior.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ExistingPoolModelBehavior.java index bdf238d..67bf300 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ExistingPoolModelBehavior.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ExistingPoolModelBehavior.java @@ -1,5 +1,7 @@ package org.ovirt.engine.ui.uicommonweb.models.vms; +import java.util.ArrayList; +import java.util.List; import org.ovirt.engine.core.common.businessentities.ActionGroup; import org.ovirt.engine.core.common.businessentities.DiskImage; import org.ovirt.engine.core.common.businessentities.StorageDomain; @@ -19,9 +21,6 @@ import org.ovirt.engine.ui.uicommonweb.models.vms.instancetypes.InstanceTypeManager; import org.ovirt.engine.ui.uicommonweb.validation.ExistingPoolNameLengthValidation; import org.ovirt.engine.ui.uicommonweb.validation.IValidation; - -import java.util.ArrayList; -import java.util.List; public class ExistingPoolModelBehavior extends PoolModelBehaviorBase { @@ -45,6 +44,7 @@ } instanceTypeManager = new ExistingPoolInstanceTypeManager(getModel(), pool); + instanceTypeManager.setAlwaysEnabledFieldUpdate(true); } @Override diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ExistingVmModelBehavior.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ExistingVmModelBehavior.java index 3540f00..d1057d2 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ExistingVmModelBehavior.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ExistingVmModelBehavior.java @@ -56,8 +56,11 @@ getModel().getInstanceTypes().setIsChangable(!vm.isRunning()); loadDataCenter(); - instanceTypeManager = new ExistingVmInstanceTypeManager(getModel(), vm); + + if (vm.getVmPoolId() != null) { + instanceTypeManager.setAlwaysEnabledFieldUpdate(true); + } } private void loadDataCenter() { @@ -347,7 +350,15 @@ } @Override - public InstanceTypeManager getInstanceTypeManager() { - return instanceTypeManager; + public void enableSinglePCI(boolean enabled) { + super.enableSinglePCI(enabled); + if (getInstanceTypeManager() != null) { + getInstanceTypeManager().maybeSetSingleQxlPci(vm.getStaticData()); + } + } + + @Override + public ExistingVmInstanceTypeManager getInstanceTypeManager() { + return (ExistingVmInstanceTypeManager) instanceTypeManager; } } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewPoolModelBehavior.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewPoolModelBehavior.java index 7b21a0d..1b7f683 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewPoolModelBehavior.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewPoolModelBehavior.java @@ -2,7 +2,6 @@ import java.util.ArrayList; import java.util.List; - import org.ovirt.engine.core.common.businessentities.StoragePool; import org.ovirt.engine.core.common.businessentities.VDSGroup; import org.ovirt.engine.core.common.businessentities.VmTemplate; @@ -128,4 +127,10 @@ public InstanceTypeManager getInstanceTypeManager() { return instanceTypeManager; } + + @Override + public void enableSinglePCI(boolean enabled) { + super.enableSinglePCI(enabled); + getModel().getIsSingleQxlEnabled().setEntity(enabled); + } } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewTemplateVmModelBehavior.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewTemplateVmModelBehavior.java index 40eaaf6..3b9f999 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewTemplateVmModelBehavior.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewTemplateVmModelBehavior.java @@ -4,7 +4,6 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; - import org.ovirt.engine.core.common.businessentities.ActionGroup; import org.ovirt.engine.core.common.businessentities.Disk; import org.ovirt.engine.core.common.businessentities.Disk.DiskStorageType; @@ -478,4 +477,10 @@ getModel().getName().setEntity(getModel().getBaseTemplate().getSelectedItem().getName()); } } + + @Override + public void enableSinglePCI(boolean enabled) { + super.enableSinglePCI(enabled); + getModel().getIsSingleQxlEnabled().setEntity(vm.getSingleQxlPci()); + } } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewVmModelBehavior.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewVmModelBehavior.java index c9fb84a..baaeeba 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewVmModelBehavior.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewVmModelBehavior.java @@ -1,5 +1,7 @@ package org.ovirt.engine.ui.uicommonweb.models.vms; +import java.util.ArrayList; +import java.util.List; import org.ovirt.engine.core.common.businessentities.InstanceType; import org.ovirt.engine.core.common.businessentities.StorageDomain; import org.ovirt.engine.core.common.businessentities.StoragePool; @@ -21,9 +23,6 @@ import org.ovirt.engine.ui.uicommonweb.models.vms.instancetypes.InstanceTypeManager; import org.ovirt.engine.ui.uicommonweb.models.vms.instancetypes.NewVmInstanceTypeManager; import org.ovirt.engine.ui.uicompat.ConstantsManager; - -import java.util.ArrayList; -import java.util.List; public class NewVmModelBehavior extends VmModelBehaviorBase { @@ -358,4 +357,11 @@ public InstanceTypeManager getInstanceTypeManager() { return instanceTypeManager; } + + @Override + public void enableSinglePCI(boolean enabled) { + super.enableSinglePCI(enabled); + getModel().getIsSingleQxlEnabled().setEntity(enabled); + } + } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/TemplateVmModelBehavior.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/TemplateVmModelBehavior.java index 1846ada..b439c43 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/TemplateVmModelBehavior.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/TemplateVmModelBehavior.java @@ -4,7 +4,6 @@ import java.util.Arrays; import java.util.Collection; import java.util.List; - import org.ovirt.engine.core.common.businessentities.DisplayType; import org.ovirt.engine.core.common.businessentities.StoragePool; import org.ovirt.engine.core.common.businessentities.VDSGroup; @@ -241,4 +240,13 @@ return template; } + @Override + public void enableSinglePCI(boolean enabled) { + super.enableSinglePCI(enabled); + if (enabled) { + getModel().getIsSingleQxlEnabled().setEntity(template.getSingleQxlPci() && getModel().getIsQxlSupported()); + } else { + getModel().getIsSingleQxlEnabled().setEntity(false); + } + } } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java index 21b6b81..b352c30 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java @@ -9,7 +9,6 @@ import java.util.List; import java.util.Map; import java.util.Set; - import org.ovirt.engine.core.common.businessentities.BootSequence; import org.ovirt.engine.core.common.businessentities.DisplayType; import org.ovirt.engine.core.common.businessentities.InstanceType; @@ -2132,16 +2131,21 @@ } } - private void handleQxlClusterLevel() { + public boolean getIsQxlSupported() { // Enable Single PCI only on cluster 3.3 and high and on Linux OS boolean isLinux = getIsLinuxOS(); boolean isQxl = getDisplayType() == DisplayType.qxl; boolean clusterSupportsSinglePci = getSelectedCluster() != null && Version.v3_3.compareTo(getSelectedCluster().getcompatibility_version()) <= 0; - getBehavior().enableSinglePCI(isLinux && isQxl && clusterSupportsSinglePci); + return isLinux && isQxl && clusterSupportsSinglePci; + } + + private void handleQxlClusterLevel() { + getBehavior().enableSinglePCI(getIsQxlSupported()); if (getSelectedCluster() != null) { + boolean isQxl = getDisplayType() == DisplayType.qxl; boolean spiceFileTransferToggle = isQxl && AsyncDataProvider.isSpiceFileTransferToggleSupported(getSelectedCluster().getcompatibility_version().toString()); if (!spiceFileTransferToggle) { @@ -2290,7 +2294,7 @@ getMigrationDowntime().setIsChangable(Boolean.TRUE.equals(entity)); } - private DisplayType getDisplayType() { + public DisplayType getDisplayType() { EntityModel<DisplayType> entityModel = getDisplayProtocol().getSelectedItem(); if (entityModel == null) { diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmModelBehaviorBase.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmModelBehaviorBase.java index 0d72cde..d9b9e32 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmModelBehaviorBase.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmModelBehaviorBase.java @@ -1,5 +1,12 @@ package org.ovirt.engine.ui.uicommonweb.models.vms; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.List; import java.util.Set; import org.ovirt.engine.core.common.TimeZoneType; import org.ovirt.engine.core.common.businessentities.ActionGroup; @@ -41,14 +48,6 @@ import org.ovirt.engine.ui.uicompat.ConstantsManager; import org.ovirt.engine.ui.uicompat.UIConstants; import org.ovirt.engine.ui.uicompat.UIMessages; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashMap; -import java.util.List; public abstract class VmModelBehaviorBase<TModel extends UnitVmModel> { @@ -1119,7 +1118,9 @@ public void enableSinglePCI(boolean enabled) { getModel().getIsSingleQxlEnabled().setIsChangable(enabled); - getModel().getIsSingleQxlEnabled().setEntity(enabled); + if (!enabled) { + getModel().getIsSingleQxlEnabled().setEntity(false); + } } protected void updateRngDevice(Guid templateId) { diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/ExistingPoolInstanceTypeManager.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/ExistingPoolInstanceTypeManager.java index 12c877e..711bea5 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/ExistingPoolInstanceTypeManager.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/ExistingPoolInstanceTypeManager.java @@ -37,4 +37,9 @@ protected Guid getSelectedInstanceTypeId() { return super.getSelectedInstanceTypeId() == null ? pool.getInstanceTypeId() : super.getSelectedInstanceTypeId(); } + + protected void maybeSetSingleQxlPci(VmBase vmBase) { + maybeSetEntity(getModel().getIsSingleQxlEnabled(), pool.getSingleQxlPci()); + getModel().getIsSingleQxlEnabled().setEntity(pool.getSingleQxlPci() && getModel().getIsQxlSupported()); + } } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/ExistingVmInstanceTypeManager.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/ExistingVmInstanceTypeManager.java index 1bdc74a..549dae2 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/ExistingVmInstanceTypeManager.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/ExistingVmInstanceTypeManager.java @@ -45,4 +45,9 @@ protected Guid getSelectedInstanceTypeId() { return super.getSelectedInstanceTypeId() == null ? vm.getInstanceTypeId() : super.getSelectedInstanceTypeId(); } + + @Override + public void maybeSetSingleQxlPci(VmBase vmBase) { + maybeSetEntity(getModel().getIsSingleQxlEnabled(), vm.getSingleQxlPci() && getModel().getIsQxlSupported()); + } } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/InstanceTypeManager.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/InstanceTypeManager.java index 61458eb..0f500e1 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/InstanceTypeManager.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/InstanceTypeManager.java @@ -1,5 +1,8 @@ package org.ovirt.engine.ui.uicommonweb.models.vms.instancetypes; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; import org.ovirt.engine.core.common.businessentities.DisplayType; import org.ovirt.engine.core.common.businessentities.InstanceType; import org.ovirt.engine.core.common.businessentities.MigrationSupport; @@ -27,10 +30,6 @@ import org.ovirt.engine.ui.uicompat.EventArgs; import org.ovirt.engine.ui.uicompat.IEventListener; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; - /** * Base class which takes care about copying the proper fields from instance type/template/vm static to the VM. * @@ -44,6 +43,9 @@ * */ public abstract class InstanceTypeManager { + + // turns the maybeSet* to always let the entity be set - useful for e.g. pooled VMs were everything is disabled but has to be set according to the underlying VM + private boolean alwaysEnabledFieldUpdate = false; private final UnitVmModel model; @@ -375,7 +377,7 @@ return false; } - private void updateDefaultDisplayRelatedFields(VmBase vmBase) { + protected void updateDefaultDisplayRelatedFields(VmBase vmBase) { // Update display protocol selected item if (model.getDisplayProtocol().getItems() == null) { return; @@ -399,17 +401,21 @@ maybeSetSelectedItem(model.getNumOfMonitors(), vmBase.getNumOfMonitors()); maybeSetSelectedItem(model.getUsbPolicy(), vmBase.getUsbPolicy()); maybeSetEntity(model.getIsSmartcardEnabled(), vmBase.isSmartcardEnabled()); + maybeSetSingleQxlPci(vmBase); + } + + protected void maybeSetSingleQxlPci(VmBase vmBase) { maybeSetEntity(model.getIsSingleQxlEnabled(), vmBase.getSingleQxlPci()); } - private <T> void maybeSetSelectedItem(ListModel<T> listModel, T value) { - if (listModel != null && listModel.getIsChangable() && listModel.getIsAvailable()) { - listModel.setSelectedItem(value); + protected <T> void maybeSetSelectedItem(ListModel<T> entityModel, T value) { + if (alwaysEnabledFieldUpdate || (entityModel != null && entityModel.getIsChangable() && entityModel.getIsAvailable())) { + entityModel.setSelectedItem(value); } } - private <T> void maybeSetEntity(EntityModel<T> listModel, T value) { - if (listModel != null && listModel.getIsChangable() && listModel.getIsAvailable()) { + protected <T> void maybeSetEntity(EntityModel<T> listModel, T value) { + if (alwaysEnabledFieldUpdate || (listModel != null && listModel.getIsChangable() && listModel.getIsAvailable())) { listModel.setEntity(value); } } @@ -422,11 +428,14 @@ void activated(); } + public void setAlwaysEnabledFieldUpdate(boolean alwaysEnabledFieldUpdate) { + this.alwaysEnabledFieldUpdate = alwaysEnabledFieldUpdate; + } + /** * The source from which the data has to be copyed to managed fields. * * It can be an instance type, a template or a VM's static data */ protected abstract VmBase getSource(); - } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/NewPoolInstanceTypeManager.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/NewPoolInstanceTypeManager.java index 9952a42..9eadbee 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/NewPoolInstanceTypeManager.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/NewPoolInstanceTypeManager.java @@ -1,6 +1,7 @@ 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; @@ -18,4 +19,18 @@ return getModel().getTemplate().getSelectedItem(); } } + + + @Override + protected void maybeSetSingleQxlPci(VmBase vmBase) { + boolean customInstanceTypeUsed = getModel().getInstanceTypes().getSelectedItem() instanceof CustomInstanceType; + boolean blankTemplateUsed = + getModel().getTemplate().getSelectedItem() != null + && getModel().getTemplate().getSelectedItem().getId().equals(Guid.Empty); + if (customInstanceTypeUsed && blankTemplateUsed) { + maybeSetEntity(getModel().getIsSingleQxlEnabled(), getModel().getIsQxlSupported()); + } else { + super.maybeSetSingleQxlPci(vmBase); + } + } } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/NewVmInstanceTypeManager.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/NewVmInstanceTypeManager.java index 1d1905e..5c1a5d5 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/NewVmInstanceTypeManager.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/instancetypes/NewVmInstanceTypeManager.java @@ -1,6 +1,7 @@ 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.EditProfileBehavior; import org.ovirt.engine.ui.uicommonweb.models.vms.ProfileBehavior; @@ -28,5 +29,20 @@ return networkBehavior; } + @Override + protected void maybeSetSingleQxlPci(VmBase vmBase) { + // We are setting the default Qxl support for true on new Linux VM with Spice display protocol + // The default value cannot be set in the template since it will effect REST API as well + boolean customInstanceTypeUsed = getModel().getInstanceTypes().getSelectedItem() instanceof CustomInstanceType; + boolean blankTemplateUsed = + getModel().getTemplate().getSelectedItem() != null + && getModel().getTemplate().getSelectedItem().getId().equals(Guid.Empty); + if (customInstanceTypeUsed && blankTemplateUsed) { + maybeSetEntity(getModel().getIsSingleQxlEnabled(), getModel().getIsQxlSupported()); + } else { + super.maybeSetSingleQxlPci(vmBase); + } + } + } -- To view, visit http://gerrit.ovirt.org/30021 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I1cbb3128b8251311d3fa1c2b25ed5e90642e0e24 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: ovirt-engine-3.5 Gerrit-Owner: Shahar Havivi <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
