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
