Add nullability to nucache & lucene projects
This commit is contained in:
@@ -117,9 +117,9 @@ namespace Umbraco.Cms.Infrastructure.PublishedCache.Persistence
|
||||
}
|
||||
|
||||
public void Rebuild(
|
||||
IReadOnlyCollection<int> contentTypeIds = null,
|
||||
IReadOnlyCollection<int> mediaTypeIds = null,
|
||||
IReadOnlyCollection<int> memberTypeIds = null)
|
||||
IReadOnlyCollection<int>? contentTypeIds = null,
|
||||
IReadOnlyCollection<int>? mediaTypeIds = null,
|
||||
IReadOnlyCollection<int>? memberTypeIds = null)
|
||||
{
|
||||
IContentCacheDataSerializer serializer = _contentCacheDataSerializerFactory.Create(
|
||||
ContentCacheDataSerializerEntityType.Document
|
||||
@@ -134,7 +134,7 @@ namespace Umbraco.Cms.Infrastructure.PublishedCache.Persistence
|
||||
}
|
||||
|
||||
// assumes content tree lock
|
||||
private void RebuildContentDbCache(IContentCacheDataSerializer serializer, int groupSize, IReadOnlyCollection<int> contentTypeIds)
|
||||
private void RebuildContentDbCache(IContentCacheDataSerializer serializer, int groupSize, IReadOnlyCollection<int>? contentTypeIds)
|
||||
{
|
||||
Guid contentObjectType = Constants.ObjectTypes.Document;
|
||||
|
||||
@@ -200,7 +200,7 @@ WHERE cmsContentNu.nodeId IN (
|
||||
}
|
||||
|
||||
// assumes media tree lock
|
||||
private void RebuildMediaDbCache(IContentCacheDataSerializer serializer, int groupSize, IReadOnlyCollection<int> contentTypeIds)
|
||||
private void RebuildMediaDbCache(IContentCacheDataSerializer serializer, int groupSize, IReadOnlyCollection<int>? contentTypeIds)
|
||||
{
|
||||
var mediaObjectType = Constants.ObjectTypes.Media;
|
||||
|
||||
@@ -251,7 +251,7 @@ WHERE cmsContentNu.nodeId IN (
|
||||
}
|
||||
|
||||
// assumes member tree lock
|
||||
private void RebuildMemberDbCache(IContentCacheDataSerializer serializer, int groupSize, IReadOnlyCollection<int> contentTypeIds)
|
||||
private void RebuildMemberDbCache(IContentCacheDataSerializer serializer, int groupSize, IReadOnlyCollection<int>? contentTypeIds)
|
||||
{
|
||||
Guid memberObjectType = Constants.ObjectTypes.Member;
|
||||
|
||||
@@ -388,23 +388,26 @@ AND cmsContentNu.nodeId IS NULL
|
||||
// sanitize - names should be ok but ... never knows
|
||||
if (content.ContentType.VariesByCulture())
|
||||
{
|
||||
ContentCultureInfosCollection infos = content is IContent document
|
||||
ContentCultureInfosCollection? infos = content is IContent document
|
||||
? published
|
||||
? document.PublishCultureInfos
|
||||
: document.CultureInfos
|
||||
: content.CultureInfos;
|
||||
|
||||
// ReSharper disable once UseDeconstruction
|
||||
foreach (ContentCultureInfos cultureInfo in infos)
|
||||
if (infos is not null)
|
||||
{
|
||||
var cultureIsDraft = !published && content is IContent d && d.IsCultureEdited(cultureInfo.Culture);
|
||||
cultureData[cultureInfo.Culture] = new CultureVariation
|
||||
foreach (ContentCultureInfos cultureInfo in infos)
|
||||
{
|
||||
Name = cultureInfo.Name,
|
||||
UrlSegment = content.GetUrlSegment(_shortStringHelper, _urlSegmentProviders, cultureInfo.Culture),
|
||||
Date = content.GetUpdateDate(cultureInfo.Culture) ?? DateTime.MinValue,
|
||||
IsDraft = cultureIsDraft
|
||||
};
|
||||
var cultureIsDraft = !published && content is IContent d && d.IsCultureEdited(cultureInfo.Culture);
|
||||
cultureData[cultureInfo.Culture] = new CultureVariation
|
||||
{
|
||||
Name = cultureInfo.Name,
|
||||
UrlSegment = content.GetUrlSegment(_shortStringHelper, _urlSegmentProviders, cultureInfo.Culture),
|
||||
Date = content.GetUpdateDate(cultureInfo.Culture) ?? DateTime.MinValue,
|
||||
IsDraft = cultureIsDraft
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -430,7 +433,7 @@ AND cmsContentNu.nodeId IS NULL
|
||||
}
|
||||
|
||||
// we want arrays, we want them all loaded, not an enumerable
|
||||
private Sql<ISqlContext> SqlContentSourcesSelect(Func<ISqlContext, Sql<ISqlContext>> joins = null)
|
||||
private Sql<ISqlContext> SqlContentSourcesSelect(Func<ISqlContext, Sql<ISqlContext>>? joins = null)
|
||||
{
|
||||
var sqlTemplate = SqlContext.Templates.Get(Constants.SqlTemplates.NuCacheDatabaseDataSource.ContentSourcesSelect, tsql =>
|
||||
tsql.Select<NodeDto>(x => Alias(x.NodeId, "Id"), x => Alias(x.UniqueId, "Key"),
|
||||
@@ -538,7 +541,7 @@ AND cmsContentNu.nodeId IS NULL
|
||||
/// </summary>
|
||||
/// <param name="scope"></param>
|
||||
/// <returns></returns>
|
||||
private Sql<ISqlContext> SqlContentSourcesCount(Func<ISqlContext, Sql<ISqlContext>> joins = null)
|
||||
private Sql<ISqlContext> SqlContentSourcesCount(Func<ISqlContext, Sql<ISqlContext>>? joins = null)
|
||||
{
|
||||
var sqlTemplate = SqlContext.Templates.Get(Constants.SqlTemplates.NuCacheDatabaseDataSource.ContentSourcesCount, tsql =>
|
||||
tsql.Select<NodeDto>(x => Alias(x.NodeId, "Id"))
|
||||
@@ -562,7 +565,7 @@ AND cmsContentNu.nodeId IS NULL
|
||||
return sql;
|
||||
}
|
||||
|
||||
private Sql<ISqlContext> SqlMediaSourcesSelect(Func<ISqlContext, Sql<ISqlContext>> joins = null)
|
||||
private Sql<ISqlContext> SqlMediaSourcesSelect(Func<ISqlContext, Sql<ISqlContext>>? joins = null)
|
||||
{
|
||||
var sqlTemplate = SqlContext.Templates.Get(Constants.SqlTemplates.NuCacheDatabaseDataSource.MediaSourcesSelect, tsql =>
|
||||
tsql.Select<NodeDto>(x => Alias(x.NodeId, "Id"), x => Alias(x.UniqueId, "Key"),
|
||||
@@ -588,7 +591,7 @@ AND cmsContentNu.nodeId IS NULL
|
||||
return sql;
|
||||
}
|
||||
|
||||
private Sql<ISqlContext> SqlMediaSourcesCount(Func<ISqlContext, Sql<ISqlContext>> joins = null)
|
||||
private Sql<ISqlContext> SqlMediaSourcesCount(Func<ISqlContext, Sql<ISqlContext>>? joins = null)
|
||||
{
|
||||
var sqlTemplate = SqlContext.Templates.Get(Constants.SqlTemplates.NuCacheDatabaseDataSource.MediaSourcesCount, tsql =>
|
||||
tsql.Select<NodeDto>(x => Alias(x.NodeId, "Id")).From<NodeDto>());
|
||||
@@ -668,9 +671,9 @@ AND cmsContentNu.nodeId IS NULL
|
||||
}
|
||||
}
|
||||
|
||||
public IEnumerable<ContentNodeKit> GetTypeContentSources(IEnumerable<int> ids)
|
||||
public IEnumerable<ContentNodeKit> GetTypeContentSources(IEnumerable<int>? ids)
|
||||
{
|
||||
if (!ids.Any())
|
||||
if (!ids?.Any() ?? false)
|
||||
yield break;
|
||||
|
||||
var sql = SqlContentSourcesSelect()
|
||||
@@ -802,8 +805,8 @@ AND cmsContentNu.nodeId IS NULL
|
||||
|
||||
private ContentNodeKit CreateContentNodeKit(ContentSourceDto dto, IContentCacheDataSerializer serializer)
|
||||
{
|
||||
ContentData d = null;
|
||||
ContentData p = null;
|
||||
ContentData? d = null;
|
||||
ContentData? p = null;
|
||||
|
||||
if (dto.Edited)
|
||||
{
|
||||
@@ -823,14 +826,14 @@ AND cmsContentNu.nodeId IS NULL
|
||||
|
||||
d = new ContentData(
|
||||
dto.EditName,
|
||||
deserializedContent.UrlSegment,
|
||||
deserializedContent?.UrlSegment,
|
||||
dto.VersionId,
|
||||
dto.EditVersionDate,
|
||||
dto.EditWriterId,
|
||||
dto.EditTemplateId,
|
||||
published,
|
||||
deserializedContent.PropertyData,
|
||||
deserializedContent.CultureData);
|
||||
deserializedContent?.PropertyData,
|
||||
deserializedContent?.CultureData);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -852,14 +855,14 @@ AND cmsContentNu.nodeId IS NULL
|
||||
|
||||
p = new ContentData(
|
||||
dto.PubName,
|
||||
deserializedContent.UrlSegment,
|
||||
deserializedContent?.UrlSegment,
|
||||
dto.VersionId,
|
||||
dto.PubVersionDate,
|
||||
dto.PubWriterId,
|
||||
dto.PubTemplateId,
|
||||
published,
|
||||
deserializedContent.PropertyData,
|
||||
deserializedContent.CultureData);
|
||||
deserializedContent?.PropertyData,
|
||||
deserializedContent?.CultureData);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -887,8 +890,8 @@ AND cmsContentNu.nodeId IS NULL
|
||||
dto.CreatorId,
|
||||
-1,
|
||||
published,
|
||||
deserializedMedia.PropertyData,
|
||||
deserializedMedia.CultureData);
|
||||
deserializedMedia?.PropertyData,
|
||||
deserializedMedia?.CultureData);
|
||||
|
||||
var n = new ContentNode(dto.Id, dto.Key,
|
||||
dto.Level, dto.Path, dto.SortOrder, dto.ParentId, dto.CreateDate, dto.CreatorId);
|
||||
|
||||
Reference in New Issue
Block a user