Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V8/8.7 trackercolletion #114

Merged
merged 2 commits into from
Jun 12, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions uSync8.BackOffice/SyncHandlers/Handlers/ContentTypeHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,11 @@ public ContentTypeHandler(
IProfilingLogger logger,
IContentTypeService contentTypeService,
ISyncSerializer<IContentType> serializer,
ISyncTracker<IContentType> tracker,
SyncTrackerCollection trackers,
AppCaches appCaches,
SyncDependencyCollection checkers,
SyncFileService fileService)
: base(entityService, logger, serializer, tracker, appCaches, checkers, fileService)
: base(entityService, logger, serializer, trackers, appCaches, checkers, fileService)
{
this.contentTypeService = contentTypeService;
}
Expand Down
4 changes: 2 additions & 2 deletions uSync8.BackOffice/SyncHandlers/Handlers/DataTypeHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,10 @@ public DataTypeHandler(
IProfilingLogger logger,
ISyncSerializer<IDataType> serializer,
SyncDependencyCollection checkers,
ISyncTracker<IDataType> tracker,
SyncTrackerCollection trackers,
AppCaches appCaches,
SyncFileService syncFileService)
: base(entityService, logger, serializer, tracker, appCaches, checkers, syncFileService)
: base(entityService, logger, serializer, trackers, appCaches, checkers, syncFileService)
{
this.dataTypeService = dataTypeService;
}
Expand Down
4 changes: 2 additions & 2 deletions uSync8.BackOffice/SyncHandlers/Handlers/LanguageHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,11 @@ public LanguageHandler(
IProfilingLogger logger,
ILocalizationService localizationService,
ISyncSerializer<ILanguage> serializer,
ISyncTracker<ILanguage> tracker,
SyncTrackerCollection trackers,
AppCaches appCaches,
SyncDependencyCollection checkers,
SyncFileService syncFileService)
: base(entityService, logger, serializer, tracker, appCaches, checkers, syncFileService)
: base(entityService, logger, serializer, trackers, appCaches, checkers, syncFileService)
{
this.localizationService = localizationService;
}
Expand Down
4 changes: 2 additions & 2 deletions uSync8.BackOffice/SyncHandlers/Handlers/MacroHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,11 @@ public MacroHandler(IEntityService entityService,
IProfilingLogger logger,
IMacroService macroService,
ISyncSerializer<IMacro> serializer,
ISyncTracker<IMacro> tracker,
SyncTrackerCollection trackers,
AppCaches appCaches,
SyncDependencyCollection checkers,
SyncFileService syncFileService)
: base(entityService, logger, serializer, tracker, appCaches, checkers, syncFileService)
: base(entityService, logger, serializer, trackers, appCaches, checkers, syncFileService)
{
this.macroService = macroService;
}
Expand Down
4 changes: 2 additions & 2 deletions uSync8.BackOffice/SyncHandlers/Handlers/MediaTypeHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,11 @@ public MediaTypeHandler(
IMediaTypeService mediaTypeService,
IProfilingLogger logger,
ISyncSerializer<IMediaType> serializer,
ISyncTracker<IMediaType> tracker,
SyncTrackerCollection trackers,
AppCaches appCaches,
SyncDependencyCollection checkers,
SyncFileService syncFileService)
: base(entityService, logger, serializer, tracker, appCaches, checkers, syncFileService)
: base(entityService, logger, serializer, trackers, appCaches, checkers, syncFileService)
{
this.mediaTypeService = mediaTypeService;
}
Expand Down
4 changes: 2 additions & 2 deletions uSync8.BackOffice/SyncHandlers/Handlers/MemberTypeHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,11 @@ public MemberTypeHandler(
IProfilingLogger logger,
IMemberTypeService memberTypeService,
ISyncSerializer<IMemberType> serializer,
ISyncTracker<IMemberType> tracker,
SyncTrackerCollection trackers,
AppCaches appCaches,
SyncDependencyCollection checkers,
SyncFileService syncFileService)
: base(entityService, logger, serializer, tracker, appCaches, checkers, syncFileService)
: base(entityService, logger, serializer, trackers, appCaches, checkers, syncFileService)
{
this.memberTypeService = memberTypeService;

Expand Down
4 changes: 2 additions & 2 deletions uSync8.BackOffice/SyncHandlers/Handlers/TemplateHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,11 @@ public TemplateHandler(
IProfilingLogger logger,
IFileService fileService,
ISyncSerializer<ITemplate> serializer,
ISyncTracker<ITemplate> tracker,
SyncTrackerCollection trackers,
AppCaches appCaches,
SyncDependencyCollection checkers,
SyncFileService syncFileService)
: base(entityService, logger, serializer, tracker, appCaches, checkers, syncFileService)
: base(entityService, logger, serializer, trackers, appCaches, checkers, syncFileService)
{
this.fileService = fileService;
}
Expand Down
47 changes: 24 additions & 23 deletions uSync8.BackOffice/SyncHandlers/SyncHandlerBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public abstract class SyncHandlerBase<TObject, TService>
protected readonly IList<ISyncDependencyChecker<TObject>> checkers;

protected readonly ISyncSerializer<TObject> serializer;
protected readonly ISyncTracker<TObject> tracker;
protected readonly IList<ISyncTracker<TObject>> trackers;
protected readonly IAppPolicyCache runtimeCache;

// handler things
Expand Down Expand Up @@ -76,7 +76,7 @@ public SyncHandlerBase(
ISyncTracker<TObject> tracker,
AppCaches appCaches,
SyncFileService syncFileService)
: this(entityService, logger, serializer, tracker, appCaches, Enumerable.Empty<ISyncDependencyChecker<TObject>>(), syncFileService) { }
: this(entityService, logger, serializer, tracker.AsEnumerableOfOne(), appCaches, Enumerable.Empty<ISyncDependencyChecker<TObject>>(), syncFileService) { }

[Obsolete("Construct your handler using SyncDependencyCollection for better checker support")]
public SyncHandlerBase(
Expand All @@ -87,25 +87,25 @@ public SyncHandlerBase(
AppCaches appCaches,
ISyncDependencyChecker<TObject> dependencyChecker,
SyncFileService syncFileService)
: this(entityService, logger, serializer, tracker, appCaches, dependencyChecker.AsEnumerableOfOne(), syncFileService)
: this(entityService, logger, serializer, tracker.AsEnumerableOfOne(), appCaches, dependencyChecker.AsEnumerableOfOne(), syncFileService)
{ }


public SyncHandlerBase(
IEntityService entityService,
IProfilingLogger logger,
ISyncSerializer<TObject> serializer,
ISyncTracker<TObject> tracker,
SyncTrackerCollection trackers,
AppCaches appCaches,
SyncDependencyCollection checkers,
SyncFileService syncFileService)
: this(entityService, logger, serializer, tracker, appCaches, checkers.GetCheckers<TObject>(), syncFileService)
: this(entityService, logger, serializer, trackers.GetTrackers<TObject>(), appCaches, checkers.GetCheckers<TObject>(), syncFileService)
{ }

public SyncHandlerBase(IEntityService entityService,
IProfilingLogger logger,
ISyncSerializer<TObject> serializer,
ISyncTracker<TObject> tracker,
IEnumerable<ISyncTracker<TObject>> trackers,
AppCaches appCaches,
IEnumerable<ISyncDependencyChecker<TObject>> checkers,
SyncFileService syncFileService)
Expand All @@ -117,7 +117,7 @@ public SyncHandlerBase(IEntityService entityService,
this.entityService = entityService;

this.serializer = serializer;
this.tracker = tracker;
this.trackers = trackers.ToList();
this.checkers = checkers.ToList();

this.syncFileService = syncFileService;
Expand Down Expand Up @@ -645,25 +645,20 @@ protected virtual IEnumerable<uSyncAction> ReportDeleteCheck(string folder, IEnu
duplicateAction.DetailMessage = "uSync detected a duplicate actions, where am item will be both created and deleted.";
var details = new List<uSyncChange>();

// add the delete message to the list of changes
details.Add(new uSyncChange()
{
Change = ChangeDetailType.Delete,
Name = $"Delete: {deleteAction.Name} ({Path.GetFileName(deleteAction.FileName)})",
NewValue = deleteAction.FileName.Substring(folder.Length),
Path = Path.GetFileName(deleteAction.FileName)
});
details.Add(uSyncChange.Delete(
Path.GetFileName(deleteAction.FileName),
$"Delete: {deleteAction.Name} ({Path.GetFileName(deleteAction.FileName)}",
deleteAction.FileName.Substring(folder.Length)));

// add all the duplicates to the list of changes.
foreach (var dup in actions.Where(x => x.Change != ChangeType.Delete && DoActionsMatch(x, deleteAction)))
{
details.Add(new uSyncChange()
{
Change = ChangeDetailType.Update,
Name = $"{dup.Change}: {dup.Name} ({Path.GetFileName(dup.FileName)})",
NewValue = dup.FileName.Substring(folder.Length),
Path = Path.GetFileName(dup.FileName)
});

details.Add(uSyncChange.Update(
Path.GetFileName(dup.FileName),
$"{dup.Change}: {dup.Name} ({Path.GetFileName(dup.FileName)}",
"",
dup.FileName.Substring(folder.Length)));
}

duplicateAction.Details = details;
Expand Down Expand Up @@ -795,7 +790,7 @@ protected virtual IEnumerable<uSyncAction> ReportElement(XElement node, string f
}
else if (action.Change > ChangeType.NoChange)
{
action.Details = tracker.GetChanges(node);
action.Details = GetTrackerChanges(node);
if (action.Change != ChangeType.Create && (action.Details == null || action.Details.Count() == 0))
{
action.Message = "Change details not calculated";
Expand All @@ -821,6 +816,12 @@ protected virtual IEnumerable<uSyncAction> ReportElement(XElement node, string f
}
}

private IEnumerable<uSyncChange> GetTrackerChanges(XElement node)
{
if (trackers == null) return Enumerable.Empty<uSyncChange>();
return trackers.SelectMany(x => x.GetChanges(node));
}

protected IEnumerable<uSyncAction> ReportItem(string file, HandlerSettings config)
{
try
Expand Down
4 changes: 2 additions & 2 deletions uSync8.BackOffice/SyncHandlers/SyncHandlerContainerBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,11 @@ protected SyncHandlerContainerBase(
IEntityService entityService,
IProfilingLogger logger,
ISyncSerializer<TObject> serializer,
ISyncTracker<TObject> tracker,
SyncTrackerCollection trackers,
AppCaches appCaches,
SyncDependencyCollection checkers,
SyncFileService syncFileService)
: base(entityService, logger, serializer, tracker, appCaches, checkers, syncFileService)
: base(entityService, logger, serializer, trackers, appCaches, checkers, syncFileService)
{
}

Expand Down
4 changes: 2 additions & 2 deletions uSync8.BackOffice/SyncHandlers/SyncHandlerLevelBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -48,11 +48,11 @@ protected SyncHandlerLevelBase(
IEntityService entityService,
IProfilingLogger logger,
ISyncSerializer<TObject> serializer,
ISyncTracker<TObject> tracker,
SyncTrackerCollection trackers,
AppCaches appCaches,
SyncDependencyCollection checkers,
SyncFileService syncFileService)
: base(entityService, logger, serializer, tracker, appCaches, checkers, syncFileService)
: base(entityService, logger, serializer, trackers, appCaches, checkers, syncFileService)
{ }

[Obsolete("Construct your handler using SyncDependencyCollection for better checker support")]
Expand Down
4 changes: 2 additions & 2 deletions uSync8.BackOffice/SyncHandlers/SyncHandlerTreeBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,11 @@ protected SyncHandlerTreeBase(
IEntityService entityService,
IProfilingLogger logger,
ISyncSerializer<TObject> serializer,
ISyncTracker<TObject> tracker,
SyncTrackerCollection trackers,
AppCaches appCaches,
SyncDependencyCollection checkers,
SyncFileService syncFileService)
: base(entityService, logger, serializer, tracker, appCaches, checkers, syncFileService)
: base(entityService, logger, serializer, trackers, appCaches, checkers, syncFileService)
{
}

Expand Down
4 changes: 2 additions & 2 deletions uSync8.ContentEdition/Handlers/ContentHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,11 @@ public ContentHandler(
IProfilingLogger logger,
IContentService contentService,
ISyncSerializer<IContent> serializer,
ISyncTracker<IContent> tracker,
SyncTrackerCollection trackers,
AppCaches appCaches,
SyncDependencyCollection checkers,
SyncFileService syncFileService)
: base(entityService, logger, serializer, tracker, appCaches, checkers, syncFileService)
: base(entityService, logger, serializer, trackers, appCaches, checkers, syncFileService)
{
this.contentService = contentService;

Expand Down
4 changes: 2 additions & 2 deletions uSync8.ContentEdition/Handlers/ContentHandlerBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -46,11 +46,11 @@ protected ContentHandlerBase(
IEntityService entityService,
IProfilingLogger logger,
ISyncSerializer<TObject> serializer,
ISyncTracker<TObject> tracker,
SyncTrackerCollection trackers,
AppCaches appCaches,
SyncDependencyCollection checkers,
SyncFileService syncFileService)
: base(entityService, logger, serializer, tracker, appCaches, checkers, syncFileService)
: base(entityService, logger, serializer, trackers, appCaches, checkers, syncFileService)
{ }

[Obsolete("Construct your handler using SyncDependencyCollection for better checker support")]
Expand Down
4 changes: 2 additions & 2 deletions uSync8.ContentEdition/Handlers/DictionaryHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,11 @@ public DictionaryHandler(IEntityService entityService,
IProfilingLogger logger,
ILocalizationService localizationService,
ISyncSerializer<IDictionaryItem> serializer,
ISyncTracker<IDictionaryItem> tracker,
SyncTrackerCollection trackers,
AppCaches appCaches,
SyncDependencyCollection checkers,
SyncFileService syncFileService)
: base(entityService, logger, serializer, tracker, appCaches, checkers, syncFileService)
: base(entityService, logger, serializer, trackers, appCaches, checkers, syncFileService)
{
this.localizationService = localizationService;
}
Expand Down
4 changes: 2 additions & 2 deletions uSync8.ContentEdition/Handlers/DomainHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,11 @@ public DomainHandler(IEntityService entityService,
IProfilingLogger logger,
IDomainService domainService,
ISyncSerializer<IDomain> serializer,
ISyncTracker<IDomain> tracker,
SyncTrackerCollection trackers,
AppCaches appCaches,
SyncDependencyCollection checkers,
SyncFileService syncFileService)
: base(entityService, logger, serializer, tracker, appCaches, checkers, syncFileService)
: base(entityService, logger, serializer, trackers, appCaches, checkers, syncFileService)
{
this.domainService = domainService;
}
Expand Down
4 changes: 2 additions & 2 deletions uSync8.ContentEdition/Handlers/MediaHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,11 @@ public MediaHandler(
IProfilingLogger logger,
IMediaService mediaService,
ISyncSerializer<IMedia> serializer,
ISyncTracker<IMedia> tracker,
SyncTrackerCollection trackers,
AppCaches appCaches,
SyncDependencyCollection checkers,
SyncFileService syncFileService)
: base(entityService, logger, serializer, tracker, appCaches, checkers, syncFileService)
: base(entityService, logger, serializer, trackers, appCaches, checkers, syncFileService)
{
this.mediaService = mediaService;
performDoubleLookup = UmbracoVersion.LocalVersion.Major != 8 || UmbracoVersion.LocalVersion.Minor < 4;
Expand Down
4 changes: 2 additions & 2 deletions uSync8.ContentEdition/Handlers/RelationTypeHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -40,11 +40,11 @@ public RelationTypeHandler(
IRelationService relationService,
IProfilingLogger logger,
ISyncSerializer<IRelationType> serializer,
ISyncTracker<IRelationType> tracker,
SyncTrackerCollection trackers,
AppCaches appCaches,
SyncDependencyCollection checkers,
SyncFileService syncFileService)
: base(entityService, logger, serializer, tracker, appCaches, checkers, syncFileService)
: base(entityService, logger, serializer, trackers, appCaches, checkers, syncFileService)
{
this.relationService = relationService;
}
Expand Down
Loading