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
Additional:
* 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:
`SpecimenOrObservationBaseDTO`
* use IEnumTerm for recordBase
* rename property derivates to derivatives
* use DTO for `Set<IdentifiableSource> sources`
* remove the deprecated `getListLabel()` property