Lior Vernia has uploaded a new change for review.

Change subject: webadmin: Moved provider filtering to AsyncDataProvider
......................................................................

webadmin: Moved provider filtering to AsyncDataProvider

Filtering by provided entity type is now done in AsyncDataProvider, to
facilitate moving the filtering to the backend if we ever want to do
that.

Change-Id: I7291f90f31b8719348ae4a6b470fbe8d079d0956
Signed-off-by: Lior Vernia <[email protected]>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Linq.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/hosts/HostModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/ImportNetworksModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkListModel.java
5 files changed, 28 insertions(+), 11 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/43/17143/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Linq.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Linq.java
index facd3dc..998e1aa 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Linq.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Linq.java
@@ -1141,7 +1141,7 @@
         }
     }
 
-    private final static Iterable<Provider> 
filterProvidersByProvidedType(Iterable<Provider> source,
+    public final static Iterable<Provider> 
filterProvidersByProvidedType(Iterable<Provider> source,
             final VdcObjectType type) {
         return where(source, new IPredicate<Provider>() {
 
@@ -1150,10 +1150,6 @@
                 return provider.getType().getProvidedTypes().contains(type);
             }
         });
-    }
-
-    public final static Iterable<Provider> 
filterNetworkProviders(Iterable<Provider> source) {
-        return filterProvidersByProvidedType(source, VdcObjectType.Network);
     }
 
 }
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 2e34b00..62b6d09 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
@@ -14,6 +14,7 @@
 import org.ovirt.engine.core.common.EventNotificationEntity;
 import org.ovirt.engine.core.common.TimeZoneType;
 import org.ovirt.engine.core.common.VdcEventNotificationUtils;
+import org.ovirt.engine.core.common.VdcObjectType;
 import org.ovirt.engine.core.common.action.VdcActionType;
 import org.ovirt.engine.core.common.businessentities.ActionGroup;
 import org.ovirt.engine.core.common.businessentities.DbUser;
@@ -2666,6 +2667,26 @@
         Frontend.RunQuery(VdcQueryType.GetAllProviders, new 
GetAllProvidersParameters(), aQuery);
     }
 
+    public static void GetAllProvidersByProvidedEntity(AsyncQuery query, final 
VdcObjectType providedEntity) {
+        query.converterCallback = new IAsyncConverter<List<Provider>>() {
+            @Override
+            public List<Provider> Convert(Object returnValue, AsyncQuery 
asyncQuery) {
+                if (returnValue == null) {
+                    return new ArrayList<Provider>();
+                }
+                List<Provider> providers =
+                        
Linq.toList(Linq.filterProvidersByProvidedType((Iterable<Provider>) 
returnValue, providedEntity));
+                Collections.sort(providers, new NameableComparator());
+                return providers;
+            }
+        };
+        Frontend.RunQuery(VdcQueryType.GetAllProviders, new 
GetAllProvidersParameters(), query);
+    }
+
+    public static void GetAllNetworkProviders(AsyncQuery query) {
+        GetAllProvidersByProvidedEntity(query, VdcObjectType.Network);
+    }
+
     public static void GetAllProvidersByType(AsyncQuery aQuery, ProviderType 
providerType) {
         aQuery.converterCallback = new IAsyncConverter() {
             @Override
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostModel.java
index 3e0190f..275f29f 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostModel.java
@@ -1026,13 +1026,13 @@
             @Override
             public void onSuccess(Object model, Object result)
             {
-                ArrayList<Provider> providers = 
Linq.toList(Linq.filterNetworkProviders((ArrayList<Provider>) result));
+                List<Provider> providers = (List<Provider>) result;
                 providers.add(0, null);
                 getExternalProviders().setItems(providers);
                 getExternalProviders().setSelectedItem(null);
             }
         };
-        AsyncDataProvider.GetAllProviders(getProvidersQuery);
+        AsyncDataProvider.GetAllNetworkProviders(getProvidersQuery);
     }
 
     private void proxyUp() {
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 384e0a7..940f06a 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
@@ -87,13 +87,13 @@
 
     protected void initProviderList() {
         startProgress(null);
-        AsyncDataProvider.GetAllProviders(new AsyncQuery(this, new 
INewAsyncCallback() {
+        AsyncDataProvider.GetAllNetworkProviders(new AsyncQuery(this, new 
INewAsyncCallback() {
 
             @SuppressWarnings("unchecked")
             @Override
             public void onSuccess(Object model, Object returnValue) {
                 stopProgress();
-                List<Provider> providers = 
Linq.toList(Linq.filterNetworkProviders((Iterable<Provider>) returnValue));
+                List<Provider> providers = (List<Provider>) returnValue;
                 providers.add(0, null);
                 getProviders().setItems(providers);
             }
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkListModel.java
index be0b128..6607585 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/networks/NetworkListModel.java
@@ -153,13 +153,13 @@
                 @Override
                 public void onSuccess(Object model, Object result)
                 {
-                    List<Provider> providers = 
Linq.toList(Linq.filterNetworkProviders((List<Provider>) result));
+                    List<Provider> providers = (List<Provider>) result;
                     networkModel.getExternalProviders().setItems(providers);
                     
networkModel.getExternalProviders().setSelectedItem(Linq.firstOrDefault(providers));
                     networkModel.stopProgress();
                 }
             };
-            AsyncDataProvider.GetAllProviders(getProvidersQuery);
+            AsyncDataProvider.GetAllNetworkProviders(getProvidersQuery);
         } else {
             NetworkView network = (NetworkView) getSelectedItem();
             if (network.isExternal()) {


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

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