Part of #116. Depends on #339.
Analogous to: events synctools #67 + synctools #71
synctools changes
Split the large DmfsTaskBuilder (300+ lines) into separate per-field builder classes in mapping/tasks/builder/:
Main task row fields
UidBuilder, SyncIdBuilder, ETagBuilder, SyncFlagsBuilder, SequenceBuilder, ListIdBuilder, DirtyAndDeletedBuilder
Content fields
Status fields
PriorityBuilder, ClassificationBuilder, StatusBuilder, CompletedBuilder, PercentCompleteBuilder
Time fields
StartTimeBuilder, DueBuilder, DurationBuilder, AllDayBuilder
Recurrence
RecurrenceFieldsBuilder (RRULE, RDATE, EXDATE)
Property sub-rows
AlarmsBuilder, CategoriesBuilder, CommentsBuilder, RelationsBuilder, UnknownPropertiesBuilder
DmfsTaskBuilder itself becomes a thin orchestrator that instantiates and calls all field builders. Each builder class gets its own unit test.
DAVx5 changes
None needed.
Part of #116. Depends on #339.
Analogous to: events synctools #67 + synctools #71
synctools changes
Split the large
DmfsTaskBuilder(300+ lines) into separate per-field builder classes inmapping/tasks/builder/:Main task row fields
UidBuilder,SyncIdBuilder,ETagBuilder,SyncFlagsBuilder,SequenceBuilder,ListIdBuilder,DirtyAndDeletedBuilderContent fields
TitleBuilder(from DmfsTask: introduce DmfsTaskFieldBuilder interface + first builder #339),DescriptionBuilder,LocationBuilder,GeoBuilder,ColorBuilder,UrlBuilder,OrganizerBuilderStatus fields
PriorityBuilder,ClassificationBuilder,StatusBuilder,CompletedBuilder,PercentCompleteBuilderTime fields
StartTimeBuilder,DueBuilder,DurationBuilder,AllDayBuilderRecurrence
RecurrenceFieldsBuilder(RRULE, RDATE, EXDATE)Property sub-rows
AlarmsBuilder,CategoriesBuilder,CommentsBuilder,RelationsBuilder,UnknownPropertiesBuilderDmfsTaskBuilderitself becomes a thin orchestrator that instantiates and calls all field builders. Each builder class gets its own unit test.DAVx5 changes
None needed.