Daniel Erez has uploaded a new change for review.

Change subject: webadmin: disk interfaces - filter VirtIO-SCSI
......................................................................

webadmin: disk interfaces - filter VirtIO-SCSI

New/Edit disk dialog:
filter out VirtIO-SCSI from disk interface list when
VirtIO-SCSI is disabled for the VM.

Change-Id: I07a1b9af5d8c7a0e4dc6f8cc40410b629d201fc4
Signed-off-by: Daniel Erez <[email protected]>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/AbstractDiskModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/EditDiskModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewDiskModel.java
3 files changed, 24 insertions(+), 7 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/38/19638/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/AbstractDiskModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/AbstractDiskModel.java
index 5f26170..d80c443 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/AbstractDiskModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/AbstractDiskModel.java
@@ -301,6 +301,8 @@
 
     protected abstract LunDisk getLunDisk();
 
+    protected abstract void setDefaultInterface();
+
     protected boolean isEditEnabled() {
         return getIsFloating() || getIsNew() || getVm().isDown() || 
!getDisk().getPlugged();
     }
@@ -503,7 +505,26 @@
     }
 
     public void updateInterface(Version clusterVersion) {
-        
getDiskInterface().setItems(AsyncDataProvider.getDiskInterfaceList(clusterVersion));
+        final ArrayList<DiskInterface> diskInterfaces = 
AsyncDataProvider.getDiskInterfaceList(clusterVersion);
+        if (getVm() != null) {
+            AsyncDataProvider.isVirtioScsiEnabledForVm(new AsyncQuery(this, 
new INewAsyncCallback() {
+                @Override
+                public void onSuccess(Object model, Object returnValue) {
+                    if (Boolean.FALSE.equals(returnValue)) {
+                        diskInterfaces.remove(DiskInterface.VirtIO_SCSI);
+                    }
+                    setInterface(diskInterfaces);
+                }
+            }), getVm().getId());
+        }
+        else {
+            setInterface(diskInterfaces);
+        }
+    }
+
+    private void setInterface(ArrayList<DiskInterface> diskInterfaces) {
+        getDiskInterface().setItems(diskInterfaces);
+        setDefaultInterface();
     }
 
     private void updateQuota(StoragePool datacenter) {
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/EditDiskModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/EditDiskModel.java
index b2fdbb4..827195b 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/EditDiskModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/EditDiskModel.java
@@ -12,7 +12,6 @@
 import org.ovirt.engine.core.common.businessentities.StorageType;
 import org.ovirt.engine.core.common.businessentities.VM;
 import org.ovirt.engine.core.compat.Guid;
-import org.ovirt.engine.core.compat.Version;
 import org.ovirt.engine.ui.frontend.AsyncQuery;
 import org.ovirt.engine.ui.frontend.Frontend;
 import org.ovirt.engine.ui.frontend.INewAsyncCallback;
@@ -94,8 +93,7 @@
     }
 
     @Override
-    public void updateInterface(Version clusterVersion) {
-        super.updateInterface(clusterVersion);
+    public void setDefaultInterface() {
         getDiskInterface().setSelectedItem(getDisk().getDiskInterface());
     }
 
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewDiskModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewDiskModel.java
index f73b870..76c6131 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewDiskModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewDiskModel.java
@@ -16,7 +16,6 @@
 import org.ovirt.engine.core.common.businessentities.StorageType;
 import org.ovirt.engine.core.common.businessentities.VolumeType;
 import org.ovirt.engine.core.common.queries.ConfigurationValues;
-import org.ovirt.engine.core.compat.Version;
 import org.ovirt.engine.ui.frontend.AsyncQuery;
 import org.ovirt.engine.ui.frontend.Frontend;
 import org.ovirt.engine.ui.frontend.INewAsyncCallback;
@@ -135,8 +134,7 @@
     }
 
     @Override
-    public void updateInterface(Version clusterVersion) {
-        super.updateInterface(clusterVersion);
+    public void setDefaultInterface() {
         getDiskInterface().setSelectedItem(DiskInterface.VirtIO);
     }
 


-- 
To view, visit http://gerrit.ovirt.org/19638
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I07a1b9af5d8c7a0e4dc6f8cc40410b629d201fc4
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Daniel Erez <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to