task #9252

Updated by Andreas Kohlbecker about 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.    - **DONE** 
   * Original label info: Glenodimium spec. determination pending.    - **DONE** 
   * Determinations: Glenodinium apiculatum Ehrenb., 2016-12-01, Kohlbecker, A.,     - **DONE** 
   * Exsiccatum:    D. Veloper    - **DONE**