ref #10397: add check for IndividualsAssociation
authorKatja Luther <k.luther@bgbm.org>
Mon, 16 Oct 2023 10:59:54 +0000 (12:59 +0200)
committerKatja Luther <k.luther@bgbm.org>
Mon, 16 Oct 2023 10:59:54 +0000 (12:59 +0200)
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/OccurrenceServiceImpl.java

index 861f52db264a7f5fdda3bda93ad091330bc08c3a..22b0f562c5fd5fd951adc19cea01972d27ece91e 100644 (file)
@@ -567,25 +567,25 @@ public class OccurrenceServiceImpl
                     DerivedUnitDTO derivativeDTO;
                     if (!alreadyCollectedUnits.containsKey(unit.getUuid())){
                         DerivedUnit derivedUnit = (DerivedUnit)unit;
-                        boolean isAssociated = true;
+                        boolean isAssociated = false;
                         for (DeterminationEvent determination:derivedUnit.getDeterminations()) {
                                if (determination.getTaxonName() != null && determination.getTaxonName().equals(taxon.getName()) || taxon.equals(determination.getTaxon())){
                                        isAssociated = true;
                                        break;
-                               }else {
-                                   isAssociated = false;
+//                             }else {
+//                                 isAssociated = false;
+                               }
+                        }
+                        for (TaxonDescription desc: taxon.getDescriptions()) {
+                            for (DescriptionElementBase descElement: desc.getElements()) {
+                                if (descElement instanceof IndividualsAssociation) {
+                                    if (((IndividualsAssociation)descElement).getAssociatedSpecimenOrObservation().getUuid().equals(derivedUnit.getUuid())) {
+                                        isAssociated = true;
+                                        break;
+                                    }
+                                }
                             }
                         }
-//                        for (TaxonDescription desc: taxon.getDescriptions()) {
-//                            for (DescriptionElementBase descElement: desc.getElements()) {
-//                                if (descElement instanceof IndividualsAssociation) {
-//                                    if (((IndividualsAssociation)descElement).getAssociatedSpecimenOrObservation().getUuid().equals(derivedUnit.getUuid())) {
-//                                        isAssociated = true;
-//                                        break;
-//                                    }
-//                                }
-//                            }
-//                        }
 
                         if (!isAssociated) {
                                continue;