Skip to content
This repository was archived by the owner on Jul 28, 2025. It is now read-only.

Conversation

@ianfnelson
Copy link
Contributor

Description

Realised that the Header and Trailer rows in NBSS Appointment Event files are subtly different - the dates and times refer to the transfer start and end time respectively. Hence they should have different names.
So have replaced the general FileControlRecord class with separate FileHeaderRecord and FileTrailerRecord classes with appropriately named fields.

Context

  • No confusion over the meaning of TransferStartTime vs TransferEndTime
  • Enables targeted validation: e.g., your HeaderTransferTimeValidator won’t mistakenly run against trailer data
  • Self-documenting code: each class maps clearly to the file section it represents
  • Can still share parsing logic if the structure is similar, but the model won’t lie

Type of changes

  • Refactoring (non-breaking change)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would change existing functionality)
  • Bug fix (non-breaking change which fixes an issue)

Checklist

  • I am familiar with the contributing guidelines
  • I have followed the code style of the project
  • I have added tests to cover my changes
  • I have updated the documentation accordingly
  • This PR is a result of pair or mob programming

Sensitive Information Declaration

To ensure the utmost confidentiality and protect your and others privacy, we kindly ask you to NOT including PII (Personal Identifiable Information) / PID (Personal Identifiable Data) or any other sensitive data in this PR (Pull Request) and the codebase changes. We will remove any PR that do contain any sensitive information. We really appreciate your cooperation in this matter.

  • I confirm that neither PII/PID nor sensitive data are included in this PR and the codebase changes.

@sonarqubecloud
Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
0.0% Coverage on New Code (required ≥ 80%)

See analysis details on SonarQube Cloud

@ianfnelson ianfnelson merged commit 3f75744 into main May 19, 2025
38 of 39 checks passed
@ianfnelson ianfnelson deleted the refactor/splitfileheaderandfooter branch May 19, 2025 15:03
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants