Skip to content
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

Overload DatasetField method to remove type check #9010

Merged
merged 16 commits into from
Jul 19, 2024

Conversation

bencomp
Copy link
Contributor

@bencomp bencomp commented Oct 3, 2022

What this PR does / why we need it:

It replaces a method that did a string comparison on the class name of an Object parameter to determine what to do by two methods that have the expected parameter types.
This improves type safety by allowing the compiler to check types.

Which issue(s) this PR closes:

Closes #1240, removes a TODO from the codebase and relates to #9021.

Special notes for your reviewer:
I added a few basic unit tests so that the coverage doesn't decrease with the new methods.

Suggestions on how to test this:
Please check that the logic of the new tests makes sense and that they pass like the existing unit tests.

Does this PR introduce a user interface change? If mockups are available, please link/include them here:
No.

Is there a release notes update needed for this change?:
No.

Additional documentation:

I spotted a TODO near a type check based on a string comparison of the
class name.
Both `copy(DatasetVersion)` and `copy(Template)` still refer to
`copy(Object, DatasetFieldCompoundValue)`, because copying that method
would make the code less DRY.
@coveralls
Copy link

coveralls commented Oct 23, 2022

Coverage Status

coverage: 20.634% (+0.007%) from 20.627%
when pulling b143a89 on bencomp:overload-datasetfield
into a466c97 on IQSS:develop.

@bencomp
Copy link
Contributor Author

bencomp commented Oct 5, 2023

@sekmiller could you have a look at this? I think this was your code.

@bencomp
Copy link
Contributor Author

bencomp commented Oct 6, 2023

I just noticed that there actually was an issue that this PR closes: #1240 (I edited the PR description accordingly).

Perhaps @scolapasta could have a look at this PR, since he opened the issue many years ago?

@pdurbin pdurbin added Size: 3 A percentage of a sprint. 2.1 hours. Component: Code Infrastructure formerly "Feature: Code Infrastructure" labels Feb 28, 2024
@sekmiller sekmiller self-assigned this Jul 17, 2024
@sekmiller sekmiller removed their assignment Jul 17, 2024
@landreev landreev self-assigned this Jul 19, 2024
@landreev
Copy link
Contributor

Looks good. Built and tested locally. Automated tests are passing.
Merging.

@landreev landreev merged commit bfbfa4d into IQSS:develop Jul 19, 2024
11 checks passed
@pdurbin pdurbin added this to the 6.4 milestone Jul 19, 2024
@landreev landreev removed their assignment Jul 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: Code Infrastructure formerly "Feature: Code Infrastructure" Size: 3 A percentage of a sprint. 2.1 hours.
Projects
Status: Done 🧹
Development

Successfully merging this pull request may close these issues.

Cleanup: DatsetField factory methods
5 participants