Rename CultureImpactService.cs to CultureImpactFactory.cs

This commit is contained in:
Zeegaan
2022-07-06 12:50:52 +02:00
parent 99486339d9
commit 50e06ca596
7 changed files with 42 additions and 42 deletions

View File

@@ -324,7 +324,7 @@ namespace Umbraco.Cms.Core.DependencyInjection
Services.AddUnique<IPropertyTypeUsageService, PropertyTypeUsageService>();
Services.AddUnique<IDataTypeUsageService, DataTypeUsageService>();
Services.AddUnique<ICultureImpactService, CultureImpactService>();
Services.AddUnique<ICultureImpactFactory, CultureImpactFactory>();
}
}
}

View File

@@ -31,7 +31,7 @@ public class ContentService : RepositoryService, IContentService
private readonly ILogger<ContentService> _logger;
private readonly Lazy<IPropertyValidationService> _propertyValidationService;
private readonly IShortStringHelper _shortStringHelper;
private readonly ICultureImpactService _cultureImpactService;
private readonly ICultureImpactFactory _cultureImpactFactory;
private IQuery<IContent>? _queryNotTrashed;
#region Constructors
@@ -48,7 +48,7 @@ public class ContentService : RepositoryService, IContentService
ILanguageRepository languageRepository,
Lazy<IPropertyValidationService> propertyValidationService,
IShortStringHelper shortStringHelper,
ICultureImpactService cultureImpactService)
ICultureImpactFactory cultureImpactFactory)
: base(provider, loggerFactory, eventMessagesFactory)
{
_documentRepository = documentRepository;
@@ -59,7 +59,7 @@ public class ContentService : RepositoryService, IContentService
_languageRepository = languageRepository;
_propertyValidationService = propertyValidationService;
_shortStringHelper = shortStringHelper;
_cultureImpactService = cultureImpactService;
_cultureImpactFactory = cultureImpactFactory;
_logger = loggerFactory.CreateLogger<ContentService>();
}
@@ -88,7 +88,7 @@ public class ContentService : RepositoryService, IContentService
languageRepository,
propertyValidationService,
shortStringHelper,
StaticServiceProvider.Instance.GetRequiredService<ICultureImpactService>())
StaticServiceProvider.Instance.GetRequiredService<ICultureImpactFactory>())
{
}
@@ -1156,7 +1156,7 @@ public class ContentService : RepositoryService, IContentService
// if culture is '*', then publish them all (including variants)
// this will create the correct culture impact even if culture is * or null
var impact = _cultureImpactService.Create(culture, IsDefaultCulture(allLangs, culture), content);
var impact = _cultureImpactFactory.Create(culture, IsDefaultCulture(allLangs, culture), content);
// publish the culture(s)
// we don't care about the response here, this response will be rechecked below but we need to set the culture info values now.
@@ -1215,7 +1215,7 @@ public class ContentService : RepositoryService, IContentService
}
IEnumerable<CultureImpact> impacts =
cultures.Select(x => _cultureImpactService.ImpactExplicit(x, IsDefaultCulture(allLangs, x)));
cultures.Select(x => _cultureImpactFactory.ImpactExplicit(x, IsDefaultCulture(allLangs, x)));
// publish the culture(s)
// we don't care about the response here, this response will be rechecked below but we need to set the culture info values now.
@@ -1843,7 +1843,7 @@ public class ContentService : RepositoryService, IContentService
// publish the culture values and validate the property values, if validation fails, log the invalid properties so the develeper has an idea of what has failed
IProperty[]? invalidProperties = null;
var impact = _cultureImpactService.ImpactExplicit(culture, IsDefaultCulture(allLangs.Value, culture));
var impact = _cultureImpactFactory.ImpactExplicit(culture, IsDefaultCulture(allLangs.Value, culture));
var tryPublish = d.PublishCulture(impact) &&
_propertyValidationService.Value.IsPropertyDataValid(d, out invalidProperties, impact);
if (invalidProperties != null && invalidProperties.Length > 0)
@@ -1927,14 +1927,14 @@ public class ContentService : RepositoryService, IContentService
{
return culturesToPublish.All(culture =>
{
var impact = _cultureImpactService.Create(culture, IsDefaultCulture(allLangs, culture), content);
var impact = _cultureImpactFactory.Create(culture, IsDefaultCulture(allLangs, culture), content);
return content.PublishCulture(impact) &&
_propertyValidationService.Value.IsPropertyDataValid(content, out _, impact);
});
}
return content.PublishCulture(_cultureImpactService.ImpactInvariant())
&& _propertyValidationService.Value.IsPropertyDataValid(content, out _, _cultureImpactService.ImpactInvariant());
return content.PublishCulture(_cultureImpactFactory.ImpactInvariant())
&& _propertyValidationService.Value.IsPropertyDataValid(content, out _, _cultureImpactFactory.ImpactInvariant());
}
// utility 'ShouldPublish' func used by SaveAndPublishBranch
@@ -3059,9 +3059,9 @@ public class ContentService : RepositoryService, IContentService
// If it's null it's invariant
CultureImpact[] impactsToPublish = culturesPublishing == null
? new[] { _cultureImpactService.ImpactInvariant() }
? new[] { _cultureImpactFactory.ImpactInvariant() }
: culturesPublishing.Select(x =>
_cultureImpactService.ImpactExplicit(
_cultureImpactFactory.ImpactExplicit(
x,
allLangs.Any(lang => lang.IsoCode.InvariantEquals(x) && lang.IsMandatory)))
.ToArray();

View File

@@ -5,11 +5,11 @@ using Umbraco.Extensions;
namespace Umbraco.Cms.Core.Services;
public class CultureImpactService : ICultureImpactService
public class CultureImpactFactory : ICultureImpactFactory
{
private SecuritySettings _securitySettings;
public CultureImpactService(IOptionsMonitor<SecuritySettings> securitySettings)
public CultureImpactFactory(IOptionsMonitor<SecuritySettings> securitySettings)
{
_securitySettings = securitySettings.CurrentValue;

View File

@@ -2,7 +2,7 @@
namespace Umbraco.Cms.Core.Services;
public interface ICultureImpactService
public interface ICultureImpactFactory
{
/// <summary>
/// Creates an impact instance representing the impact of a culture set,

View File

@@ -57,7 +57,7 @@ public class ContentController : ContentControllerBase
private readonly ILocalizationService _localizationService;
private readonly ILocalizedTextService _localizedTextService;
private readonly INotificationService _notificationService;
private readonly ICultureImpactService _cultureImpactService;
private readonly ICultureImpactFactory _cultureImpactFactory;
private readonly ILogger<ContentController> _logger;
private readonly PropertyEditorCollection _propertyEditors;
private readonly IPublishedUrlProvider _publishedUrlProvider;
@@ -91,7 +91,7 @@ public class ContentController : ContentControllerBase
ICoreScopeProvider scopeProvider,
IAuthorizationService authorizationService,
IContentVersionService contentVersionService,
ICultureImpactService cultureImpactService)
ICultureImpactFactory cultureImpactFactory)
: base(cultureDictionary, loggerFactory, shortStringHelper, eventMessages, localizedTextService, serializer)
{
_propertyEditors = propertyEditors;
@@ -111,7 +111,7 @@ public class ContentController : ContentControllerBase
_sqlContext = sqlContext;
_authorizationService = authorizationService;
_contentVersionService = contentVersionService;
_cultureImpactService = cultureImpactService;
_cultureImpactFactory = cultureImpactFactory;
_logger = loggerFactory.CreateLogger<ContentController>();
_scopeProvider = scopeProvider;
_allLangs = new Lazy<IDictionary<string, ILanguage>>(() =>
@@ -167,7 +167,7 @@ public class ContentController : ContentControllerBase
scopeProvider,
authorizationService,
contentVersionService,
StaticServiceProvider.Instance.GetRequiredService<ICultureImpactService>())
StaticServiceProvider.Instance.GetRequiredService<ICultureImpactFactory>())
{
}
@@ -950,7 +950,7 @@ public class ContentController : ContentControllerBase
//The default validation language will be either: The default languauge, else if the content is brand new and the default culture is
// not marked to be saved, it will be the first culture in the list marked for saving.
var defaultCulture = _allLangs.Value.Values.FirstOrDefault(x => x.IsDefault)?.IsoCode;
var cultureForInvariantErrors = _cultureImpactService.GetCultureForInvariantErrors(
var cultureForInvariantErrors = _cultureImpactFactory.GetCultureForInvariantErrors(
contentItem.PersistedContent,
contentItem.Variants.Where(x => x.Save).Select(x => x.Culture).ToArray(),
defaultCulture);
@@ -1847,7 +1847,7 @@ public class ContentController : ContentControllerBase
foreach (ContentVariantSave variant in cultureVariants.Where(x => x.Publish))
{
// publishing any culture, implies the invariant culture
var valid = persistentContent.PublishCulture(_cultureImpactService.ImpactExplicit(variant.Culture, defaultCulture.InvariantEquals(variant.Culture)));
var valid = persistentContent.PublishCulture(_cultureImpactFactory.ImpactExplicit(variant.Culture, defaultCulture.InvariantEquals(variant.Culture)));
if (!valid)
{
AddVariantValidationError(variant.Culture, variant.Segment, "speechBubbles", "contentCultureValidationError");

View File

@@ -13,24 +13,24 @@ namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Core.Models;
[TestFixture]
public class CultureImpactTests
{
private CultureImpactService BasicImpactService => createCultureImpactService();
private CultureImpactFactory BasicImpactFactory => createCultureImpactService();
[Test]
public void Get_Culture_For_Invariant_Errors()
{
var result = BasicImpactService.GetCultureForInvariantErrors(
var result = BasicImpactFactory.GetCultureForInvariantErrors(
Mock.Of<IContent>(x => x.Published == true),
new[] { "en-US", "fr-FR" },
"en-US");
Assert.AreEqual("en-US", result); // default culture is being saved so use it
result = BasicImpactService.GetCultureForInvariantErrors(
result = BasicImpactFactory.GetCultureForInvariantErrors(
Mock.Of<IContent>(x => x.Published == false),
new[] { "fr-FR" },
"en-US");
Assert.AreEqual("fr-FR", result); // default culture not being saved with not published version, use the first culture being saved
result = BasicImpactService.GetCultureForInvariantErrors(
result = BasicImpactFactory.GetCultureForInvariantErrors(
Mock.Of<IContent>(x => x.Published == true),
new[] { "fr-FR" },
"en-US");
@@ -40,7 +40,7 @@ public class CultureImpactTests
[Test]
public void All_Cultures()
{
var impact = BasicImpactService.ImpactAll();
var impact = BasicImpactFactory.ImpactAll();
Assert.AreEqual(impact.Culture, "*");
@@ -55,7 +55,7 @@ public class CultureImpactTests
[Test]
public void Invariant_Culture()
{
var impact = BasicImpactService.ImpactInvariant();
var impact = BasicImpactFactory.ImpactInvariant();
Assert.AreEqual(impact.Culture, null);
@@ -70,7 +70,7 @@ public class CultureImpactTests
[Test]
public void Explicit_Default_Culture()
{
var impact = BasicImpactService.ImpactExplicit("en-US", true);
var impact = BasicImpactFactory.ImpactExplicit("en-US", true);
Assert.AreEqual(impact.Culture, "en-US");
@@ -85,7 +85,7 @@ public class CultureImpactTests
[Test]
public void Explicit_NonDefault_Culture()
{
var impact = BasicImpactService.ImpactExplicit("en-US", false);
var impact = BasicImpactFactory.ImpactExplicit("en-US", false);
Assert.AreEqual(impact.Culture, "en-US");
@@ -100,7 +100,7 @@ public class CultureImpactTests
[Test]
public void TryCreate_Explicit_Default_Culture()
{
var success = BasicImpactService.TryCreate("en-US", true, ContentVariation.Culture, false, false, out var impact);
var success = BasicImpactFactory.TryCreate("en-US", true, ContentVariation.Culture, false, false, out var impact);
Assert.IsTrue(success);
Assert.IsNotNull(impact);
@@ -117,7 +117,7 @@ public class CultureImpactTests
[Test]
public void TryCreate_Explicit_NonDefault_Culture()
{
var success = BasicImpactService.TryCreate("en-US", false, ContentVariation.Culture, false, false, out var impact);
var success = BasicImpactFactory.TryCreate("en-US", false, ContentVariation.Culture, false, false, out var impact);
Assert.IsTrue(success);
Assert.IsNotNull(impact);
@@ -134,41 +134,41 @@ public class CultureImpactTests
[Test]
public void TryCreate_AllCultures_For_Invariant()
{
var success = BasicImpactService.TryCreate("*", false, ContentVariation.Nothing, false, false, out var impact);
var success = BasicImpactFactory.TryCreate("*", false, ContentVariation.Nothing, false, false, out var impact);
Assert.IsTrue(success);
Assert.IsNotNull(impact);
Assert.AreEqual(impact.Culture, null);
Assert.AreSame(BasicImpactService.ImpactInvariant(), impact);
Assert.AreSame(BasicImpactFactory.ImpactInvariant(), impact);
}
[Test]
public void TryCreate_AllCultures_For_Variant()
{
var success = BasicImpactService.TryCreate("*", false, ContentVariation.Culture, false, false, out var impact);
var success = BasicImpactFactory.TryCreate("*", false, ContentVariation.Culture, false, false, out var impact);
Assert.IsTrue(success);
Assert.IsNotNull(impact);
Assert.AreEqual(impact.Culture, "*");
Assert.AreSame(BasicImpactService.ImpactAll(), impact);
Assert.AreSame(BasicImpactFactory.ImpactAll(), impact);
}
[Test]
public void TryCreate_Invariant_For_Variant()
{
var success = BasicImpactService.TryCreate(null, false, ContentVariation.Culture, false, false, out var impact);
var success = BasicImpactFactory.TryCreate(null, false, ContentVariation.Culture, false, false, out var impact);
Assert.IsFalse(success);
}
[Test]
public void TryCreate_Invariant_For_Invariant()
{
var success = BasicImpactService.TryCreate(null, false, ContentVariation.Nothing, false, false, out var impact);
var success = BasicImpactFactory.TryCreate(null, false, ContentVariation.Nothing, false, false, out var impact);
Assert.IsTrue(success);
Assert.AreSame(BasicImpactService.ImpactInvariant(), impact);
Assert.AreSame(BasicImpactFactory.ImpactInvariant(), impact);
}
[Test]
@@ -182,14 +182,14 @@ public class CultureImpactTests
Assert.AreEqual(allowEditInvariantFromNonDefault, impact.ImpactsAlsoInvariantProperties);
}
private CultureImpactService createCultureImpactService(SecuritySettings securitySettings = null)
private CultureImpactFactory createCultureImpactService(SecuritySettings securitySettings = null)
{
securitySettings ??= new SecuritySettings
{
AllowEditInvariantFromNonDefault = false,
};
return new CultureImpactService(new TestOptionsMonitor<SecuritySettings>(securitySettings));
return new CultureImpactFactory(new TestOptionsMonitor<SecuritySettings>(securitySettings));
}
}

View File

@@ -266,7 +266,7 @@ public class ContentControllerTests
Mock.Of<ICoreScopeProvider>(),
Mock.Of<IAuthorizationService>(),
Mock.Of<IContentVersionService>(),
Mock.Of<ICultureImpactService>());
Mock.Of<ICultureImpactFactory>());
return controller;
}