Skip to content

Conversation

@petruki
Copy link
Member

@petruki petruki commented Aug 10, 2025

This pull request introduces a new JSON output feature to the DotPathQL API, allowing users to convert filtered or excluded results to pretty-formatted or compact JSON strings. It also adds comprehensive Maven and CI/CD integration for code coverage and SonarCloud analysis, updates documentation, and improves test coverage for the new utilities. The most important changes are grouped below:

Feature Additions: JSON Output Support

  • Added PathPrinter utility (src/main/java/io/github/trackerforce/PathPrinter.java) to enable conversion of filtered results to JSON, supporting both pretty (indented) and compact formats.
  • Updated DotPathQL API (src/main/java/io/github/trackerforce/DotPathQL.java) with toJson and toMap methods for easy conversion to JSON and map representations. [1] [2] [3]

Documentation Updates

  • Enhanced README.md with examples and explanations for the new JSON output feature, including sample code and output for both pretty and compact formats. [1] [2]

Build and CI/CD Integration

  • Added SonarCloud scan job to GitHub Actions workflow (.github/workflows/master.yml) for continuous code quality analysis.
  • Integrated Jacoco and Sonar Maven plugins in pom.xml, including new profiles for coverage and Sonar analysis, and necessary plugin management and properties. [1] [2] [3]

Testing Improvements

  • Added new test classes (PrintTypeClassRecordTest.java, UtilsTest.java) to validate JSON output and utility methods for arrays, lists, and maps. [1] [2]

Fixture Enhancements

  • Updated Address fixture class to include additional array and list fields for more comprehensive testing. [1] [2] [3] [4]

@petruki petruki self-assigned this Aug 10, 2025
@sonarqubecloud
Copy link

@petruki petruki merged commit 46f2bbe into master Aug 10, 2025
15 of 17 checks passed
@petruki petruki deleted the staging branch August 10, 2025 07:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants