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     


 * 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** 

 Last TODOS: 


 * use IEnumTerm for recordBase 
 * rename property derivates to derivatives 
 * use DTO for `Set<IdentifiableSource> sources` 
 * remove the deprecated `getListLabel()` property