Lior Vernia has uploaded a new change for review.

Change subject: webadmin: Moved provider discovery logic to popup
......................................................................

webadmin: Moved provider discovery logic to popup

Moved the logic for discovering provider networks from the
Providers/Networks subtab to the popup window itself.

Change-Id: I06a8acf5ecfdc0db8b2f0c73441c6367b5c3dc0f
Signed-off-by: Lior Vernia <lver...@redhat.com>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/DiscoverNetworksModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderNetworkListModel.java
2 files changed, 143 insertions(+), 75 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/29/15029/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/DiscoverNetworksModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/DiscoverNetworksModel.java
index 2822145..c699c65 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/DiscoverNetworksModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/DiscoverNetworksModel.java
@@ -1,15 +1,47 @@
 package org.ovirt.engine.ui.uicommonweb.models.providers;
 
+import java.util.ArrayList;
+import java.util.List;
+
+import org.ovirt.engine.core.common.action.AddNetworkStoragePoolParameters;
+import org.ovirt.engine.core.common.action.VdcActionParametersBase;
+import org.ovirt.engine.core.common.action.VdcActionType;
+import org.ovirt.engine.core.common.action.VdcReturnValueBase;
+import org.ovirt.engine.core.common.businessentities.Provider;
+import org.ovirt.engine.core.common.businessentities.StoragePool;
+import org.ovirt.engine.core.common.businessentities.network.Network;
+import org.ovirt.engine.core.compat.Guid;
+import org.ovirt.engine.core.compat.StringHelper;
+import org.ovirt.engine.ui.frontend.AsyncQuery;
+import org.ovirt.engine.ui.frontend.Frontend;
+import org.ovirt.engine.ui.frontend.INewAsyncCallback;
+import org.ovirt.engine.ui.uicommonweb.Linq;
+import org.ovirt.engine.ui.uicommonweb.UICommand;
+import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider;
 import org.ovirt.engine.ui.uicommonweb.models.ListModel;
 import org.ovirt.engine.ui.uicommonweb.models.Model;
+import org.ovirt.engine.ui.uicommonweb.models.SearchableListModel;
+import org.ovirt.engine.ui.uicompat.ConstantsManager;
+import org.ovirt.engine.ui.uicompat.FrontendMultipleActionAsyncResult;
+import org.ovirt.engine.ui.uicompat.IFrontendMultipleActionAsyncCallback;
 
