Fix GeneProduct cloning to copy required label and associatedSpecies #275
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR fixes sbmlteam/jsbml#252.
Previously, the
GeneProduct(GeneProduct nsb)copy constructor only called thesuper-constructor and did not copy the
label(required) orassociatedSpeciesfields. Since
clone()is implemented as:cloning a GeneProduct would result in a cloned instance missing these fields,
potentially producing invalid SBML.
The copy constructor is now:
so that both label and associatedSpecies are preserved when cloning.
Verification
Local compilation with Maven (core + fbc) succeeds using Java 11.
Cloning a GeneProduct now yields an equal instance with the same label
and associatedSpecies.
Fixes #252