task #9252
Updated by Andreas Kohlbecker over 3 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:
* 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