Skip to content

DmfsTask: migrate all task field writers to individual builder classes #340

@rfc2822

Description

@rfc2822

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    refactoringQuality improvement of existing functionstasksRegarding tasks / everything that's stored in a task app provider

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions