Oved Ourfali has uploaded a new change for review. Change subject: add and use GetProvidersByType ......................................................................
add and use GetProvidersByType Change-Id: I87ef591a2470726cebef142e72eaee28103c81fd Signed-off-by: Oved Ourfali <[email protected]> --- M backend/manager/dbscripts/providers_sp.sql M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/GetAllProvidersQuery.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/provider/ProviderDao.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/provider/ProviderDaoDbFacadeImpl.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/SystemTreeModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/NewHostModel.java M frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Enums.java M frontend/webadmin/modules/uicompat/src/main/resources/org/ovirt/engine/ui/uicompat/Enums.properties 9 files changed, 66 insertions(+), 6 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/74/14774/1 diff --git a/backend/manager/dbscripts/providers_sp.sql b/backend/manager/dbscripts/providers_sp.sql index 05982d1..4a812a8 100644 --- a/backend/manager/dbscripts/providers_sp.sql +++ b/backend/manager/dbscripts/providers_sp.sql @@ -79,6 +79,18 @@ +Create or replace FUNCTION GetAllFromProvidersByType(v_provider_type varchar(32)) RETURNS SETOF providers +AS $procedure$ +BEGIN + RETURN QUERY + SELECT * + FROM providers + WHERE provider_type = v_provider_type; +END; $procedure$ +LANGUAGE plpgsql; + + + Create or replace FUNCTION GetProviderByProviderId(v_id UUID) RETURNS SETOF providers AS $procedure$ diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/GetAllProvidersQuery.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/GetAllProvidersQuery.java index f11cc2a..b4c4def 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/GetAllProvidersQuery.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/GetAllProvidersQuery.java @@ -1,9 +1,10 @@ package org.ovirt.engine.core.bll.provider; import org.ovirt.engine.core.bll.QueriesCommandBase; -import org.ovirt.engine.core.common.queries.VdcQueryParametersBase; +import org.ovirt.engine.core.common.businessentities.ProviderType; +import org.ovirt.engine.core.common.queries.GetAllProvidersParameters; -public class GetAllProvidersQuery<P extends VdcQueryParametersBase> extends QueriesCommandBase<P> { +public class GetAllProvidersQuery<P extends GetAllProvidersParameters> extends QueriesCommandBase<P> { public GetAllProvidersQuery(P parameters) { super(parameters); @@ -11,6 +12,11 @@ @Override protected void executeQueryCommand() { - setReturnValue(getDbFacade().getProviderDao().getAll()); + ProviderType providerType = getParameters().getProviderType(); + if (providerType == null) { + setReturnValue(getDbFacade().getProviderDao().getAll()); + } else { + setReturnValue(getDbFacade().getProviderDao().getAllByType(providerType)); + } } } diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/provider/ProviderDao.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/provider/ProviderDao.java index 3c8088c..e6f0fce 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/provider/ProviderDao.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/provider/ProviderDao.java @@ -1,6 +1,9 @@ package org.ovirt.engine.core.dao.provider; +import java.util.List; + import org.ovirt.engine.core.common.businessentities.Provider; +import org.ovirt.engine.core.common.businessentities.ProviderType; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.dao.GenericDao; import org.ovirt.engine.core.dao.SearchDAO; @@ -15,4 +18,14 @@ * @return The provider, or <code>null</code> if not found. */ Provider getByName(String name); + + /** + * Query for the providers by type. + * + * @param providerType + * The type of the provider. + * @return All providers of that type, or <code>null</code> if none exist found. + */ + List<Provider> getAllByType(ProviderType providerType); + } diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/provider/ProviderDaoDbFacadeImpl.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/provider/ProviderDaoDbFacadeImpl.java index b2811a8..72c9584 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/provider/ProviderDaoDbFacadeImpl.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/provider/ProviderDaoDbFacadeImpl.java @@ -74,4 +74,11 @@ public List<Provider> getAllWithQuery(String query) { return jdbcTemplate.query(query, ProviderRowMapper.INSTANCE); } + + @Override + public List<Provider> getAllByType(ProviderType providerType) { + return getCallsHandler().executeReadList("GetAllFromProvidersByType", + ProviderRowMapper.INSTANCE, + getCustomMapSqlParameterSource().addValue("provider_type", providerType.toString())); + } } 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 4b006ad..b70c56b 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 @@ -22,6 +22,7 @@ import org.ovirt.engine.core.common.businessentities.ImageFileType; import org.ovirt.engine.core.common.businessentities.LUNs; import org.ovirt.engine.core.common.businessentities.Provider; +import org.ovirt.engine.core.common.businessentities.ProviderType; import org.ovirt.engine.core.common.businessentities.Quota; import org.ovirt.engine.core.common.businessentities.QuotaEnforcementTypeEnum; import org.ovirt.engine.core.common.businessentities.RepoFileMetaData; @@ -60,6 +61,7 @@ import org.ovirt.engine.core.common.queries.GetAllAttachableDisks; import org.ovirt.engine.core.common.queries.GetAllDisksByVmIdParameters; import org.ovirt.engine.core.common.queries.GetAllFromExportDomainQueryParameters; +import org.ovirt.engine.core.common.queries.GetAllProvidersParameters; import org.ovirt.engine.core.common.queries.GetAllServerCpuListParameters; import org.ovirt.engine.core.common.queries.GetAllVdsByStoragePoolParameters; import org.ovirt.engine.core.common.queries.GetAllVmSnapshotsByVmIdParameters; @@ -2485,7 +2487,22 @@ return source; } }; - Frontend.RunQuery(VdcQueryType.GetAllProviders, new VdcQueryParametersBase(), aQuery); + Frontend.RunQuery(VdcQueryType.GetAllProviders, new GetAllProvidersParameters(), aQuery); + } + + public static void GetAllProvidersByType(AsyncQuery aQuery, ProviderType providerType) { + aQuery.converterCallback = new IAsyncConverter() { + @Override + public Object Convert(Object source, AsyncQuery _asyncQuery) + { + if (source == null) + { + return new ArrayList<Provider>(); + } + return source; + } + }; + Frontend.RunQuery(VdcQueryType.GetAllProviders, new GetAllProvidersParameters(providerType), aQuery); } private static void getAllChildVlanInterfaces(Guid vdsID, List<VdsNetworkInterface> ifaces, IFrontendMultipleQueryAsyncCallback callback) diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/SystemTreeModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/SystemTreeModel.java index b8d03f02..ae2bda2 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/SystemTreeModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/SystemTreeModel.java @@ -14,6 +14,7 @@ import org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity; import org.ovirt.engine.core.common.businessentities.network.Network; import org.ovirt.engine.core.common.mode.ApplicationMode; +import org.ovirt.engine.core.common.queries.GetAllProvidersParameters; import org.ovirt.engine.core.common.queries.IdQueryParameters; import org.ovirt.engine.core.common.queries.StoragePoolQueryParametersBase; import org.ovirt.engine.core.common.queries.VdcQueryParametersBase; @@ -359,7 +360,7 @@ AsyncDataProvider.getDataCenterList(dcQuery); } }; - Frontend.RunQuery(VdcQueryType.GetAllProviders, new VdcQueryParametersBase(), providersQuery); + Frontend.RunQuery(VdcQueryType.GetAllProviders, new GetAllProvidersParameters(), providersQuery); } @Override diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/NewHostModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/NewHostModel.java index 7fe01c5..e019835 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/NewHostModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/NewHostModel.java @@ -3,6 +3,7 @@ import java.util.ArrayList; import org.ovirt.engine.core.common.businessentities.Provider; +import org.ovirt.engine.core.common.businessentities.ProviderType; import org.ovirt.engine.core.common.businessentities.VDS; import org.ovirt.engine.core.common.mode.ApplicationMode; import org.ovirt.engine.ui.frontend.AsyncQuery; @@ -90,7 +91,7 @@ providersListModel.setIsChangable(true); } }; - AsyncDataProvider.GetAllProviders(getProvidersQuery); + AsyncDataProvider.GetAllProvidersByType(getProvidersQuery, ProviderType.Foreman); } else { getProviders().setIsChangable(enabled); getProviders().setSelectedItem(null); diff --git a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Enums.java b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Enums.java index 94b6b06..65821fa 100644 --- a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Enums.java +++ b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Enums.java @@ -313,6 +313,8 @@ String JobExecutionStatus___UNKNOWN(); + String ProviderType___Foreman(); + // Gluster enums String GlusterVolumeType___DISTRIBUTE(); diff --git a/frontend/webadmin/modules/uicompat/src/main/resources/org/ovirt/engine/ui/uicompat/Enums.properties b/frontend/webadmin/modules/uicompat/src/main/resources/org/ovirt/engine/ui/uicompat/Enums.properties index d3dc745..48c16ec 100644 --- a/frontend/webadmin/modules/uicompat/src/main/resources/org/ovirt/engine/ui/uicompat/Enums.properties +++ b/frontend/webadmin/modules/uicompat/src/main/resources/org/ovirt/engine/ui/uicompat/Enums.properties @@ -169,3 +169,4 @@ JobExecutionStatus___FAILED=Failed JobExecutionStatus___ABORTED=Aborted JobExecutionStatus___UNKNOWN=Unknown +ProviderType___Foreman=Foreman -- To view, visit http://gerrit.ovirt.org/14774 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I87ef591a2470726cebef142e72eaee28103c81fd Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Oved Ourfali <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
