ref #9772: add collectors string with collector and collectorsnumber
authorKatja Luther <k.luther@bgbm.org>
Mon, 4 Oct 2021 10:54:37 +0000 (12:54 +0200)
committerKatja Luther <k.luther@bgbm.org>
Mon, 4 Oct 2021 10:54:37 +0000 (12:54 +0200)
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/dto/SpecimenOrObservationBaseDTO.java

index 993466d55d0ff4ffefd16787005367921ac98070..8db08fb7d69b30b2af6b7f0ae6b6488a56a3cd4a 100644 (file)
@@ -20,6 +20,8 @@ import java.util.Set;
 import java.util.TreeSet;
 import java.util.stream.Collectors;
 
+import org.apache.commons.lang.StringUtils;
+
 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.agent.AgentBase;
 import eu.etaxonomy.cdm.model.common.IdentifiableSource;
@@ -100,13 +102,15 @@ public abstract class SpecimenOrObservationBaseDTO extends TypedEntityReference<
             fieldUnit = getFieldUnit((DerivedUnit)specimenOrObservation);
         }
         if (fieldUnit != null){
-            AgentBase collector = fieldUnit.getGatheringEvent().getCollector();
-            String fieldNumberString = fieldUnit.getFieldNumber() != null ? " - " + fieldUnit.getFieldNumber(): "";
-
-
+            AgentBase collector = null;
+            if (fieldUnit.getGatheringEvent() != null){
+                collector = fieldUnit.getGatheringEvent().getCollector();
+            }
+            String fieldNumberString = fieldUnit.getFieldNumber() != null ? fieldUnit.getFieldNumber(): "";
             if (collector != null){
-                collectorsString = collector.getTitleCache() + fieldNumberString;
+                collectorsString = collector.getTitleCache();
             }
+            collectorsString = StringUtils.isBlank(collectorsString)? fieldNumberString: collectorsString + " - " + fieldNumberString;
         }
         addDeterminations(specimenOrObservation.getDeterminations());
         setDeterminations(specimenOrObservation.getDeterminations().stream()