+@SuppressWarnings("deprecation")
 public class DiscoverNetworksModel extends Model {
+
+    private static final String CMD_DISCOVER = "OnDiscover"; //$NON-NLS-1$
+    private static final String CMD_CANCEL = "Cancel"; //$NON-NLS-1$
+
+    private final SearchableListModel sourceListModel;
+    private final Provider provider;
+
+    private ListModel dataCenters;
+    private ListModel networkList;
 
     public ListModel getDataCenters() {
         return dataCenters;
     }
 
-    public void setDataCenters(ListModel dc) {
+    private void setDataCenters(ListModel dc) {
         this.dataCenters = dc;
     }
 
@@ -17,16 +49,121 @@
         return networkList;
     }
 
-    public void setNetworkList(ListModel networkList) {
+    private void setNetworkList(ListModel networkList) {
         this.networkList = networkList;
     }
 
-    private ListModel dataCenters;
-    private ListModel networkList;
+    public DiscoverNetworksModel(SearchableListModel sourceListModel, Provider 
provider) {
+        this.sourceListModel = sourceListModel;
+        this.provider = provider;
 
-    public DiscoverNetworksModel() {
+        
setTitle(ConstantsManager.getInstance().getConstants().discoverNetworksTitle());
+        setHashName("discover_networks"); //$NON-NLS-1$
+
         setDataCenters(new ListModel());
         setNetworkList(new ListModel());
+
+        UICommand tempVar = new UICommand(CMD_DISCOVER, this);
+        
tempVar.setTitle(ConstantsManager.getInstance().getConstants().importNetworksTitle());
+        tempVar.setIsDefault(true);
+        getCommands().add(tempVar);
+        UICommand tempVar2 = new UICommand(CMD_CANCEL, this);
+        
tempVar2.setTitle(ConstantsManager.getInstance().getConstants().cancel());
+        tempVar2.setIsCancel(true);
+        getCommands().add(tempVar2);
+
+        initBackendData();
+    }
+
+    private void initBackendData() {
+        final AsyncQuery networkQuery = new AsyncQuery();
+        networkQuery.asyncCallback = new INewAsyncCallback() {
+
+            @SuppressWarnings("unchecked")
+            @Override
+            public void onSuccess(Object model, Object returnValue) {
+                List<Network> networks = (ArrayList<Network>) returnValue;
+                List<ExternalNetwork> items = new ArrayList<ExternalNetwork>();
+                for (Network network : networks) {
+                    ExternalNetwork externalNetwork = new ExternalNetwork();
+                    externalNetwork.setNetwork(network);
+                    externalNetwork.setAttached(false);
+                    externalNetwork.setPublicUse(false);
+                    items.add(externalNetwork);
+                }
+                getNetworkList().setItems(items);
+
+                stopProgress();
+            }
+        };
+
+        final AsyncQuery dcQuery = new AsyncQuery();
+        dcQuery.asyncCallback = new INewAsyncCallback() {
+
+            @SuppressWarnings("unchecked")
+            @Override
+            public void onSuccess(Object model, Object returnValue) {
+                ArrayList<StoragePool> dataCenters = (ArrayList<StoragePool>) 
returnValue;
+                getDataCenters().setItems(dataCenters);
+                
getDataCenters().setSelectedItem(Linq.firstOrDefault(dataCenters));
+
+                AsyncDataProvider.GetExternalNetworkList(networkQuery, 
provider.getId());
+            }
+        };
+
+        startProgress(null);
+        AsyncDataProvider.getDataCenterList(dcQuery);
+    }
+
+    public void cancel() {
+        sourceListModel.setWindow(null);
+    }
+
+    @SuppressWarnings("unchecked")
+    public void onDiscover() {
+        ArrayList<VdcActionParametersBase> mulipleActionParameters =
+                new ArrayList<VdcActionParametersBase>();
+        Guid dcId = ((StoragePool) 
(getDataCenters().getSelectedItem())).getId();
+
+        for (ExternalNetwork externalNetwork : (List<ExternalNetwork>) 
getNetworkList().getItems()) {
+            if (externalNetwork.isAttached()) {
+                externalNetwork.getNetwork().setDataCenterId(dcId);
+                AddNetworkStoragePoolParameters params =
+                        new AddNetworkStoragePoolParameters(dcId, 
externalNetwork.getNetwork());
+                params.setPublicUse(externalNetwork.isPublicUse());
+                mulipleActionParameters.add(params);
+            }
+        }
+
+        startProgress(null);
+        Frontend.RunMultipleAction(VdcActionType.AddNetwork,
+                mulipleActionParameters,
+                new IFrontendMultipleActionAsyncCallback() {
+
+                    @Override
+                    public void executed(FrontendMultipleActionAsyncResult 
result) {
+                        stopProgress();
+                        List<VdcReturnValueBase> resList = 
result.getReturnValue();
+                        for (VdcReturnValueBase res : resList) {
+                            if (res == null || !res.getSucceeded()) {
+                                return;
+                            }
+                        }
+                        cancel();
+                        sourceListModel.getSearchCommand().execute();
+                    }
+                });
+    }
+
+    @Override
+    public void executeCommand(UICommand command) {
+        super.executeCommand(command);
+
+        if (StringHelper.stringsEqual(command.getName(), CMD_DISCOVER)) {
+            onDiscover();
+        } else if (StringHelper.stringsEqual(command.getName(), CMD_CANCEL)) {
+            cancel();
+        }
     }
 
 }
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderNetworkListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderNetworkListModel.java
index fcde0a1..2d2bc09 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderNetworkListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderNetworkListModel.java
@@ -11,7 +11,6 @@
 import org.ovirt.engine.core.common.businessentities.network.Network;
 import org.ovirt.engine.core.common.queries.IdQueryParameters;
 import org.ovirt.engine.core.common.queries.VdcQueryType;
-import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.compat.StringHelper;
 import org.ovirt.engine.ui.frontend.AsyncQuery;
 import org.ovirt.engine.ui.frontend.Frontend;
@@ -93,73 +92,7 @@
         if (getWindow() != null) {
             return;
         }
-
-        final DiscoverNetworksModel model = new DiscoverNetworksModel();
-
-        
model.setTitle(ConstantsManager.getInstance().getConstants().discoverNetworksTitle());
-        model.setHashName("discover_networks"); //$NON-NLS-1$
-
-        AsyncQuery _asyncQuery = new AsyncQuery();
-        _asyncQuery.asyncCallback = new INewAsyncCallback() {
-            @Override
-            public void onSuccess(Object innerModel, Object result) {
-                ArrayList<StoragePool> dataCenters = (ArrayList<StoragePool>) 
result;
-                model.getDataCenters().setItems(dataCenters);
-                
model.getDataCenters().setSelectedItem(Linq.firstOrDefault(dataCenters));
-
-                AsyncQuery _asyncQuery2 = new AsyncQuery();
-                _asyncQuery2.asyncCallback = new INewAsyncCallback() {
-                    @Override
-                    public void onSuccess(Object innerModel, Object result) {
-                        List<Network> networks = (ArrayList<Network>) result;
-                        List<ExternalNetwork> items = new 
ArrayList<ExternalNetwork>();
-                        for (Network network : networks) {
-                            ExternalNetwork externalNetwork = new 
ExternalNetwork();
-                            externalNetwork.setNetwork(network);
-                            externalNetwork.setAttached(false);
-                            externalNetwork.setPublicUse(false);
-                            items.add(externalNetwork);
-                        }
-                        model.getNetworkList().setItems(items);
-
-                        setWindow(model);
-
-                        UICommand tempVar = new UICommand("OnDiscover", 
ProviderNetworkListModel.this); //$NON-NLS-1$
-                        
tempVar.setTitle(ConstantsManager.getInstance().getConstants().importNetworksTitle());
-                        tempVar.setIsDefault(true);
-                        model.getCommands().add(tempVar);
-                        UICommand tempVar2 = new UICommand("Cancel", 
ProviderNetworkListModel.this); //$NON-NLS-1$
-                        
tempVar2.setTitle(ConstantsManager.getInstance().getConstants().cancel());
-                        tempVar2.setIsCancel(true);
-                        model.getCommands().add(tempVar2);
-                    }
-                };
-                AsyncDataProvider.GetExternalNetworkList(_asyncQuery2, 
getEntity().getId());
-            }
-        };
-        AsyncDataProvider.getDataCenterList(_asyncQuery);
-    }
-
-    public void onDiscover() {
-        DiscoverNetworksModel model = (DiscoverNetworksModel) getWindow();
-        ArrayList<VdcActionParametersBase> mulipleActionParameters =
-                new ArrayList<VdcActionParametersBase>();
-
-        Guid dcId = ((StoragePool) 
(model.getDataCenters().getSelectedItem())).getId();
-        for (ExternalNetwork externalNetwork : (List<ExternalNetwork>) 
model.getNetworkList().getItems()) {
-
-            if (externalNetwork.isAttached()) {
-                externalNetwork.getNetwork().setDataCenterId(dcId);
-                AddNetworkStoragePoolParameters params =
-                        new AddNetworkStoragePoolParameters(dcId, 
externalNetwork.getNetwork());
-                params.setPublicUse(externalNetwork.isPublicUse());
-                mulipleActionParameters.add(params);
-            }
-        }
-
-        Frontend.RunMultipleAction(VdcActionType.AddNetwork, 
mulipleActionParameters);
-
-        cancel();
+        setWindow(new DiscoverNetworksModel(this, getEntity()));
     }
 
     public void add() {
@@ -259,8 +192,6 @@
             add();
         } else if (command == getRemoveCommand()) {
             remove();
-        } else if (StringHelper.stringsEqual(command.getName(), "OnDiscover")) 
{ //$NON-NLS-1$
-            onDiscover();
         } else if (StringHelper.stringsEqual(command.getName(), "Cancel")) { 
//$NON-NLS-1$
             cancel();
         } else if (StringHelper.stringsEqual(command.getName(), "OnRemove")) { 
//$NON-NLS-1$


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

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

Reply via email to