Moving around some handler/driver machinary

Relocating IContentHandler imlementations that power IContentXxxDriver interfaces
Giving them component role suffix Coordinator
Merging two handlers into one content part driver coordinator

--HG--
branch : dev
This commit is contained in:
Louis DeJardin
2010-06-22 14:34:10 -07:00
parent 5db91c1689
commit 32d59676dc
10 changed files with 57 additions and 69 deletions

View File

@@ -7,16 +7,14 @@ using Orchard.Localization;
using Orchard.Localization.Services;
using Orchard.ContentManagement;
namespace Orchard.Search.Services
{
public class SearchService : ISearchService
{
private readonly IContentManager _contentManager;
namespace Orchard.Search.Services {
public class SearchService : ISearchService {
private readonly IIndexManager _indexManager;
private readonly ICultureManager _cultureManager;
public SearchService(IOrchardServices services, IContentManager contentManager, ICultureManager cultureManager) {
public SearchService(IOrchardServices services, IIndexManager indexManager, ICultureManager cultureManager) {
Services = services;
_contentManager = contentManager;
_indexManager = indexManager;
_cultureManager = cultureManager;
T = NullLocalizer.Instance;
}
@@ -24,14 +22,20 @@ namespace Orchard.Search.Services
public IOrchardServices Services { get; set; }
public Localizer T { get; set; }
ISearchBuilder Search() {
return _indexManager.HasIndexProvider()
? _indexManager.GetSearchIndexProvider().CreateSearchBuilder("Search")
: new NullSearchBuilder();
}
IPageOfItems<T> ISearchService.Query<T>(string query, int page, int? pageSize, bool filterCulture, string[] searchFields, Func<ISearchHit, T> shapeResult) {
if (string.IsNullOrWhiteSpace(query))
return null;
var searchBuilder = _contentManager.Search().Parse(searchFields, query);
var searchBuilder = Search().Parse(searchFields, query);
if ( filterCulture ) {
if (filterCulture) {
var culture = _cultureManager.GetSiteCulture();
// use LCID as the text representation gets analyzed by the query parser
@@ -48,7 +52,7 @@ namespace Orchard.Search.Services
var pageOfItems = new PageOfItems<T>(searchBuilder.Search().Select(shapeResult)) {
PageNumber = page,
PageSize = pageSize != null ? (int) pageSize : totalCount,
PageSize = pageSize != null ? (int)pageSize : totalCount,
TotalItemCount = totalCount
};