Skip to content

split relation utils#1088

Draft
Jacob-Eliat-Eliat wants to merge 9 commits intomasterfrom
split-fdm-utils
Draft

split relation utils#1088
Jacob-Eliat-Eliat wants to merge 9 commits intomasterfrom
split-fdm-utils

Conversation

@Jacob-Eliat-Eliat
Copy link
Copy Markdown
Contributor

@Jacob-Eliat-Eliat Jacob-Eliat-Eliat commented Feb 5, 2026

Wondering if something like this (minimum changes here) is viable to help clean things up a bit. It's a bit difficult to understand what exactly is included in "FlexibleDataModelsRelationUtils" and this split along Convertors, RowDataExtractors and Validators should help a bit... But it might be an absolute pain to review so not sure if worth it.

This is not a major improvement, just a (hopefully) relatively logical split of a large class into 4 more targeted ones, should be no functional changes. My biggest concern is how annoying it's going to be to review for a reviewer :/

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request is a significant refactoring that splits the large FlexibleDataModelRelationUtils object into smaller, more focused utility objects: Convertors, RowDataExtractors, Validators, and a new orchestrating FlexibleDataModelRelationUtils. This is an excellent change that greatly improves the code's structure, maintainability, and readability. The new organization is logical and makes the purpose of each component much clearer.

I've found one critical issue regarding a type mismatch during the construction of instance data, which would likely cause a compilation failure. I have provided a detailed comment with a suggested fix. Once that is addressed, this refactoring will be in great shape.

@codecov
Copy link
Copy Markdown

codecov Bot commented Feb 5, 2026

Codecov Report

❌ Patch coverage is 83.33333% with 26 lines in your changes missing coverage. Please review.
✅ Project coverage is 85.17%. Comparing base (322cb0a) to head (d579963).

Files with missing lines Patch % Lines
.../spark/v1/fdm/RelationUtils/RowValuesParsers.scala 63.82% 17 Missing ⚠️
...spark/v1/fdm/RelationUtils/RowDataExtractors.scala 72.00% 7 Missing ⚠️
...ognite/spark/v1/fdm/RelationUtils/Validators.scala 83.33% 2 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1088   +/-   ##
=======================================
  Coverage   85.17%   85.17%           
=======================================
  Files          47       50    +3     
  Lines        3102     3102           
  Branches      507      498    -9     
=======================================
  Hits         2642     2642           
  Misses        460      460           
Files with missing lines Coverage Δ
...e/spark/v1/fdm/FlexibleDataModelBaseRelation.scala 71.11% <100.00%> (-0.11%) ⬇️
...k/v1/fdm/FlexibleDataModelConnectionRelation.scala 80.32% <ø> (ø)
...v1/fdm/FlexibleDataModelCorePropertyRelation.scala 72.22% <ø> (ø)
.../fdm/RelationUtils/RowToFDMPayloadConverters.scala 100.00% <100.00%> (ø)
...ognite/spark/v1/fdm/RelationUtils/Validators.scala 83.33% <83.33%> (ø)
...spark/v1/fdm/RelationUtils/RowDataExtractors.scala 86.84% <72.00%> (ø)
.../spark/v1/fdm/RelationUtils/RowValuesParsers.scala 63.82% <63.82%> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Feb 8, 2026

This pull request seems a bit stale.. Shall we invite more to the party?

@mr-celo mr-celo marked this pull request as draft February 19, 2026 09:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants