if(name == null){
this.name = nonViralNameParser.getNonViralNameInstance("", PreferencesUtil.getPreferredNomenclaturalCode());
}else{
- this.name = (INonViralName) HibernateProxyHelper.deproxy(name);
+ this.name = HibernateProxyHelper.deproxy(name);
}
}
public static TaxonName parseName(String unparsedNameString, Rank rank){
INonViralName name = nonViralNameParser.parseFullName(unparsedNameString,
PreferencesUtil.getPreferredNomenclaturalCode(), rank);
-
+
return (TaxonName)name;
}
resolveDuplicateReferences(name, matchMatrix);
- if(matchMatrix.duplicateInReferences != null) {
- resolveDuplicateInReferences(name, matchMatrix);
- }
+// if(matchMatrix.duplicateInReferences != null) {
+// resolveDuplicateInReferences(name, matchMatrix);
+// }
}
INomenclaturalReference duplicate = matchMatrix.duplicateReferences.iterator().next();
name.setNomenclaturalReference(duplicate);
}
+ //if reference is new but the in reference is already in db
+ if (matchMatrix.duplicateReferences.size() == 0 && name.getNomenclaturalReference().getInReference() != null && matchMatrix.duplicateInReferences.size() > 0){
+ resolveDuplicateInReferences(name, matchMatrix);
+ }
}
/**
* @param name The name to resolve duplicates for.
*/
- private void resolveDuplicateInReferences(INonViralName name, MatchMatrix matchMatrix) {
- Reference reference = (Reference) HibernateProxyHelper.deproxy(name.getNomenclaturalReference());
+ private void resolveDuplicateInReferences(INonViralName name, MatchMatrix matchMatrix) {
+ Reference reference = HibernateProxyHelper.deproxy(name.getNomenclaturalReference());
if(matchMatrix.duplicateInReferences.size() > 0){
Reference inReference = (Reference) matchMatrix.duplicateInReferences.iterator().next();
if(matchMatrix.duplicateCombinationAuthorships.size() > 0){
name.setCombinationAuthorship(matchMatrix.duplicateCombinationAuthorships.iterator().next());
- Reference reference = (Reference) name.getNomenclaturalReference();
+ Reference reference = name.getNomenclaturalReference();
if(reference != null){
reference.setAuthorship(matchMatrix.duplicateCombinationAuthorships.iterator().next());
}