Actions
bug #7388
openinconsistent handling of null values passed to addNameRelation methods in TaxonName
Start date:
Due date:
% Done:
0%
Estimated time:
Severity:
normal
Found in Version:
Description
addBasionym() ignores retuns null and addRelationshipToName() throws an exception
@Override
public NameRelationship addBasionym(TaxonName basionym, Reference citation, String microcitation, String ruleConsidered){
if (basionym != null){
return basionym.addRelationshipToName(this, NameRelationshipType.BASIONYM(), citation, microcitation, ruleConsidered);
}else{
return null;
}
}
public NameRelationship addRelationshipToName(TaxonName toName, NameRelationshipType type, Reference citation, String microCitation, String ruleConsidered){
if (toName == null){
throw new NullPointerException("Null is not allowed as name for a name relationship");
}
NameRelationship rel = new NameRelationship(toName, this, type, citation, microCitation, ruleConsidered);
return rel;
}
I think addBasionym()
should behave the same as addRelationshipToName()
and should throw an exception.
Updated by Andreas Kohlbecker almost 6 years ago
- Subject changed from inconsistent handling of null valued passed to addNameRelatinon methods in TaxonName to inconsistent handling of null values passed to addNameRelation methods in TaxonName
Updated by Andreas Kohlbecker almost 6 years ago
The addReplacedSynonym()
again follows a completely different philosophy:
//TODO: Check if true: The replaced synonym cannot have itself a replaced synonym (?).
@Override
public void addReplacedSynonym(TaxonName replacedSynonym, Reference citation, String microcitation, String ruleConsidered){
if (replacedSynonym != null){
replacedSynonym.addRelationshipToName(this, NameRelationshipType.REPLACED_SYNONYM(), citation, microcitation, ruleConsidered);
}
}
Updated by Andreas Kohlbecker almost 6 years ago
refactoring of other name relationship related methods in 7a72a0fe
Updated by Andreas Müller almost 6 years ago
Actions