Revision 3e2e342d
Added by Patrick Plitzner over 9 years ago
- fixed ClassCastException
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/association/TaxonAssociationDetailElement.java | ||
---|---|---|
36 | 36 |
|
37 | 37 |
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade; |
38 | 38 |
import eu.etaxonomy.cdm.api.service.IOccurrenceService; |
39 |
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper; |
|
40 |
import eu.etaxonomy.cdm.model.common.CdmBase; |
|
39 | 41 |
import eu.etaxonomy.cdm.model.description.IndividualsAssociation; |
40 | 42 |
import eu.etaxonomy.cdm.model.description.TaxonDescription; |
41 | 43 |
import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation; |
... | ... | |
79 | 81 |
//TODO implement service method for this which is just used in the label provider |
80 | 82 |
Collection<TaxonBase<?>> associatedTaxa = new HashSet<TaxonBase<?>>(); |
81 | 83 |
for (IndividualsAssociation individualsAssociation : individualsAssociations) { |
82 |
if(individualsAssociation.getInDescription() instanceof TaxonDescription){
|
|
83 |
TaxonDescription taxonDescription = (TaxonDescription)individualsAssociation.getInDescription();
|
|
84 |
if(individualsAssociation.getInDescription().isInstanceOf(TaxonDescription.class)){
|
|
85 |
TaxonDescription taxonDescription = HibernateProxyHelper.deproxy(individualsAssociation.getInDescription(), TaxonDescription.class);
|
|
84 | 86 |
associatedTaxa.add(taxonDescription.getTaxon()); |
85 | 87 |
} |
86 | 88 |
} |
... | ... | |
100 | 102 |
for (TaxonNameBase taxonNameBase : specimenTypeDesignation.getTypifiedNames()) { |
101 | 103 |
Set taxa = taxonNameBase.getTaxa(); |
102 | 104 |
for (Object taxon : taxa) { |
103 |
if(taxon instanceof TaxonBase<?>){
|
|
104 |
typedTaxa.add((TaxonBase<?>) taxon);
|
|
105 |
if(taxon instanceof CdmBase && ((CdmBase)taxon).isInstanceOf(TaxonBase.class)){
|
|
106 |
typedTaxa.add(HibernateProxyHelper.deproxy(taxon, TaxonBase.class));
|
|
105 | 107 |
} |
106 | 108 |
} |
107 | 109 |
} |
Also available in: Unified diff