ref #10397: check also for typespecimen
authorKatja <k.luther@bgbm.org>
Tue, 17 Oct 2023 10:25:48 +0000 (12:25 +0200)
committerKatja <k.luther@bgbm.org>
Tue, 17 Oct 2023 10:25:48 +0000 (12:25 +0200)
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/OccurrenceServiceImpl.java

index 22b0f562c5fd5fd951adc19cea01972d27ece91e..1f045c478dd031db3e974f70e1dd10ec9640ffb6 100644 (file)
@@ -86,6 +86,7 @@ import eu.etaxonomy.cdm.model.molecular.Sequence;
 import eu.etaxonomy.cdm.model.molecular.SingleRead;
 import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;
 import eu.etaxonomy.cdm.model.name.TaxonName;
+import eu.etaxonomy.cdm.model.name.TypeDesignationBase;
 import eu.etaxonomy.cdm.model.occurrence.DerivationEvent;
 import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
 import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent;
@@ -572,8 +573,6 @@ public class OccurrenceServiceImpl
                                if (determination.getTaxonName() != null && determination.getTaxonName().equals(taxon.getName()) || taxon.equals(determination.getTaxon())){
                                        isAssociated = true;
                                        break;
-//                             }else {
-//                                 isAssociated = false;
                                }
                         }
                         for (TaxonDescription desc: taxon.getDescriptions()) {
@@ -587,6 +586,16 @@ public class OccurrenceServiceImpl
                             }
                         }
 
+                        for (TypeDesignationBase desc: taxon.getName().getTypeDesignations()) {
+                            if (desc instanceof SpecimenTypeDesignation) {
+                                if (((SpecimenTypeDesignation)desc).getTypeSpecimen().getUuid().equals(derivedUnit.getUuid())) {
+                                    isAssociated = true;
+                                    break;
+                                }
+                            }
+
+                        }
+
                         if (!isAssociated) {
                                continue;
                         }