Alona Kaplan has uploaded a new change for review.

Change subject: webadmin: When vnic's property become disabled again it should 
be reseted
......................................................................

webadmin: When vnic's property become disabled again it should be reseted

Some vnic's properties update is blocked if the vm is up and the vnic is
plugged.
Opening the update vnic dialog and changing the vnic to unplugged,
unblocks these properties.
Changing the vnic back to plugged should revert the changes done on these
properties.

Change-Id: I39d70d8948f32e8e6f45f2d1eba5a3d26bb04975
Bug-Url: https://bugzilla.redhat.com/909852
Signed-off-by: Alona Kaplan <[email protected]>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/BaseEditVmInterfaceModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/EditVmInterfaceModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewVmInterfaceModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmInterfaceModel.java
4 files changed, 66 insertions(+), 23 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/30/11930/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/BaseEditVmInterfaceModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/BaseEditVmInterfaceModel.java
index 030e0ba..f67037b 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/BaseEditVmInterfaceModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/BaseEditVmInterfaceModel.java
@@ -1,6 +1,7 @@
 package org.ovirt.engine.ui.uicommonweb.models.vms;
 
 import java.util.ArrayList;
+import java.util.List;
 
 import org.ovirt.engine.core.common.action.AddVmInterfaceParameters;
 import org.ovirt.engine.core.common.action.VdcActionParametersBase;
@@ -43,22 +44,12 @@
                         VmInterfaceType.forValue(selectedNicType) == 
VmInterfaceType.rtl8139_pv);
         getNicType().setItems(nicTypes);
 
-        if (selectedNicType == null || 
!nicTypes.contains(VmInterfaceType.forValue(selectedNicType)))
-        {
-            selectedNicType = 
AsyncDataProvider.GetDefaultNicType(getVm().getOs()).getValue();
-        }
-
-        
getNicType().setSelectedItem(VmInterfaceType.forValue(selectedNicType));
+        initSelectedType();
 
         getName().setEntity(getNic().getName());
         initMAC();
 
-        if (hotUpdateSupported) {
-            getLinked().setEntity(getNic().isLinked());
-        } else {
-            getLinked().setEntity(true);
-            getLinked().setIsAvailable(false);
-        }
+        initLinked();
 
         initPortMirroring();
         initNetworks();
@@ -91,7 +82,9 @@
     }
 
     @Override
-    protected void initSelectedNetwork(ArrayList<Network> networks) {
+    protected void initSelectedNetwork() {
+        List<Network> networks = (List<Network>) getNetwork().getItems();
+        networks = networks == null ? new ArrayList<Network>() : networks;
         for (Network a : networks)
         {
             String networkName = a == null ? null : a.getName();
@@ -112,6 +105,20 @@
     }
 
     @Override
+    protected void initSelectedType() {
+        Integer selectedNicType = getNic().getType();
+        ArrayList<VmInterfaceType> nicTypes = (ArrayList<VmInterfaceType>) 
getNicType().getItems();
+        nicTypes = nicTypes == null ? new ArrayList<VmInterfaceType>() : 
nicTypes;
+
+        if (selectedNicType == null || 
!nicTypes.contains(VmInterfaceType.forValue(selectedNicType)))
+        {
+            selectedNicType = 
AsyncDataProvider.GetDefaultNicType(getVm().getOs()).getValue();
+        }
+
+        
getNicType().setSelectedItem(VmInterfaceType.forValue(selectedNicType));
+    }
+
+    @Override
     protected void initMAC() {
         getMAC().setIsChangable(false);
         getMAC().setEntity(getNic().getMacAddress());
@@ -124,6 +131,16 @@
     }
 
     @Override
+    protected void initLinked() {
+        if (hotUpdateSupported) {
+            getLinked().setEntity(getNic().isLinked());
+        } else {
+            getLinked().setEntity(true);
+            getLinked().setIsAvailable(false);
+        }
+    }
+
+    @Override
     protected VdcActionParametersBase 
createVdcActionParameters(VmNetworkInterface nicToSave) {
         return new AddVmInterfaceParameters(getVm().getId(), nicToSave);
     }
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/EditVmInterfaceModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/EditVmInterfaceModel.java
index e10d758..8d645e1 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/EditVmInterfaceModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/EditVmInterfaceModel.java
@@ -53,6 +53,12 @@
                     .add(ConstantsManager.getInstance()
                             .getConstants()
                             .hotPortMirroringUpdateNotSupported());
+
+            initSelectedType();
+            getEnableMac().setEntity(false);
+            initMAC();
+            initPortMirroring();
+
         }
 
         getNicType().setIsChangable(!plug);
@@ -81,6 +87,7 @@
                                 .getConstants()
                                 
.hotLinkStateUpdateNotSupportedWithPortMirroring());
                 getLinked().setIsChangable(false);
