Example #1
0
        private VersioningInfo GetVersioningInfo(DocumentPopulatorData state)
        {
            var settings = state.Settings;

            var mustReindex = new List <int>();

            if (settings.LastMajorVersionIdBefore != settings.LastMajorVersionIdAfter)
            {
                mustReindex.Add(settings.LastMajorVersionIdBefore);
                mustReindex.Add(settings.LastMajorVersionIdAfter);
            }
            if (settings.LastMinorVersionIdBefore != settings.LastMinorVersionIdAfter)
            {
                mustReindex.Add(settings.LastMinorVersionIdBefore);
                mustReindex.Add(settings.LastMinorVersionIdAfter);
            }

            return(new VersioningInfo
            {
                LastDraftVersionId = settings.LastMinorVersionIdAfter,
                LastPublicVersionId = settings.LastMajorVersionIdAfter,
                Delete = settings.DeletableVersionIds.ToArray(),
                Reindex = mustReindex.Except(new[] { 0, state.Node.VersionId }).Except(settings.DeletableVersionIds).ToArray()
            });
        }
Example #2
0
        // caller: Node.Save, Node.SaveCopied
        public object BeginPopulateNode(Node node, NodeSaveSettings settings, string originalPath, string newPath)
        {
            if (node == null)
            {
                throw new ArgumentNullException(nameof(node));
            }
            if (settings == null)
            {
                throw new ArgumentNullException(nameof(settings));
            }
            if (originalPath == null)
            {
                throw new ArgumentNullException(nameof(originalPath));
            }
            if (newPath == null)
            {
                throw new ArgumentNullException(nameof(newPath));
            }

            var populatorData = new DocumentPopulatorData
            {
                Node         = node,
                Settings     = settings,
                OriginalPath = originalPath,
                NewPath      = newPath,
                NodeHead     = settings.NodeHead,
                IsNewNode    = node.Id == 0,
            };

            return(populatorData);
        }
Example #3
0
 // caller: CommitPopulateNode
 private static void UpdateVersion(DocumentPopulatorData state, IndexDocumentData indexDocumentData)
 {
     foreach (var versionId in state.Settings.DeletableVersionIds)
     {
         ExecuteActivity(CreateActivity(IndexingActivityType.RemoveDocument, state.Node.Id, versionId, 0, null, null));
     }
     if (!state.Settings.DeletableVersionIds.Contains(state.Node.VersionId))
     {
         ExecuteActivity(CreateActivity(IndexingActivityType.UpdateDocument, state.Node.Id, state.Node.VersionId, state.Node.VersionTimestamp, null, indexDocumentData));
     }
 }
Example #4
0
        // caller: Node.Save, Node.SaveCopied
        public object BeginPopulateNode(Node node, NodeSaveSettings settings, string originalPath, string newPath)
        {
            var populatorData = new DocumentPopulatorData
            {
                Node         = node,
                Settings     = settings,
                OriginalPath = originalPath,
                NewPath      = newPath,
                NodeHead     = settings.NodeHead,
                IsNewNode    = node.Id == 0,
            };

            return(populatorData);
        }
Example #5
0
 // caller: CommitPopulateNode
 private static void UpdateVersion(DocumentPopulatorData state, IndexDocumentData indexDocumentData)
 {
     foreach (var versionId in state.Settings.DeletableVersionIds)
         ExecuteActivity(CreateActivity(IndexingActivityType.RemoveDocument, state.Node.Id, versionId, 0, null, null));//UNDONE: SingleVersion
     if (!state.Settings.DeletableVersionIds.Contains(state.Node.VersionId))
         ExecuteActivity(CreateActivity(IndexingActivityType.UpdateDocument, state.Node.Id, state.Node.VersionId, state.Node.VersionTimestamp, null, indexDocumentData));//UNDONE: SingleVersion
 }
Example #6
0
 // caller: Node.Save, Node.SaveCopied
 public object BeginPopulateNode(Node node, NodeSaveSettings settings, string originalPath, string newPath)
 {
     var populatorData = new DocumentPopulatorData
     {
         Node = node,
         Settings = settings,
         OriginalPath = originalPath,
         NewPath = newPath,
         NodeHead = settings.NodeHead,
         IsNewNode = node.Id == 0,
     };
     return populatorData;
 }
Example #7
0
 // caller: CommitPopulateNode
 private static void UpdateVersion(DocumentPopulatorData state, VersioningInfo versioningInfo, IndexDocumentData indexDocumentData)
 {
     CreateActivityAndExecute(IndexingActivityType.UpdateDocument, state.OriginalPath, state.Node.Id, state.Node.VersionId, state.Node.VersionTimestamp, null, versioningInfo, indexDocumentData);
 }
Example #8
0
 // caller: CommitPopulateNode
 private static STT.Task UpdateVersionAsync(DocumentPopulatorData state, VersioningInfo versioningInfo, IndexDocumentData indexDocumentData, CancellationToken cancellationToken)
 {
     return(CreateActivityAndExecuteAsync(IndexingActivityType.UpdateDocument, state.OriginalPath, state.Node.Id, state.Node.VersionId, state.Node.VersionTimestamp, versioningInfo, indexDocumentData, cancellationToken));
 }