Arik Hadas has uploaded a new change for review. Change subject: core: usb ......................................................................
core: usb Change-Id: Ibcaad740c8950820479aeb958747e5e685e64740 Signed-off-by: Arik Hadas <[email protected]> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java 1 file changed, 36 insertions(+), 30 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/63/23863/1 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 164633d..c4d27c2 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 @@ -1714,41 +1714,47 @@ return; } + UsbPolicy prevSelection = getUsbPolicy().getSelectedItem(); getUsbPolicy().setIsChangable(true); - if (Version.v3_1.compareTo(cluster.getcompatibility_version()) > 0) { - if (AsyncDataProvider.isWindowsOsType(osType)) { - getUsbPolicy().setItems(Arrays.asList( - UsbPolicy.DISABLED, - UsbPolicy.ENABLED_LEGACY - )); - } else { - getUsbPolicy().setItems(Arrays.asList(UsbPolicy.DISABLED)); - getUsbPolicy().setSelectedItem(UsbPolicy.DISABLED); - getUsbPolicy().setIsChangable(false); - } - } + getUsbPolicy().setItems(getPossibleUsbPoliciesForOsAndCluster(osType, cluster)); - if (Version.v3_1.compareTo(cluster.getcompatibility_version()) <= 0) { - if (AsyncDataProvider.isLinuxOsType(osType)) { - getUsbPolicy().setItems(Arrays.asList( - UsbPolicy.DISABLED, - UsbPolicy.ENABLED_NATIVE - )); - } else { - getUsbPolicy().setItems( - Arrays.asList( - UsbPolicy.DISABLED, - UsbPolicy.ENABLED_LEGACY, - UsbPolicy.ENABLED_NATIVE - )); - } - } - - if (displayType != DisplayType.qxl) { + if (displayType != DisplayType.qxl || Linq.count(getUsbPolicy().getItems()) == 1) { getUsbPolicy().setIsChangable(false); } - getUsbPolicy().setSelectedItem(UsbPolicy.DISABLED); + getUsbPolicy().setSelectedItem(getUsbPolicyToSelect(getUsbPolicy().getItems(), prevSelection)); + } + + private UsbPolicy getUsbPolicyToSelect(Iterable<UsbPolicy> usbPolicies, UsbPolicy prevSelection) { + // try to selected the previously selected policy if it exists + // in the collection that is going to be presented + if (prevSelection != null) { + for (UsbPolicy usbPolicy : usbPolicies) { + if (usbPolicy == prevSelection) { + return usbPolicy; + } + } + } + + return UsbPolicy.DISABLED; + } + + private List<UsbPolicy> getPossibleUsbPoliciesForOsAndCluster(Integer osType, VDSGroup cluster) { + // backward compatibility + if (Version.v3_1.compareTo(cluster.getcompatibility_version()) > 0) { + return AsyncDataProvider.isWindowsOsType(osType) ? + Arrays.asList(UsbPolicy.DISABLED, UsbPolicy.ENABLED_LEGACY) + : Arrays.asList(UsbPolicy.DISABLED); + } + + // otherwise + return AsyncDataProvider.isLinuxOsType(osType) ? + Arrays.asList(UsbPolicy.DISABLED, UsbPolicy.ENABLED_NATIVE) + : Arrays.asList( + UsbPolicy.DISABLED, + UsbPolicy.ENABLED_LEGACY, + UsbPolicy.ENABLED_NATIVE + ); } private void initMinimalVmMemSize() -- To view, visit http://gerrit.ovirt.org/23863 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ibcaad740c8950820479aeb958747e5e685e64740 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Arik Hadas <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
