Skip to content

feat: Implement Lightcycler XML parsing with validation for unique sa… #56

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

Merged
merged 8 commits into from
Aug 11, 2025

Conversation

simbig
Copy link
Contributor

@simbig simbig commented Aug 8, 2025

…mple coordinates

  • Added automated tests
  • Documented for all relevant versions
  • Updated the changelog

Changes

Support parsing Lightcycler Sample Sheets from XML-file #56

@simbig simbig requested a review from Copilot August 8, 2025 10:46
Copy link

@Copilot Copilot AI left a comment

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 implements XML parsing functionality for Lightcycler sample sheets with validation for unique sample coordinates. The implementation includes comprehensive error handling for missing properties, invalid data types, and duplicate coordinates.

  • Added LightcyclerXmlParser class to parse XML files containing sample data
  • Created validation logic for required properties, data consistency, and coordinate uniqueness
  • Implemented comprehensive error handling with custom exception classes

Reviewed Changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
tests/LightcyclerExportSheet/QpcrXmlParserTest.php Comprehensive test suite covering XML parsing, validation, error handling, and edge cases
src/LightcyclerExportSheet/LightcyclerXmlParser.php Main XML parser class with sample extraction and validation logic
src/LightcyclerExportSheet/LightcyclerSample.php Data class representing a Lightcycler sample with coordinates and measurements
src/LightcyclerExportSheet/LightcyclerDataParsingTrait.php Shared parsing utilities for data validation, cleaning, and coordinate uniqueness checks
src/LightcyclerExportSheet/MissingRequiredPropertyException.php Custom exception for missing required XML properties
src/LightcyclerExportSheet/DuplicateCoordinatesException.php Custom exception for duplicate sample coordinates
composer.json Added ext-simplexml dependency for XML parsing
CHANGELOG.md Updated changelog entry for the new feature

@simbig simbig requested a review from spawnia August 8, 2025 10:48
@simbig simbig requested a review from spawnia August 11, 2025 08:36
@simbig simbig merged commit 1eb7b1f into master Aug 11, 2025
26 checks passed
@simbig simbig deleted the lightcycler-export-sheet branch August 11, 2025 09:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants