Files
Umbraco-CMS/src/Umbraco.Examine.Lucene/LuceneIndexDiagnosticsFactory.cs
Nikolaj Geisle 7688c61621 V10: fix build warnings Examine.Lucene (#12501)
* Run Code cleanup

* Dotnet format and manual pass

Co-authored-by: Nikolaj Geisle <niko737@edu.ucl.dk>
2022-06-20 08:19:19 +02:00

50 lines
1.5 KiB
C#

// Copyright (c) Umbraco.
// See LICENSE for more details.
using Examine;
using Examine.Lucene.Providers;
using Microsoft.Extensions.Logging;
using Umbraco.Cms.Core.Hosting;
namespace Umbraco.Cms.Infrastructure.Examine;
/// <summary>
/// Implementation of <see cref="IIndexDiagnosticsFactory" /> which returns <see cref="LuceneIndexDiagnostics" />
/// for lucene based indexes that don't have an implementation else fallsback to the default
/// <see cref="IndexDiagnosticsFactory" /> implementation.
/// </summary>
public class LuceneIndexDiagnosticsFactory : IndexDiagnosticsFactory
{
private readonly IHostingEnvironment _hostingEnvironment;
private readonly ILoggerFactory _loggerFactory;
public LuceneIndexDiagnosticsFactory(
ILoggerFactory loggerFactory,
IHostingEnvironment hostingEnvironment)
{
_loggerFactory = loggerFactory;
_hostingEnvironment = hostingEnvironment;
}
public override IIndexDiagnostics Create(IIndex index)
{
if (!(index is IIndexDiagnostics indexDiag))
{
if (index is LuceneIndex luceneIndex)
{
indexDiag = new LuceneIndexDiagnostics(
luceneIndex,
_loggerFactory.CreateLogger<LuceneIndexDiagnostics>(),
_hostingEnvironment,
null);
}
else
{
indexDiag = base.Create(index);
}
}
return indexDiag;
}
}