Eliraz Levi has uploaded a new change for review.

Change subject: webadmin: adding sync all networks button
......................................................................

webadmin: adding sync all networks button

Adding new button to SubTabHostInterface. The
button will allow to sync all host's networks at
once by calling SyncAllHostNetworks Vdc command

Change-Id: Ic8ade04016cfe0cec9cb8190637dac7983ec262a
Bug-Url: https://bugzilla.redhat.com/1194297
Signed-off-by: Eliraz Levi <el...@redhat.com>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostInterfaceListModel.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostInterfaceView.java
3 files changed, 112 insertions(+), 69 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/24/42024/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostInterfaceListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostInterfaceListModel.java
index 3d7c122..f687c33 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostInterfaceListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostInterfaceListModel.java
@@ -14,6 +14,7 @@
 import org.ovirt.engine.core.common.action.UpdateNetworkToVdsParameters;
 import org.ovirt.engine.core.common.action.VdcActionType;
 import org.ovirt.engine.core.common.action.VdcReturnValueBase;
+import org.ovirt.engine.core.common.action.VdsActionParameters;
 import org.ovirt.engine.core.common.businessentities.VDS;
 import org.ovirt.engine.core.common.businessentities.VDSStatus;
 import 
org.ovirt.engine.core.common.businessentities.comparators.NameableComparator;
@@ -152,6 +153,16 @@
             onPropertyChanged(new 
PropertyChangedEventArgs("isSelectionAvailable")); //$NON-NLS-1$
         }
     }
+
+    public UICommand getSyncAllHostNetworksCommand() {
+        return privateSyncAllHostNetworksCommand;
+    }
+
+    public void setSyncAllHostNetworksCommand(UICommand 
privateSyncAllHostNetworkCommand) {
+        this.privateSyncAllHostNetworksCommand = 
privateSyncAllHostNetworkCommand;
+    }
+
+    private UICommand privateSyncAllHostNetworksCommand;
 
     @Override
     public Collection getItems()
@@ -334,6 +345,7 @@
         setDetachCommand(new UICommand("Detach", this)); //$NON-NLS-1$
         setSaveNetworkConfigCommand(new UICommand("SaveNetworkConfig", this)); 
//$NON-NLS-1$
         setSetupNetworksCommand(new UICommand("SetupNetworks", this)); 
//$NON-NLS-1$
+        setSyncAllHostNetworksCommand(new UICommand("SyncAllHostNetworks", 
this)); //$NON-NLS-1$
 
         updateActionAvailability();
     }
