Skip to content

[jtx rewrite] Implement basic info handlers#2474

Open
ArnyminerZ wants to merge 7 commits into
mainfrom
2451-jtx-rewrite-implement-basic-info-handlers
Open

[jtx rewrite] Implement basic info handlers#2474
ArnyminerZ wants to merge 7 commits into
mainfrom
2451-jtx-rewrite-implement-basic-info-handlers

Conversation

@ArnyminerZ

Copy link
Copy Markdown
Member

Purpose

Add basic info handlers and their corresponding tests.

Short description

  • Summary
  • Color
  • Geofence radius
  • URL
  • Contact
  • Status
  • Xstatus
  • Classification

Note: description was already added

Checklist

  • The PR has a proper title, description and label.
  • I have self-reviewed the PR.
  • I have added documentation to complex functions and functions that can be used by other modules.
  • I have added reasonable tests or consciously decided to not add tests.

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
@ArnyminerZ ArnyminerZ requested a review from Copilot June 11, 2026 16:13
@ArnyminerZ ArnyminerZ self-assigned this Jun 11, 2026
@ArnyminerZ ArnyminerZ added refactoring Internal improvement of existing functions jtx Board Related to jtx Board labels Jun 11, 2026
@ArnyminerZ ArnyminerZ linked an issue Jun 11, 2026 that may be closed by this pull request
9 tasks

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a set of new JTX → iCalendar entity handlers for “basic info” fields (summary, status, URL, contact, color, classification, geofence radius, extended status) and introduces corresponding Robolectric unit tests for each handler.

Changes:

  • Added new JtxObjectEntityHandler implementations to map basic JTX columns into CalendarComponent properties.
  • Added unit tests validating per-field mapping behavior (including “missing value” scenarios).
  • Added handling for X-properties (X-STATUS, X-GEOFENCE-RADIUS) via XProperty.

Reviewed changes

Copilot reviewed 16 out of 16 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
synctools/src/main/kotlin/at/bitfire/synctools/mapping/jtx/handler/XStatusHandler.kt Maps EXTENDED_STATUS from JTX into an iCalendar X-property.
synctools/src/main/kotlin/at/bitfire/synctools/mapping/jtx/handler/UrlHandler.kt Maps JTX URL into iCalendar URL.
synctools/src/main/kotlin/at/bitfire/synctools/mapping/jtx/handler/SummaryHandler.kt Maps JTX SUMMARY into iCalendar SUMMARY.
synctools/src/main/kotlin/at/bitfire/synctools/mapping/jtx/handler/StatusHandler.kt Maps JTX STATUS into iCalendar STATUS.
synctools/src/main/kotlin/at/bitfire/synctools/mapping/jtx/handler/GeoFenceRadiusHandler.kt Maps JTX GEOFENCE_RADIUS into iCalendar X-GEOFENCE-RADIUS.
synctools/src/main/kotlin/at/bitfire/synctools/mapping/jtx/handler/ContactHandler.kt Maps JTX CONTACT into iCalendar CONTACT.
synctools/src/main/kotlin/at/bitfire/synctools/mapping/jtx/handler/ColorHandler.kt Maps JTX COLOR int into iCalendar COLOR name via nearest CSS3 match.
synctools/src/main/kotlin/at/bitfire/synctools/mapping/jtx/handler/ClassificationHandler.kt Maps JTX CLASSIFICATION into iCalendar CLASS.
synctools/src/test/kotlin/at/bitfire/synctools/mapping/jtx/handler/XStatusHandlerTest.kt Unit tests for X-status mapping.
synctools/src/test/kotlin/at/bitfire/synctools/mapping/jtx/handler/UrlHandlerTest.kt Unit tests for URL mapping.
synctools/src/test/kotlin/at/bitfire/synctools/mapping/jtx/handler/SummaryHandlerTest.kt Unit tests for summary mapping.
synctools/src/test/kotlin/at/bitfire/synctools/mapping/jtx/handler/StatusHandlerTest.kt Unit tests for status mapping.
synctools/src/test/kotlin/at/bitfire/synctools/mapping/jtx/handler/GeoFenceRadiusHandlerTest.kt Unit tests for geofence radius X-property mapping.
synctools/src/test/kotlin/at/bitfire/synctools/mapping/jtx/handler/ContactHandlerTest.kt Unit tests for contact mapping.
synctools/src/test/kotlin/at/bitfire/synctools/mapping/jtx/handler/ColorHandlerTest.kt Unit tests for color mapping.
synctools/src/test/kotlin/at/bitfire/synctools/mapping/jtx/handler/ClassificationHandlerTest.kt Unit tests for classification mapping.

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 16 out of 16 changed files in this pull request and generated 2 comments.

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
@ArnyminerZ ArnyminerZ marked this pull request as ready for review June 11, 2026 18:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

jtx Board Related to jtx Board refactoring Internal improvement of existing functions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[jtx rewrite] Implement basic info handlers

2 participants