Lior Vernia has uploaded a new change for review. Change subject: core: Added Providers to search mechanism ......................................................................
core: Added Providers to search mechanism Users may now search for Providers using the search mechanism. Change-Id: Ie3afec14b945175eabb73d2b119fb9a807f69a72 Signed-off-by: Lior Vernia <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SearchQuery.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/interfaces/SearchType.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 A backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/ProviderConditionFieldAutoCompleter.java M backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SearchObjectAutoCompleter.java M backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SearchObjects.java M frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/SearchBackend.gwt.xml M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderListModel.java 9 files changed, 81 insertions(+), 24 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/63/14763/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SearchQuery.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SearchQuery.java index 6e2e836..e67421f 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SearchQuery.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SearchQuery.java @@ -20,6 +20,7 @@ import org.ovirt.engine.core.common.businessentities.DbUser; import org.ovirt.engine.core.common.businessentities.Disk; import org.ovirt.engine.core.common.businessentities.IVdcQueryable; +import org.ovirt.engine.core.common.businessentities.Provider; import org.ovirt.engine.core.common.businessentities.Quota; import org.ovirt.engine.core.common.businessentities.VDS; import org.ovirt.engine.core.common.businessentities.VDSGroup; @@ -132,6 +133,10 @@ } case Network: { returnValue = searchNetworks(); + break; + } + case Provider: { + returnValue = searchProviders(); break; } default: { @@ -274,6 +279,10 @@ return genericSearch(getDbFacade().getNetworkViewDao(), true, null); } + private List<Provider> searchProviders() { + return genericSearch(getDbFacade().getProviderDao(), true, null); + } + private QueryData2 InitQueryData(boolean useCache) { QueryData2 data = null; boolean isExistsValue = false; diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/interfaces/SearchType.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/interfaces/SearchType.java index 79fcd3a..0c010f1 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/interfaces/SearchType.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/interfaces/SearchType.java @@ -17,7 +17,8 @@ Quota, Disk, GlusterVolume, - Network; + Network, + Provider; public int getValue() { return this.ordinal(); 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 de37a9b..3c8088c 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 @@ -3,8 +3,9 @@ import org.ovirt.engine.core.common.businessentities.Provider; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.dao.GenericDao; +import org.ovirt.engine.core.dao.SearchDAO; -public interface ProviderDao extends GenericDao<Provider, Guid> { +public interface ProviderDao extends GenericDao<Provider, Guid>, SearchDAO<Provider> { /** * Query for the provider by name. 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 4e52015..12f9e8a 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 @@ -2,6 +2,7 @@ import java.sql.ResultSet; import java.sql.SQLException; +import java.util.List; import org.ovirt.engine.core.common.businessentities.Provider; import org.ovirt.engine.core.common.businessentities.ProviderType; @@ -68,4 +69,9 @@ return entity; } } + + @Override + public List<Provider> getAllWithQuery(String query) { + return jdbcTemplate.query(query, ProviderRowMapper.INSTANCE); + } } diff --git a/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/ProviderConditionFieldAutoCompleter.java b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/ProviderConditionFieldAutoCompleter.java new file mode 100644 index 0000000..acd0c63 --- /dev/null +++ b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/ProviderConditionFieldAutoCompleter.java @@ -0,0 +1,41 @@ +package org.ovirt.engine.core.searchbackend; + +public class ProviderConditionFieldAutoCompleter extends BaseConditionFieldAutoCompleter { + private static final String NAME = "NAME"; + private static final String DESCRIPTION = "DESCRIPTION"; + private static final String URL = "URL"; + + public ProviderConditionFieldAutoCompleter() { + // Building the basic verbs dict. + mVerbs.put(NAME, NAME); + mVerbs.put(DESCRIPTION, DESCRIPTION); + mVerbs.put(URL, URL); + + // Building the autoCompletion dict. + buildCompletions(); + + // Building the types dict. + getTypeDictionary().put(NAME, String.class); + getTypeDictionary().put(DESCRIPTION, String.class); + getTypeDictionary().put(URL, String.class); + + // building the ColumnName dict. + columnNameDict.put(NAME, "name"); + columnNameDict.put(DESCRIPTION, "description"); + columnNameDict.put(URL, "url"); + + // Building the validation dict. + buildBasicValidationTable(); + } + + @Override + public IAutoCompleter getFieldRelationshipAutoCompleter(final String fieldName) { + return StringConditionRelationAutoCompleter.INSTANCE; + } + + @Override + public IConditionValueAutoCompleter getFieldValueAutoCompleter(String fieldName) { + return null; + } + +} diff --git a/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SearchObjectAutoCompleter.java b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SearchObjectAutoCompleter.java index 1ea10b5..65696e6 100644 --- a/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SearchObjectAutoCompleter.java +++ b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SearchObjectAutoCompleter.java @@ -26,6 +26,7 @@ mVerbs.put(SearchObjects.GLUSTER_VOLUME_PLU_OBJ_NAME, SearchObjects.GLUSTER_VOLUME_PLU_OBJ_NAME); mVerbs.put(SearchObjects.QUOTA_OBJ_NAME, SearchObjects.QUOTA_OBJ_NAME); mVerbs.put(SearchObjects.NETWORK_PLU_OBJ_NAME, SearchObjects.NETWORK_PLU_OBJ_NAME); + mVerbs.put(SearchObjects.PROVIDER_PLU_OBJ_NAME, SearchObjects.PROVIDER_PLU_OBJ_NAME); buildCompletions(); mVerbs.put(SearchObjects.VM_OBJ_NAME, SearchObjects.VM_OBJ_NAME); @@ -38,6 +39,7 @@ mVerbs.put(SearchObjects.VDC_CLUSTER_OBJ_NAME, SearchObjects.VDC_CLUSTER_OBJ_NAME); mVerbs.put(SearchObjects.GLUSTER_VOLUME_OBJ_NAME, SearchObjects.GLUSTER_VOLUME_OBJ_NAME); mVerbs.put(SearchObjects.NETWORK_OBJ_NAME, SearchObjects.NETWORK_OBJ_NAME); + mVerbs.put(SearchObjects.PROVIDER_OBJ_NAME, SearchObjects.PROVIDER_OBJ_NAME); // vms - vds addJoin(SearchObjects.VM_OBJ_NAME, "run_on_vds", SearchObjects.VDS_OBJ_NAME, "vds_id"); @@ -281,6 +283,12 @@ "network_vds_view", "vds_name", "network_name ASC")); + put(SearchObjects.PROVIDER_OBJ_NAME, new EntitySearchInfo(null, + new ProviderConditionFieldAutoCompleter(), + "providers", + "providers", + "id", + "name ASC")); } }); @@ -303,6 +311,7 @@ put(SearchObjects.VDC_POOL_PLU_OBJ_NAME, SearchObjects.VDC_POOL_OBJ_NAME); put(SearchObjects.VDC_STORAGE_DOMAIN_PLU_OBJ_NAME, SearchObjects.VDC_STORAGE_DOMAIN_OBJ_NAME); put(SearchObjects.NETWORK_PLU_OBJ_NAME, SearchObjects.NETWORK_OBJ_NAME); + put(SearchObjects.PROVIDER_PLU_OBJ_NAME, SearchObjects.PROVIDER_OBJ_NAME); } }); diff --git a/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SearchObjects.java b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SearchObjects.java index 93f67fc..35e20ed 100644 --- a/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SearchObjects.java +++ b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SearchObjects.java @@ -38,6 +38,8 @@ public static final String VM_NETWORK_INTERFACE_OBJ_NAME = "VNIC"; public static final String NETWORK_CLUSTER_OBJ_NAME = "CLUSTER_NETWORK"; public static final String NETWORK_HOST_OBJ_NAME = "HOST_NETWORK"; + public static final String PROVIDER_OBJ_NAME = "PROVIDER"; + public static final String PROVIDER_PLU_OBJ_NAME = "PROVIDERS"; //special searches private static final String ALERT = "EVENTS: severity=alert"; @@ -76,6 +78,8 @@ SAFE_SEARCH_EXPR.add(QUOTA_PLU_OBJ_NAME.toLowerCase() + SEPARATOR); SAFE_SEARCH_EXPR.add(NETWORK_OBJ_NAME.toLowerCase() + SEPARATOR); SAFE_SEARCH_EXPR.add(NETWORK_PLU_OBJ_NAME.toLowerCase() + SEPARATOR); + SAFE_SEARCH_EXPR.add(PROVIDER_OBJ_NAME.toLowerCase() + SEPARATOR); + SAFE_SEARCH_EXPR.add(PROVIDER_PLU_OBJ_NAME.toLowerCase() + SEPARATOR); SAFE_SEARCH_EXPR.add(ALERT.toLowerCase()); SAFE_SEARCH_EXPR.add(ERROR.toLowerCase()); SAFE_SEARCH_EXPR.add(HOST_BY_CPU.toLowerCase()); diff --git a/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/SearchBackend.gwt.xml b/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/SearchBackend.gwt.xml index 53b3cf0..6018a5b 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/SearchBackend.gwt.xml +++ b/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/SearchBackend.gwt.xml @@ -66,6 +66,7 @@ <include name="searchbackend/NetworkCrossRefAutoCompleter.java" /> <include name="searchbackend/NetworkInterfaceConditionFieldAutoCompleter.java" /> <include name="searchbackend/NetworkClusterConditionFieldAutoCompleter.java" /> + <include name="searchbackend/ProviderConditionFieldAutoCompleter.java" /> <!--======================SEARCHBACKEND/GLUSTER====================== --> <include name="searchbackend/gluster/GlusterVolumeConditionFieldAutoCompleter.java" /> <include name="searchbackend/gluster/GlusterVolumeCrossRefAutoCompleter.java" /> diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderListModel.java index bfcc22f..27dd2ac 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderListModel.java @@ -4,13 +4,11 @@ import java.util.List; import org.ovirt.engine.core.common.businessentities.Provider; +import org.ovirt.engine.core.common.interfaces.SearchType; import org.ovirt.engine.core.common.mode.ApplicationMode; -import org.ovirt.engine.core.common.queries.VdcQueryParametersBase; -import org.ovirt.engine.core.common.queries.VdcQueryReturnValue; +import org.ovirt.engine.core.common.queries.SearchParameters; import org.ovirt.engine.core.common.queries.VdcQueryType; -import org.ovirt.engine.ui.frontend.AsyncQuery; -import org.ovirt.engine.ui.frontend.Frontend; -import org.ovirt.engine.ui.frontend.INewAsyncCallback; +import org.ovirt.engine.core.searchbackend.SearchObjects; import org.ovirt.engine.ui.uicommonweb.UICommand; import org.ovirt.engine.ui.uicommonweb.models.EntityModel; import org.ovirt.engine.ui.uicommonweb.models.ISupportSystemTreeContext; @@ -37,7 +35,7 @@ setDefaultSearchString("Provider:"); //$NON-NLS-1$ setSearchString(getDefaultSearchString()); - // setSearchObjects(new String[] { SearchObjects.PROVIDER_OBJ_NAME, SearchObjects.PROVIDER_PLU_OBJ_NAME }); + setSearchObjects(new String[] { SearchObjects.PROVIDER_OBJ_NAME, SearchObjects.PROVIDER_PLU_OBJ_NAME }); setAvailableInModes(ApplicationMode.VirtOnly); setAddCommand(new UICommand(CMD_ADD, this)); @@ -135,22 +133,9 @@ @Override protected void syncSearch() { - AsyncQuery asyncQuery = new AsyncQuery(); - asyncQuery.asyncCallback = new INewAsyncCallback() { - - @SuppressWarnings("unchecked") - @Override - public void onSuccess(Object model, Object ReturnValue) { - setItems((List<Provider>) ((VdcQueryReturnValue) ReturnValue).getReturnValue()); - } - }; - - VdcQueryParametersBase params = - new VdcQueryParametersBase(); - params.setRefresh(getIsQueryFirstTime()); - Frontend.RunQuery(VdcQueryType.GetAllProviders, - params, - asyncQuery); + SearchParameters tempVar = new SearchParameters(getSearchString(), SearchType.Provider); + tempVar.setMaxCount(getSearchPageSize()); + super.syncSearch(VdcQueryType.Search, tempVar); } private void add() { -- To view, visit http://gerrit.ovirt.org/14763 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ie3afec14b945175eabb73d2b119fb9a807f69a72 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