+                initLinked();
                 return;
             }
         }
@@ -103,6 +110,7 @@
                                 .getConstants()
                                 
.hotNetworkUpdateNotSupportedWithPortMirroring());
                 getNetwork().setIsChangable(false);
+                initSelectedNetwork();
                 return;
             }
         } else if (isVmUp() && isPlugged) {
@@ -110,6 +118,7 @@
                     .getMessages()
                     
.hotNetworkUpdateNotSupported(getClusterCompatibilityVersion().toString()));
             getNetwork().setIsChangable(false);
+            initSelectedNetwork();
             return;
         }
     }
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewVmInterfaceModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewVmInterfaceModel.java
index 71b430d..259c664 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewVmInterfaceModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewVmInterfaceModel.java
@@ -1,6 +1,7 @@
 package org.ovirt.engine.ui.uicommonweb.models.vms;
 
 import java.util.ArrayList;
+import java.util.List;
 
 import org.ovirt.engine.core.common.action.AddVmInterfaceParameters;
 import org.ovirt.engine.core.common.action.VdcActionParametersBase;
@@ -37,7 +38,7 @@
     protected void init() {
         String newNicName = AsyncDataProvider.GetNewNicName(getVmNicList());
         
getNicType().setItems(AsyncDataProvider.GetNicTypeList(getVm().getOs(), false));
-        
getNicType().setSelectedItem(AsyncDataProvider.GetDefaultNicType(getVm().getOs()));
+        initSelectedType();
         getName().setEntity(newNicName);
         initMAC();
 
@@ -49,12 +50,7 @@
         getPlugged().setIsChangable(hotPlugSupported);
         getPlugged().setEntity(true);
 
-        if (hotUpdateSupported) {
-            getLinked().setEntity(true);
-        } else {
-            getLinked().setEntity(true);
-            getLinked().setIsAvailable(false);
-        }
+        initLinked();
 
         initPortMirroring();
         initNetworks();
@@ -77,7 +73,9 @@
     }
 
     @Override
-    protected void initSelectedNetwork(ArrayList<Network> networks) {
+    protected void initSelectedNetwork() {
+        List<Network> networks = (List<Network>) getNetwork().getItems();
+        networks = networks == null ? new ArrayList<Network>() : networks;
         for (Network network : networks) {
             if (ENGINE_NETWORK_NAME.equals(network.getName())) {
                 getNetwork().setSelectedItem(network);
@@ -85,6 +83,11 @@
             }
         }
         getNetwork().setSelectedItem(networks.size() > 0 ? networks.get(0) : 
null);
+    }
+
+    @Override
+    protected void initSelectedType() {
+        
getNicType().setSelectedItem(AsyncDataProvider.GetDefaultNicType(getVm().getOs()));
     }
 
     @Override
@@ -100,6 +103,16 @@
     }
 
     @Override
+    protected void initLinked() {
+        if (hotUpdateSupported) {
+            getLinked().setEntity(true);
+        } else {
+            getLinked().setEntity(true);
+            getLinked().setIsAvailable(false);
+        }
+    }
+
+    @Override
     protected VdcActionParametersBase 
createVdcActionParameters(VmNetworkInterface nicToSave) {
         return new AddVmInterfaceParameters(getVm().getId(), nicToSave);
     }
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmInterfaceModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmInterfaceModel.java
index f42f2f9..df790a4 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmInterfaceModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmInterfaceModel.java
@@ -455,7 +455,7 @@
                 }
 
                 getNetwork().setItems(networks);
-                initSelectedNetwork(networks);
+                initSelectedNetwork();
 
                 // fetch completed
                 okCommand.setIsExecutionAllowed(true);
@@ -477,7 +477,9 @@
         getCommands().add(cancelCommand);
     }
 
-    protected abstract void initSelectedNetwork(ArrayList<Network> networks);
+    protected abstract void initSelectedNetwork();
+
+    protected abstract void initSelectedType();
 
     @Override
     public void ExecuteCommand(UICommand command)
@@ -498,6 +500,8 @@
 
     protected abstract void initPortMirroring();
 
+    protected abstract void initLinked();
+
     protected void onSaveMAC(VmNetworkInterface nicToSave) {
         nicToSave.setMacAddress(getMAC().getIsChangable() ? 
(getMAC().getEntity() == null ? null
                 : ((String) (getMAC().getEntity())).toLowerCase()) : 
getDefaultMacAddress());


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

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

Reply via email to