Rename CultureImpactService.cs to CultureImpactFactory.cs
This commit is contained in:
@@ -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>();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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,
|
||||
@@ -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");
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -266,7 +266,7 @@ public class ContentControllerTests
|
||||
Mock.Of<ICoreScopeProvider>(),
|
||||
Mock.Of<IAuthorizationService>(),
|
||||
Mock.Of<IContentVersionService>(),
|
||||
Mock.Of<ICultureImpactService>());
|
||||
Mock.Of<ICultureImpactFactory>());
|
||||
|
||||
return controller;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user