task #9252

Updated by Andreas Kohlbecker over 2 years ago

Problems with the current implementations: 

 * Naming:  
     * PreservedSpecimenDTO should be named DerivedUnitDTO 
     * DerivateDTO should be named    SpecimenOrOberservationDTO 
 * Terms:  
     * term representations need to be localized 
     * fields containing localized term representations are to be named `{fieldname}_L10n` 
 * Factory methods 
     * clear naming etc.... 
     * construction of DTO should be done in factory methods instead of having this code in service methods and utilizing setters to populate the DTO with field values , see  
         * `OccurrenceServiceImpl.assembleFieldUnitDTO(FieldUnit fieldUnit)` 
         * `OccurrenceServiceImpl.findFieldUnitDTO(SpecimenOrObservationBaseDTO, Collection<FieldUnitDTO>, HashMap<UUID, SpecimenOrObservationBaseDTO>)` 
         * `OccurrenceServiceImpl.loadFieldUnitDTO(UUID)` 
 * DTO classes should extend TypeEntityReference instead of UuidAndTitleCache 

 Solving this ticket is a prerequisite for straight forward harmonization of the different specimen representations #8419     


 * DerivateDataDTO: 
     * find better class name 
     * Use List<MediaDTO> instead of List<Link> 
     * Use List<TypeEntityReference> instead of List<UUID> 

 * add missing fields (example values for *Glenodinium apiculatum* as in integration reference db) 
   * Stored under: Glenodinium apiculatum Ehrenb. 
   * Collection: CEDiT at Botanic Garden and Botanical Museum Berlin-Dahlem (BGBM) 
   * Original label info: Glenodimium spec. determination pending. 
   * Determinations: Glenodinium apiculatum Ehrenb., 2016-12-01, Kohlbecker, A.,  
   * Exsiccatum:    D. Veloper