Lior Vernia has uploaded a new change for review.

Change subject: webadmin: Use right command when updating cluster network
......................................................................

webadmin: Use right command when updating cluster network

Instead of calling AttachNetworkToVdsGroup, UpdateNetworkOnCluster is
now called in cases where fitting.

Change-Id: I503a277cdcba548e1c98983306511dbff7cc07bb
Signed-off-by: Lior Vernia <[email protected]>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Cloner.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkListModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkManageModel.java
3 files changed, 30 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/27/22927/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Cloner.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Cloner.java
index 0ca9e64..6b36465 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Cloner.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Cloner.java
@@ -330,6 +330,7 @@
     {
         NetworkCluster obj = new NetworkCluster();
 
+        obj.setId(instance.getId());
         obj.setStatus(instance.getStatus());
         obj.setDisplay(instance.isDisplay());
         obj.setRequired(instance.isRequired());
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkListModel.java
index 40f3ccb..a4c8a6e 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkListModel.java
@@ -10,6 +10,7 @@
 import org.ovirt.engine.core.common.businessentities.StoragePool;
 import org.ovirt.engine.core.common.businessentities.VDSGroup;
 import org.ovirt.engine.core.common.businessentities.network.Network;
+import org.ovirt.engine.core.common.businessentities.network.NetworkClusterId;
 import org.ovirt.engine.core.common.businessentities.network.NetworkStatus;
 import org.ovirt.engine.core.common.queries.IdQueryParameters;
 import org.ovirt.engine.core.common.queries.VdcQueryReturnValue;
@@ -126,6 +127,9 @@
                 SearchableListModel searchableListModel = 
(SearchableListModel) model;
                 ArrayList<Network> newItems = (ArrayList<Network>) 
((VdcQueryReturnValue) ReturnValue).getReturnValue();
                 Collections.sort(newItems, new Linq.NetworkComparator());
+                for (Network network : newItems) {
+                    network.getCluster().setId(new 
NetworkClusterId(getEntity().getId(), network.getId()));
+                }
                 searchableListModel.setItems(newItems);
             }
         };
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkManageModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkManageModel.java
index b32135d..af12fac 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkManageModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterNetworkManageModel.java
@@ -2,6 +2,7 @@
 
 import java.util.ArrayList;
 import org.ovirt.engine.core.common.action.AttachNetworkToVdsGroupParameter;
+import org.ovirt.engine.core.common.action.NetworkClusterParameters;
 import org.ovirt.engine.core.common.action.VdcActionParametersBase;
 import org.ovirt.engine.core.common.action.VdcActionType;
 import org.ovirt.engine.core.common.businessentities.network.NetworkCluster;
@@ -20,6 +21,7 @@
     private final UICommand cancelCommand;
     private boolean needsAttach;
     private boolean needsDetach;
+    private boolean needsUpdate;
 
     public ClusterNetworkManageModel(SearchableListModel<?> sourceListModel) {
         this.sourceListModel = sourceListModel;
@@ -85,6 +87,7 @@
         Iterable<ClusterNetworkModel> manageList = getItems();
         final ArrayList<VdcActionParametersBase> toAttach = new 
ArrayList<VdcActionParametersBase>();
         final ArrayList<VdcActionParametersBase> toDetach = new 
ArrayList<VdcActionParametersBase>();
+        final ArrayList<VdcActionParametersBase> toUpdate = new 
ArrayList<VdcActionParametersBase>();
 
         for (ClusterNetworkModel manageModel : manageList) {
             NetworkCluster networkCluster = 
manageModel.getOriginalNetworkCluster();
@@ -100,21 +103,29 @@
                         || (manageModel.isDisplayNetwork() != 
networkCluster.isDisplay())
                         || (manageModel.isMigrationNetwork() != 
networkCluster.isMigration())) {
                     needsUpdate = true;
+                    networkCluster.setRequired(manageModel.isRequired());
+                    networkCluster.setDisplay(manageModel.isDisplayNetwork());
+                    
networkCluster.setMigration(manageModel.isMigrationNetwork());
                 }
             }
 
-            if (needsAttach || needsUpdate) {
+            if (needsAttach) {
                 toAttach.add(new 
AttachNetworkToVdsGroupParameter(manageModel.getCluster(), 
manageModel.getEntity()));
             }
 
             if (needsDetach) {
                 toDetach.add(new 
AttachNetworkToVdsGroupParameter(manageModel.getCluster(), 
manageModel.getEntity()));
             }
+
+            if (needsUpdate) {
+                toUpdate.add(new NetworkClusterParameters(networkCluster));
+            }
         }
 
         startProgress(null);
         needsAttach = !toAttach.isEmpty();
         needsDetach = !toDetach.isEmpty();
+        needsUpdate = !toUpdate.isEmpty();
         if (needsAttach) {
             
Frontend.getInstance().runMultipleAction(VdcActionType.AttachNetworkToVdsGroup,
                     toAttach,
@@ -139,11 +150,23 @@
                 }
             });
         }
+        if (needsUpdate) {
+            
Frontend.getInstance().runMultipleAction(VdcActionType.UpdateNetworkOnCluster,
+                    toUpdate,
+                    new IFrontendMultipleActionAsyncCallback() {
+
+                @Override
+                public void executed(FrontendMultipleActionAsyncResult result) 
{
+                    needsUpdate = false;
+                    doFinish();
+                }
+            });
+        }
         doFinish();
     }
 
     private void doFinish() {
-        if (needsAttach || needsDetach) {
+        if (needsAttach || needsDetach || needsUpdate) {
             return;
         }
 


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

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

Reply via email to