Lior Vernia has uploaded a new change for review.

Change subject: webadmin: Created model for Remove Provider Networks popup
......................................................................

webadmin: Created model for Remove Provider Networks popup

Moved all the provider network removal logic into said class.

Change-Id: Ifd86ef4149fe4886fba10c74bc15d243e90bdc15
Signed-off-by: Lior Vernia <lver...@redhat.com>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderNetworkListModel.java
A 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderRemoveNetworkModel.java
M 
frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Constants.java
3 files changed, 107 insertions(+), 62 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/31/15031/1

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 6cdeadf..ea60154 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
@@ -3,22 +3,12 @@
 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.businessentities.Provider;
-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.StringHelper;
-import org.ovirt.engine.ui.frontend.Frontend;
-import org.ovirt.engine.ui.uicommonweb.Linq;
 import org.ovirt.engine.ui.uicommonweb.UICommand;
-import org.ovirt.engine.ui.uicommonweb.models.ConfirmationModel;
 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;
 
 public class ProviderNetworkListModel extends SearchableListModel {
 
@@ -97,56 +87,12 @@
         setWindow(new ProviderNewNetworkModel(this));
     }
 
-    public void remove() {
-        if (getWindow() != null) {
+    public void remove()
+    {
+        if (getConfirmWindow() != null) {
             return;
         }
-
-        ConfirmationModel model = new ConfirmationModel();
-        setWindow(model);
-        
model.setTitle(ConstantsManager.getInstance().getConstants().removeProviderTitle());
-        model.setHashName("remove_provider"); //$NON-NLS-1$
-        
model.setMessage(ConstantsManager.getInstance().getConstants().providersMsg());
-
-        ArrayList<String> list = new ArrayList<String>();
-        for (Network a : Linq.<Network> cast(getSelectedItems())) {
-            list.add(a.getName());
-        }
-        model.setItems(list);
-
-        UICommand tempVar = new UICommand("OnRemove", this); //$NON-NLS-1$
-        tempVar.setTitle(ConstantsManager.getInstance().getConstants().ok());
-        tempVar.setIsDefault(true);
-        model.getCommands().add(tempVar);
-        UICommand tempVar2 = new UICommand("Cancel", this); //$NON-NLS-1$
-        
tempVar2.setTitle(ConstantsManager.getInstance().getConstants().cancel());
-        tempVar2.setIsCancel(true);
-        model.getCommands().add(tempVar2);
-    }
-
-    public void onRemove() {
-        ConfirmationModel model = (ConfirmationModel) getWindow();
-
-        if (model.getProgress() != null) {
-            return;
-        }
-
-        ArrayList<VdcActionParametersBase> parameters = new 
ArrayList<VdcActionParametersBase>();
-        for (Network network : Linq.<Network> cast(getSelectedItems())) {
-            parameters.add(new 
AddNetworkStoragePoolParameters(network.getDataCenterId().getValue(), network));
-        }
-
-        model.startProgress(null);
-
-        Frontend.RunMultipleAction(VdcActionType.RemoveNetwork, parameters,
-                new IFrontendMultipleActionAsyncCallback() {
-                    @Override
-                    public void executed(FrontendMultipleActionAsyncResult 
result) {
-                        stopProgress();
-                        cancel();
-
-                    }
-                }, model);
+        setConfirmWindow(new ProviderRemoveNetworkModel(this));
     }
 
     @Override
@@ -173,10 +119,6 @@
             add();
         } else if (command == getRemoveCommand()) {
             remove();
-        } else if (StringHelper.stringsEqual(command.getName(), "Cancel")) { 
//$NON-NLS-1$
-            cancel();
-        } else if (StringHelper.stringsEqual(command.getName(), "OnRemove")) { 
//$NON-NLS-1$
-            onRemove();
         }
     }
 
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderRemoveNetworkModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderRemoveNetworkModel.java
new file mode 100644
index 0000000..52b299f
--- /dev/null
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderRemoveNetworkModel.java
@@ -0,0 +1,94 @@
+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.network.Network;
+import org.ovirt.engine.core.compat.StringHelper;
+import org.ovirt.engine.ui.frontend.Frontend;
+import org.ovirt.engine.ui.uicommonweb.UICommand;
+import org.ovirt.engine.ui.uicommonweb.models.ConfirmationModel;
+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 ProviderRemoveNetworkModel extends ConfirmationModel {
+
+    private static final String CMD_REMOVE = "OnRemove"; //$NON-NLS-1$
+    private static final String CMD_CANCEL = "Cancel"; //$NON-NLS-1$
+
+    private final SearchableListModel sourceListModel;
+    private final List<Network> networks;
+
+    @SuppressWarnings("unchecked")
+    public ProviderRemoveNetworkModel(SearchableListModel sourceListModel) {
+        this.sourceListModel = sourceListModel;
+        networks = (List<Network>) sourceListModel.getSelectedItems();
+
+        
setTitle(ConstantsManager.getInstance().getConstants().providerRemoveNetworksTitle());
+        setHashName("remove_provider_network"); //$NON-NLS-1$
+        
setMessage(ConstantsManager.getInstance().getConstants().providerNetworksMsg());
+        
setNote(ConstantsManager.getInstance().getConstants().providerRemoveNote());
+
+        List<String> networkNames = new ArrayList<String>();
+        for (Network network : networks) {
+            networkNames.add(network.getName());
+        }
+        setItems(networkNames);
+
+        UICommand tempVar = new UICommand(CMD_REMOVE, this);
+        tempVar.setTitle(ConstantsManager.getInstance().getConstants().ok());
+        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);
+    }
+
+    private void cancel() {
+        sourceListModel.setConfirmWindow(null);
+    }
+
+    public void onRemove() {
+        ArrayList<VdcActionParametersBase> parameters = new 
ArrayList<VdcActionParametersBase>();
+        for (Network network : networks) {
+            parameters.add(new 
AddNetworkStoragePoolParameters(network.getDataCenterId().getValue(), network));
+        }
+
+        startProgress(null);
+        Frontend.RunMultipleAction(VdcActionType.RemoveNetwork, parameters, 
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_REMOVE)) {
+            onRemove();
+        } else if (StringHelper.stringsEqual(command.getName(), CMD_CANCEL)) {
+            cancel();
+        }
+    }
+
+}
diff --git 
a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Constants.java
 
b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Constants.java
index 0af28cc..a79dcec 100644
--- 
a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Constants.java
+++ 
b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Constants.java
@@ -1870,9 +1870,18 @@
     @DefaultStringValue("Provider(s)")
     String providersMsg();
 
+    @DefaultStringValue("Provider Network(s)")
+    String providerNetworksMsg();
+
     @DefaultStringValue("Discover Networks")
     String discoverNetworksTitle();
 
+    @DefaultStringValue("Remove Provider Network(s)")
+    String providerRemoveNetworksTitle();
+
+    @DefaultStringValue("This will NOT damage the data on the actual provider, 
just remove its representation in the system.")
+    String providerRemoveNote();
+
     @DefaultStringValue("Import")
     String importNetworksTitle();
 }


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ifd86ef4149fe4886fba10c74bc15d243e90bdc15
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