import org.hibernate.annotations.CascadeType;
import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
+import eu.etaxonomy.cdm.model.common.RelationshipBase;
import eu.etaxonomy.cdm.model.reference.INomenclaturalReference;
import eu.etaxonomy.cdm.strategy.cache.BotanicNameDefaultCacheStrategy;
-import eu.etaxonomy.cdm.strategy.parser.ITaxonNameParser;
+import eu.etaxonomy.cdm.strategy.parser.INonViralNameParser;
import eu.etaxonomy.cdm.strategy.parser.NonViralNameParserImpl;
import java.util.*;
private boolean isAnamorphic;
private Set<HybridRelationship> hybridRelationships = new HashSet();
- static private ITaxonNameParser nameParser = new NonViralNameParserImpl();
+ static private INonViralNameParser nameParser = new NonViralNameParserImpl();
/**
if (nameParser == null){
nameParser = new NonViralNameParserImpl();
}
- return (BotanicalName)nameParser.parseFullName(fullNameString, rank);
+ return (BotanicalName)nameParser.parseFullName(fullNameString, NomenclaturalCode.ICBN(), rank);
}
/**
if (nameParser == null){
nameParser = new NonViralNameParserImpl();
}
- return (BotanicalName)nameParser.parseFullReference(fullNameAndReferenceString, rank);
+ return (BotanicalName)nameParser.parseFullReference(fullNameAndReferenceString, NomenclaturalCode.ICBN(), rank);
}
//needed by hibernate
return hybridRelationships;
}
-
+ public void addRelationship(RelationshipBase relation) {
+ if (relation instanceof HybridRelationship){
+ addHybridRelationship((HybridRelationship)relation);
+ }else {
+ super.addRelationship(relation);
+ }
+ }
public boolean isHybridFormula(){
return this.isHybridFormula;
}
+ @Transient
@Override
public NomenclaturalCode getNomeclaturalCode(){
return NomenclaturalCode.ICBN();