Lior Vernia has uploaded a new change for review.

Change subject: webadmin: Don't display DCs that imported external network
......................................................................

webadmin: Don't display DCs that imported external network

Changed the import networks dialog so that the choice of DC to import
an external network to, will only include DCs where the network
doesn't exist yet.

Change-Id: I21305c9b21d44c441fc5c6a7d54d162d30ca6248
Bug-Url: https://bugzilla.redhat.com/989909
Signed-off-by: Lior Vernia <[email protected]>
---
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/ImportNetworksModel.java
3 files changed, 22 insertions(+), 13 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/82/19982/1

diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
index 052e0d4..ac1767a 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
@@ -72,7 +72,6 @@
     GetNetworkById,
 
     // External network providers
-    GetAllExternalNetworksOnProvider,
     MapExternalNetworksToDataCenters,
 
     // VdsGroups
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
index 8f360fc..a3a21f7 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
@@ -10,6 +10,8 @@
 import java.util.List;
 import java.util.Map;
 import java.util.MissingResourceException;
+import java.util.Set;
+
 import org.ovirt.engine.core.common.AuditLogType;
 import org.ovirt.engine.core.common.EventNotificationEntity;
 import org.ovirt.engine.core.common.TimeZoneType;
@@ -3291,19 +3293,17 @@
         }
     }
 
-    public static void GetExternalNetworkList(AsyncQuery aQuery, Guid 
providerId) {
+    public static void mapExternalNetworksToDataCenters(AsyncQuery aQuery, 
Guid providerId) {
         aQuery.converterCallback = new IAsyncConverter() {
             @Override
-            public Object Convert(Object source, AsyncQuery _asyncQuery)
-            {
-                if (source == null)
-                {
-                    return new ArrayList<Network>();
+            public Object Convert(Object source, AsyncQuery _asyncQuery) {
+                if (source == null) {
+                    return new HashMap<Network, Set<Guid>>();
                 }
                 return source;
             }
         };
-        Frontend.RunQuery(VdcQueryType.GetAllExternalNetworksOnProvider,
+        Frontend.RunQuery(VdcQueryType.MapExternalNetworksToDataCenters,
                 new IdQueryParameters(providerId),
                 aQuery);
     }
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/ImportNetworksModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/ImportNetworksModel.java
index d9b91d2..c721031 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/ImportNetworksModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/ImportNetworksModel.java
@@ -6,6 +6,7 @@
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 import org.ovirt.engine.core.common.action.AddNetworkStoragePoolParameters;
 import org.ovirt.engine.core.common.action.AttachNetworkToVdsGroupParameter;
@@ -128,15 +129,24 @@
 
             @Override
             public void onSuccess(Object model, Object returnValue) {
-                Iterable<Network> networks = (Iterable<Network>) returnValue;
+                Map<Network, Set<Guid>> externalNetworkToDataCenters = 
(Map<Network, Set<Guid>>) returnValue;
                 List<ExternalNetwork> items = new 
LinkedList<ExternalNetwork>();
-                for (Network network : networks) {
+                for (Network network : externalNetworkToDataCenters.keySet()) {
                     ExternalNetwork externalNetwork = new ExternalNetwork();
                     externalNetwork.setNetwork(network);
                     externalNetwork.setDisplayName(network.getName());
-                    externalNetwork.getDataCenters().setItems(dataCenters);
-                    
externalNetwork.getDataCenters().setSelectedItem(Linq.firstOrDefault(dataCenters));
                     externalNetwork.setPublicUse(true);
+
+                    Set<Guid> attachedDataCenters = 
externalNetworkToDataCenters.get(network);
+                    List<StoragePool> availableDataCenters = new 
LinkedList<StoragePool>();
+                    for (StoragePool dc : dataCenters) {
+                        if (!attachedDataCenters.contains(dc.getId())) {
+                            availableDataCenters.add(dc);
+                        }
+                    }
+                    
externalNetwork.getDataCenters().setItems(availableDataCenters);
+                    
externalNetwork.getDataCenters().setSelectedItem(Linq.firstOrDefault(availableDataCenters));
+
                     items.add(externalNetwork);
                 }
                 Collections.sort(items, new Linq.ExternalNetworkComparator());
@@ -155,7 +165,7 @@
                 dataCenters.addAll((Collection<StoragePool>) returnValue);
                 Collections.sort(dataCenters, new NameableComparator());
 
-                AsyncDataProvider.GetExternalNetworkList(networkQuery, 
provider.getId());
+                
AsyncDataProvider.mapExternalNetworksToDataCenters(networkQuery, 
provider.getId());
             }
         };
 


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

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