import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
import eu.etaxonomy.cdm.api.service.IOccurrenceService;
+import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
+import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.description.IndividualsAssociation;
import eu.etaxonomy.cdm.model.description.TaxonDescription;
import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;
//TODO implement service method for this which is just used in the label provider
Collection<TaxonBase<?>> associatedTaxa = new HashSet<TaxonBase<?>>();
for (IndividualsAssociation individualsAssociation : individualsAssociations) {
- if(individualsAssociation.getInDescription() instanceof TaxonDescription){
- TaxonDescription taxonDescription = (TaxonDescription)individualsAssociation.getInDescription();
+ if(individualsAssociation.getInDescription().isInstanceOf(TaxonDescription.class)){
+ TaxonDescription taxonDescription = HibernateProxyHelper.deproxy(individualsAssociation.getInDescription(), TaxonDescription.class);
associatedTaxa.add(taxonDescription.getTaxon());
}
}
for (TaxonNameBase taxonNameBase : specimenTypeDesignation.getTypifiedNames()) {
Set taxa = taxonNameBase.getTaxa();
for (Object taxon : taxa) {
- if(taxon instanceof TaxonBase<?>){
- typedTaxa.add((TaxonBase<?>) taxon);
+ if(taxon instanceof CdmBase && ((CdmBase)taxon).isInstanceOf(TaxonBase.class)){
+ typedTaxa.add(HibernateProxyHelper.deproxy(taxon, TaxonBase.class));
}
}
}