@@ -914,7 +926,8 @@
                     }
                     if (containsSelectBondingOpt == false)
                     {
-                        if (ObjectUtils.objectsEqual(item.getBondOptions(), 
AsyncDataProvider.getInstance().getDefaultBondingOption()))
+                        if (ObjectUtils.objectsEqual(item.getBondOptions(), 
AsyncDataProvider.getInstance()
+                                .getDefaultBondingOption()))
                         {
                             selectBondingOpt = defaultItem;
                         }
@@ -1003,79 +1016,82 @@
 
                 final StringBuilder tmpDefaultInterfaceName = new 
StringBuilder();
 
-                
AsyncDataProvider.getInstance().getInterfaceOptionsForEditNetwork(new 
AsyncQuery(this, new INewAsyncCallback() {
+                
AsyncDataProvider.getInstance().getInterfaceOptionsForEditNetwork(new 
AsyncQuery(this,
+                        new INewAsyncCallback() {
 
-                    @Override
-                    public void onSuccess(Object model, Object returnValue) {
-                        ArrayList<VdsNetworkInterface> interfaces = 
(ArrayList<VdsNetworkInterface>) returnValue;
+                            @Override
+                            public void onSuccess(Object model, Object 
returnValue) {
+                                ArrayList<VdsNetworkInterface> interfaces =
+                                        (ArrayList<VdsNetworkInterface>) 
returnValue;
 
-                        String defaultInterfaceName = 
tmpDefaultInterfaceName.toString();
-                        managementModel.getInterface().setItems(interfaces);
-                        managementModel.getInterface()
-                                
.setSelectedItem(Linq.findInterfaceByNetworkName(interfaces, 
defaultInterfaceName));
-                        if (item.getBonded() != null && 
item.getBonded().equals(true))
-                        {
-                            
managementModel.getInterface().setTitle(ConstantsManager.getInstance()
-                                    .getConstants()
-                                    .interfaceListTitle());
-                            managementModel.getInterface()
-                                    .getSelectedItemChangedEvent()
-                                    .addListener(hostInterfaceListModel);
-                        }
-                        
managementModel.getCheckConnectivity().setIsAvailable(true);
-                        
managementModel.getCheckConnectivity().setIsChangeable(true);
+                                String defaultInterfaceName = 
tmpDefaultInterfaceName.toString();
+                                
managementModel.getInterface().setItems(interfaces);
+                                managementModel.getInterface()
+                                        
.setSelectedItem(Linq.findInterfaceByNetworkName(interfaces,
+                                                defaultInterfaceName));
+                                if (item.getBonded() != null && 
item.getBonded().equals(true))
+                                {
+                                    
managementModel.getInterface().setTitle(ConstantsManager.getInstance()
+                                            .getConstants()
+                                            .interfaceListTitle());
+                                    managementModel.getInterface()
+                                            .getSelectedItemChangedEvent()
+                                            
.addListener(hostInterfaceListModel);
+                                }
+                                
managementModel.getCheckConnectivity().setIsAvailable(true);
+                                
managementModel.getCheckConnectivity().setIsChangeable(true);
                         
managementModel.getCheckConnectivity().setEntity(item.getIsManagement()); // 
currently, always
-                                                                               
                   // should be
-                                                                               
                   // true
+                                                                               
                           // should be
+                                                                               
                           // true
 
-                        
managementModel.getBondingOptions().setIsAvailable(false);
-                        if (item.getBonded() != null && 
item.getBonded().equals(true))
-                        {
-                            
managementModel.getBondingOptions().setIsAvailable(true);
-                            Map.Entry<String, EntityModel<String>> defaultItem 
= null;
-                            RefObject<Map.Entry<String, EntityModel<String>>> 
tempRef_defaultItem =
-                                    new RefObject<Map.Entry<String, 
EntityModel<String>>>(defaultItem);
-                            ArrayList<Map.Entry<String, EntityModel<String>>> 
list =
-                                    
AsyncDataProvider.getInstance().getBondingOptionList(tempRef_defaultItem);
-                            defaultItem = tempRef_defaultItem.argvalue;
-                            Map.Entry<String, EntityModel<String>> 
selectBondingOpt =
-                                    new KeyValuePairCompat<String, 
EntityModel<String>>();
-                            boolean containsSelectBondingOpt = false;
-                            managementModel.getBondingOptions().setItems(list);
-                            for (int i = 0; i < list.size(); i++)
-                            {
-                                if 
(ObjectUtils.objectsEqual(list.get(i).getKey(), item.getBondOptions()))
+                                
managementModel.getBondingOptions().setIsAvailable(false);
+                                if (item.getBonded() != null && 
item.getBonded().equals(true))
                                 {
-                                    selectBondingOpt = list.get(i);
-                                    containsSelectBondingOpt = true;
-                                    break;
+                                    
managementModel.getBondingOptions().setIsAvailable(true);
+                                    Map.Entry<String, EntityModel<String>> 
defaultItem = null;
+                                    RefObject<Map.Entry<String, 
EntityModel<String>>> tempRef_defaultItem =
+                                            new RefObject<Map.Entry<String, 
EntityModel<String>>>(defaultItem);
+                                    ArrayList<Map.Entry<String, 
EntityModel<String>>> list =
+                                            
AsyncDataProvider.getInstance().getBondingOptionList(tempRef_defaultItem);
+                                    defaultItem = tempRef_defaultItem.argvalue;
+                                    Map.Entry<String, EntityModel<String>> 
selectBondingOpt =
+                                            new KeyValuePairCompat<String, 
EntityModel<String>>();
+                                    boolean containsSelectBondingOpt = false;
+                                    
managementModel.getBondingOptions().setItems(list);
+                                    for (int i = 0; i < list.size(); i++)
+                                    {
+                                        if 
(ObjectUtils.objectsEqual(list.get(i).getKey(), item.getBondOptions()))
+                                        {
+                                            selectBondingOpt = list.get(i);
+                                            containsSelectBondingOpt = true;
+                                            break;
+                                        }
+                                    }
+                                    if (containsSelectBondingOpt == false)
+                                    {
+                                        if 
(ObjectUtils.objectsEqual(item.getBondOptions(),
+                                                
AsyncDataProvider.getInstance().getDefaultBondingOption()))
+                                        {
+                                            selectBondingOpt = defaultItem;
+                                        }
+                                        else
+                                        {
+                                            selectBondingOpt = 
list.get(list.size() - 1);
+                                            EntityModel<String> entityModel = 
selectBondingOpt.getValue();
+                                            
entityModel.setEntity(item.getBondOptions());
+                                        }
+                                    }
+                                    
managementModel.getBondingOptions().setSelectedItem(selectBondingOpt);
                                 }
+
+                                UICommand tempVar =
+                                        
UICommand.createDefaultOkUiCommand("OnEditManagementNetworkConfirmation", 
hostInterfaceListModel); //$NON-NLS-1$
+                                managementModel.getCommands().add(tempVar);
+                                UICommand tempVar2 = 
UICommand.createCancelUiCommand("Cancel", hostInterfaceListModel); //$NON-NLS-1$
+                                managementModel.getCommands().add(tempVar2);
+
                             }
-                            if (containsSelectBondingOpt == false)
-                            {
-                                if 
(ObjectUtils.objectsEqual(item.getBondOptions(),
-                                                             
AsyncDataProvider.getInstance().getDefaultBondingOption()))
-                                {
-                                    selectBondingOpt = defaultItem;
-                                }
-                                else
-                                {
-                                    selectBondingOpt = list.get(list.size() - 
1);
-                                    EntityModel<String> entityModel = 
selectBondingOpt.getValue();
-                                    
entityModel.setEntity(item.getBondOptions());
-                                }
-                            }
-                            
managementModel.getBondingOptions().setSelectedItem(selectBondingOpt);
-                        }
-
-                        UICommand tempVar =
-                                
UICommand.createDefaultOkUiCommand("OnEditManagementNetworkConfirmation", 
hostInterfaceListModel); //$NON-NLS-1$
-                        managementModel.getCommands().add(tempVar);
-                        UICommand tempVar2 = 
UICommand.createCancelUiCommand("Cancel", hostInterfaceListModel); //$NON-NLS-1$
-                        managementModel.getCommands().add(tempVar2);
-
-                    }
-                }),
+                        }),
                         getOriginalItems(),
                         item,
                         networkToEdit,
@@ -1464,7 +1480,8 @@
         {
             if (interfaceWithNetwork != null && 
interfaceWithNetwork.getIsManagement())
             {
-                UICommand tempVar2 = 
UICommand.createDefaultOkUiCommand("OnEditManagementNetworkConfirmation_Bond", 
hostInterfaceListModel); //$NON-NLS-1$
+                UICommand tempVar2 =
+                        
UICommand.createDefaultOkUiCommand("OnEditManagementNetworkConfirmation_Bond", 
hostInterfaceListModel); //$NON-NLS-1$
                 innerBondModel.getCommands().add(tempVar2);
                 UICommand tempVar3 = UICommand.createCancelUiCommand("Cancel", 
hostInterfaceListModel); //$NON-NLS-1$
                 innerBondModel.getCommands().add(tempVar3);
@@ -1608,7 +1625,7 @@
 
             AddBondParameters parameters =
                     new AddBondParameters(host.getId(),
-                                          model.getBond().getSelectedItem(),
+                            model.getBond().getSelectedItem(),
                             net,
                             nics);
             Map.Entry<String, EntityModel<String>> bondingOption;
@@ -2217,6 +2234,19 @@
         return false;
     }
 
+    public void syncAllHostNetworks() {
+        Frontend.getInstance().runAction(VdcActionType.SyncAllHostNetworks,
+                new VdsActionParameters(getEntity().getId()),
+                new IFrontendActionAsyncCallback() {
+                    @Override
+                    public void executed(FrontendActionAsyncResult result) {
+
+                    }
+                },
+                null);
+
+    }
+
     @Override
     public void executeCommand(UICommand command)
     {
@@ -2246,6 +2276,9 @@
         {
             saveNetworkConfig();
         }
+        else if (command == getSyncAllHostNetworksCommand()) {
+            syncAllHostNetworks();
+        }
 
         else if ("OnSave".equals(command.getName())) //$NON-NLS-1$
         {
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
index bce3257..6f0b46b 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
@@ -2383,6 +2383,9 @@
     @DefaultStringValue("Setup Host Networks")
     String setupHostNetworksInterface();
 
+    @DefaultStringValue("Sync All Networks")
+    String syncAllHostNetworks();
+
     @DefaultStringValue("Date Created")
     String dateCreatedInterface();
 
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostInterfaceView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostInterfaceView.java
index ac84584..b73a512 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostInterfaceView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/host/SubTabHostInterfaceView.java
@@ -143,6 +143,13 @@
             }
         });
 
+        table.addActionButton(new 
WebAdminButtonDefinition<HostInterfaceLineModel>(constants.syncAllHostNetworks())
 {
+            @Override
+            protected UICommand resolveCommand() {
+                return getDetailModel().getSyncAllHostNetworksCommand();
+            }
+        });
+
         // The table items are in the form, so the table itself will never 
have items, so don't display the 'empty
         // message'
         table.table.setEmptyTableWidget(null);


-- 
To view, visit https://gerrit.ovirt.org/42024
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic8ade04016cfe0cec9cb8190637dac7983ec262a
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Eliraz Levi <el...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to