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

Reply via email to